Topic outline

  • The instructions, schedule and materials for the advanced group of the course can be found on this page. We'll use Processing for this track, so if you're using your own laptop – highly recommended – download the tool before we start and make sure it works. Thursday and Friday computer classroom sessions will be held at M102 unlike the Monday lectures. Note that there are no lectures on workshop weeks.

    Schedule

    • Sep 7: Arrangements, setting up, basic graphics in Processing
    • Sep 8: Variables and basic types, type conversion, comments
    • Sep 14: Math in processing, Interactive sketches with mouse, formatting
      Homework: Modify the smiley face sketch so that the face moves with the mouse cursor. If you lost yours, use this. Solution.
    • Sep 15: *** No lecture, Markku in a conference ***
    • Sep 21: Flow control: if, if-else, switch-case
      Homework: Draw squares for each frame at mouse coordinates so that the colors follow the flag of Belgium. Extra challenge: solve it with switch-case. Solution and another.
    • Sep 22: Flow control: for, while and do-while loops, nested loops
      Homework: Make a grid of 10x10 white squares. The square under the mouse cursor should be red. Expected outcome. Solution.
    • Sep 28: Arrays, arrays with loops
      Homework: Make an int array containing:
      100,100,#ff0000, 500,200,#00ff00, 300,500,#0000ff, 200,400,#808080
      Plot the data using a loop. Expected outcome. Solution 1 and solution 2.
    • Sep 29: Functions: parameters and return values (recursion, if time allows)
      Homework: Smiley face once more. Make a function smiley() that lets you plot the face at given x,y location. Call it from draw() with mouse coordinates when the button is pressed. Expected outcome. Solution.


    • Oct 5: Dealing with text: displaying, searching and joining Strings. Random numbers.
      Homework: Make a little creative experiment using text and random numbers.
    • Oct 6: Basics of object-oriented programming
      Homework: make a class called Cat and two cat objects that can display themselves. They follow the mouse pointer around. Something like this. Solution.
    • Oct 12: More advanced object-oriented programming, inheritance and protecting members
    • Oct 13: Callbacks, images, recap of the 1st part
      Homework: Make a little creative experiment using PImages. Extra challenge: make the rubber band selection work in all directions.
    • Oct 26: Text file input and output, splitting and trimming
      Homework: Solve the mystery. Solution.
    • Oct 27: Data structures: liststreeshash tables.
      Homework: Let the user draw with the left mouse button. Store the coordinates in a list. Key 'u' should work as undo and remove the last dot. Expected outcome. Solution.


    • Nov 2: Sorting strings, numbers and objects, making an object list. Online on Zoom 10:15, see your email/announcement forum.
      Homework: read in the list of famous Western actors and display it in the sketch window in an alphabetical order. Expected outcome. Solution.
    • Nov 3: Distances, angles and circles, affine transformations. Online on Zoom 10:15, see your email/announcement forum.
      Homework: download arrows.pde and add transformations so that you get this out. Solution.
    • Nov 9: More transformations, vectors and matricesOnline on Zoom 10:15, see your email/announcement forum.
    • Nov 10: Direct pixel access. Online on Zoom 10:15, see your email/announcement forum.
      Homework: display Bub and Bob in a window of 600x600 pixels using direct pixel access (PImages have loadPixels and pixels[] too). Expected outcome. Solution.
    • Nov 16: Hex, binary and decimal numbers, logical operations on pixels. Online on Zoom 10:15, see your email/announcement forum.
      Homework: invert archery.png colors using pixel-level operations. Expected outcome. Solution.
    • Nov 17: Video input, built-in and own filters. Online on Zoom 10:15, see your email/announcement forum.
    • Nov 23: Loading and playing back audio, sound synthesis. Note frequencies.
    • Nov 24: More sound synthesis. Online on Zoom 10:15, see your email/announcement forum.
    • Nov 30: Conway's Game of Life simulation. Online on Zoom 10:15, see your email/announcement forum.
      Extra homework: try to make the neighbors() logic for life.pde using loops instead.


    • Dec 1: Wrapping up, what's next? Online on Zoom 10:15, see your email/announcement forum.

    Links