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