Introduction To Computational Media (ICM)

Shawn Van Every Shawn.Van.Every@nyu.edu
Fridays 3:30 PM - 6:00 PM
Fall 2006
H79.2233 Section 1

Important Resources:

Syllabus (this page): http://itp.nyu.edu/~sve204/icm_fall06/
Main ICM Page: http://itp.nyu.edu/ICM/
ICM Mailing List: http://forums.nyu.edu/cgi-bin/nyu.pl?enter=itp-icm
Homework Wiki: https://www.itp.nyu.edu/~sve204/cgi-bin/pwiki/wiki.pl?HomeWork

Book:

Dan Shiffman has been working on an ICM book tentatively entitled "Pixels, Patterns and Processing".
You may purchase a copy at: New University Copy & Graphics, 11 Waverly Place (between Mercer & Greene). Use Dan Shiffman's name as the instructor (it isn't listed under my name) and Introduction to Computation Media as the course name.
Additionally, Dan has a website up for feedback (which is highly encouraged): http://book.shiffman.net.

Administrative:

Office Hours:

Tuesdays and Thursdays 2 PM - 4 PM
Signup: https://www.itp.nyu.edu/~sve204/cgi-bin/pwiki/wiki.pl?OfficeHours

Grading:

20% Assignments
20% Class Participation
30% Final Project
15% Paper
15% Midterm

Attendance:

Mandatory, unexcused absences will affect your final grade. If you are going to be absent, please let me know ahead of time if you can.

Tardiness:

Excessive lateness will affect your grade. Don't be late.

Laptops:

Laptop use is prohibited while other students are presenting or during discussion. While I am lecturing you may use them for note taking or class related work. In other words, respect your fellow students and don't check your email.

Weekly Rundown:

Week 1 - September 8

Introductions, Syllabus, Programming in English and Processing
Handout
Assignment:
  • Install and familarize yourself with Processing
  • Program your drawing in Processing
  • Draw something else (of course, in Processing)
  • Reading:
  • As We May Think, Vannevar Bush
  • Chapter 1 and 2 of Dan Shiffman's book.

  • Week 2 - September 15

    Basic Constructs: Loops, Conditionals and Variables
    Being Effective: Program Flow and Algorithms
    Handout
    Assignment: (choose one)
  • Make a ball bounce around the screen
  • Make a kaleidoscope
  • Make a painting program
  • Create something else, perhaps a classic arcade style game.
  • Reading:
  • The Graphical Revolution, Chapter 25 of CODE The Hidden Language of Computer Hardware and Software
  • Chapter 3, 4, 5 and 6 of Dan Shiffman's book.

  • Week 3 - September 22

    Modularity: Functions and Objects
    Handout
    Assignment: (choose one)
  • Redo your previous assignment using objects
  • Create an organism that responds to the mouse or keyboard
  • Create something else of your own devising
  • Reading:
  • Pattern on the Stone, W. Daniel Hillis: Chapter 9, Beyond Engineering
  • Chapter 7 and 8 of Dan Shiffman's book.

  • Week 4 - September 29

    Many of the same: Arrays and Iteration
    Handout
    Assignment:
  • Redo a previous assignment with multiple objects (use arrays and objects)
  • Create many of something new and have them behave independently (use arrays and objects)
  • Reading:
  • The Cathedral and the Bazaar
  • Chapter 9 and 10 of Dan Shiffman's book
  • .

    Week 5 - October 6

    Strings and Networking
    Handout
    Assignment: Create a piece that uses data retrieved from the network. Do not use an old project, do something new and different.
    Reading:
  • Chapter 14 and 15 of Dan Shiffman's book.

  • Week 6 - October 13

    Hooking up with PComp: Microcontrollers
    AND Gimme Eyes: Cameras
    Handout
    Assignment:
  • Create something that uses input from something other than a keyboard or mouse.
  • Come up with a midterm idea (diagram it) and prepare to discuss in class.
  • Reading:
  • Chapter 12 and 13 of Dan Shiffman's book.

  • Week 7 - October 20

    Review and Midterm Workshop
    Handout
    Assignment:
  • Finish midterm
  • Reading:
  • Chapter 10 of Dan Shiffman's book.

  • Week 8 - October 27

    Show Midterms
    Assignment:
  • Paper: Write a short 2 to 3 page story about a day in your life 10 years in the future.
    Some suggestions: Citizen journalists swarm you after finding out about your new dream control software; Cyborg has become the fashion and you need some body work before you go to a party; Your video databank has been corrupted and you have a deadline in the morning.

    Week 9 - November 3

    Loose Ends
    Mmmn.. I like Java
    Handout
    Assignment:
  • Try out the Video Tracking Example, Modify it to do something more interesting.
  • Incorporate ArrayList and Rectangle into it.
  • Chapter's 12, 13, 19 and 20 of Dan Shiffman's Book

  • Week 10 - November 10

    Other Topics: One of the Following - More with Video/Still Image Processing, Sound, Client/Server, GUI Development, Rotation/Translation, Mobile Processing..
    Handout
    Assignment:
    Prepare your final project proposal (in the form of a website)
    It should include the following:
  • Project name or title
  • Short description
  • Materials: References such as other software, applets, code, video, websites and so on.
  • Development plan: Pseudo code, diagram or other documents that you can start with

  • Week 11 - November 17

    Final Project Proposals
    Other Topics: One of the Following - Video/Still Image Processing, Sound, Client/Server, GUI Development, Rotation/Translation, Mobile Processing..
    Java GUI example
    Rotate/Translate example


    No Class - November 24


    Week 12 - December 1

    Do it again, Intro to PHP
    PHP and Processing

    Week 13 - December 8

    Final Project Workshop

    Week 14 - December 15

    Let's See it! Show final projects