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 8: Arrangements, setting up, basic graphics in Processing
    • Sep 9: Variables and basic types, type conversion, comments
    • Sep 15: Math in processing, Interactive sketches with mouse, formatting. Online. 
      Homework: make a little animation using setup, draw and variables.
    • Sep 16: Flow control: if, if-else, switch-case. Online.
      Homework: flag of Belgium paint program using if/if-else and mouse button, see picture.
    • Sep 22: Flow control: for, while and do-while loops, nested loops.
      Homework: using loops, draw a grid of rectangles and make the mouseover work. See picture.
    • Sep 23: Arrays, arrays with loops.
      Make an int array with the following x/y/color content: 100,100,#ff0000, 500,200,#00ff00, 300,500,#0000ff, 200,400,#808080. Plot the data using a for loop. Expected outcome.
    • Sep 29: Functions: parameters and return values (recursion, if time allows)
      Homework: make a function that draws a smiley face at x,y. Call it from draw with mouse coordinates. Expected outcome.
    • Sep 30: Dealing with text: displaying, searching, replacing


    • 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.
    • Oct 7: More advanced object-oriented programming, inheritance and protecting members
    • Oct 13: Callbacks, images, recap of the 1st part
      Homework: make a creative experiment using PImage.
    • Oct 14: Text file input and output, splitting and trimming
      Homework: solve the mystery.
    • Oct 27: Data structures: lists, trees, hash tables
      Homework: using an IntList let the user draw with the mouse. Pressing 'u' will undo the drawing step by step. Expected outcome.
    • Oct 28: Sorting strings, numbers and objects, making an object list
      Homework: read in the list of famous Western actors and display it in the sketch window in an alphabetical order. Expected outcome.


    • Nov 3: Distances, angles and circles, affine transformations
      Homework: download arrows.pde and add transformations so that you get this out.
    • Nov 4: More transformations, vectors and matrices
    • Nov 10: Direct pixel access
      Homework: display Bub and Bob in a window of 600x600 pixels using direct pixel access (PImages have loadPixels and pixels[] too). Expected outcome.
    • Nov 11: Hex, binary and decimal numbers, logical operations on pixels
      Homework: invert archery.png colors using pixel-level operations. Expected outcome.
    • Nov 17: Video input, built-in and own filters
    • Nov 18: Network programming, server and client using TCP
      Homework: make a server (800x600) where users can place images by sending telnet messages. Expected outcome. Test feed (tip: trim the received string to remove trailing garbage):
      100,100,http://www.kameli.net/~marq/cad/player.jpg
      500,300,http://www.kameli.net/~marq/cad/football.png
    • Nov 24: Loading and playing back audio, synthesis. Note frequencies.
    • Nov 25: More synthesis



    Links