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