Introduction To Computational Media (ICM)

Shawn Van Every Shawn.Van.Every@nyu.edu
Thursdays 3:30 PM - 6:00 PM
H79.2233 Section 5

Important Resources:

Syllabus (this page): http://itp.nyu.edu/ICM/shawn
Main ICM Page: http://itp.nyu.edu/ICM/
ICM Mailing List: http://forums.nyu.edu/cgi-bin/nyu.pl?enter=itp-icm
Homework Wiki: http://stage.itp.tsoa.nyu.edu/~dbo3/cgi-bin/itp/itp.cgi?ICM_VanEvery_Fall_05

Administrative:

Office Hours:

Tuesdays 12 PM - 2 PM
Signup: http://itp.nyu.edu/~dbo3/cgi-bin/itp/itp.cgi?ShawnOfficeHours (moved because of spam)

Grading:

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

Attendence:

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 in progress.

    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
  • Suggested Reading: Chapter 3, 4 and 5 of Dan Shiffman's book in progress.

    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
  • Suggested Reading: Chapter 7 and 8 of Dan Shiffman's book in progress.

    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
  • Suggested Reading: Chapter 6 and 9 of Dan Shiffman's book in progress.

    Week 5 - October 6

    Hooking up with PComp: Microcontrollers
    AND Gimme Eyes: Cameras
    Handout
    Assignment:
  • Create something that uses input from something other than a keyboard or mouse.
  • Reading:
  • Logic and Switches, Chapter 10 of CODE The Hidden Language of Computer Hardware and Software
  • Chapter 11 of Dan Shiffman's book in progress.

    Week 6 - October 13

    Review and Midterm Overview
    Handout
    Assignment:
  • Come up with a midterm idea, start on in it (diagram, psuedo code and start programming) and prepare to discuss in class.

  • Week 7 - October 20

    Midterm Workshop
    Tic-Tac-Toe
    Assignment:
  • Finish midterm

  • 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

    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.

    Week 10 - November 10

    Mmmn.. I like Java
    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

    Week 12 - December 1

    Final Project Workshop 1
    PHP and Processing

    Week 13 - December 8

    Final Project Workshop 2
    Handout

    Week 14 - December 15

    Let's See it! Show final projects