Topic outline

  • The workshop takes place on Zoom from 10:15 to 16:00 every day of the week. You'll receive the link by email, so keep checking your Aalto email.

    • Monday Oct 19: Kickoff, more object-oriented programming, basic file input/output
      • What we will cover and why
      • Recapping OOP and some advanced topics: encapsulation, classes, objects, attributes, methods, constructors, inheritance, object arrays
      • Reading text files, visualization project, ratios
      • If time allows, creative programming exercise(s), see Human or Machine by A. Michael Noll
    • Tuesday Oct 20: Typical data structures, scraping, file types, parsing
      • Dynamic data structures: lists, trees and hash tables, how to do them in Processing/Java
      • Some ways of getting data off the Web: plain copypastescraping tools, crawling, databases, APIs
      • Flat text files, spreadsheets, CSV/TSVJSON, HTML, XML
      • Writing to text files, bridging Excel and Processing
      • String splitting (tokenization) and trimming
      • If time allows, regular expressions
    • Wednesday Oct 21: Sorting, some trigonometry, geometrical transformations
      • Sorting strings and numbers
      • Finding distances, directions and angles, revisiting sine/cosine
      • Right- and left-handed coordinates
      • Affine transformations: rotation, scaling, translation, the transformation stack
      • If time allows, creative programming exercises with transformations
    • Thursday Oct 22: Direct pixel access, low-level bit operations, video input and filtering
      • Window and image pixel handling in Processing, ARGB
      • Bit operations: and, or, xor, not, shifting, hex and binary notation
      • Using a webcam in Processing
      • Built-in image filters, own filters
      • If time allows, more creative fiddling with real-time video filtering
    • Friday Oct 23: Event handling, larger exercise, wrapping up
      • Event-driven programming model once more, mouse and keyboard events for user interaction
      • More visualizations and creative programming: Game of Life
      • Recap of the week, what's next?


    We'll do plenty of little exercises every day: some on data visualization, others more creative when time allows. Install Processing (freely available) and you're all set. Note that you need to have taken Introduction to Creative Coding or an earlier Software Studies course or obtained similar skills otherwise – we won't cover Processing basics here.