Introduction to Computational Media

Daniel Shiffman
daniel.shiffman@nyu.edu
General ICM: http://itp.nyu.edu/icm/
Office Hours: http://www.shiffman.net/coursewiki/index.php?title=Office_Hours
Homework Wiki: https://itp.nyu.edu/~dbo3/cgi-bin/itp/itp.cgi?ICM_Shiffman_Fall_06
Textbook site: http://book.shiffman.net

For last year’s site, with some intro tutorials, please visit: http://itp.nyu.edu/ICM/shiffman

Week 1 — Introduction

  • Read Chapters 1-3 from draft textbook.
  • Read “Microcomputer Systems” handout.
  • Week 1 tutorial from 2005.
  • Sign up for course mailing list.
  • Suggested: try all exercises in Chapters 1-3. Post thoughts and comments to the book forum.
  • Homework: Upload your version of Exercise 2.8a, page 38. Post link to the wiki.
  • Week 2 — Interaction & Variation

  • Read Chapters 4-6 from draft textbook.
  • Suggested: try all exercises in Chapters 4-6. Post thoughts and comments to the book forum.
  • Homework: Take your design from week 1 and make it “dynamic.” For example, develop a set of rules for moving it around the screen, have it grow and shrink, change colors, etc. Can you make it respond to mouse interactivitiy? Start by working in pairs (according to the wiki.) You can post as a group or break off and complete the assignment individually.
  • Read Hackers and Painters, Paul Graham
  • Week 2 handout from 2005.
  • Suggested: Examine the following four applets — can you recreate them in Processing? lab 1, lab 2, lab 3, lab 4
  • Week 3 — Modularity

  • Read Chapters 7-8 from draft textbook.
  • Week 3 tutorial from 2005.
  • Reading: Cathederal and the Bazaar, Eric S. Raymond
  • Homework: Re-organize the code of a previous assignment or example using functions and objects. Start again by working in pairs (new ones according to the wiki.) You can post as a group or break off and complete the assignment individually.
  • Suggested: Recreate this applet using a function.
  • Suggested: Write out pseudo-code in English for this applet. Then re-create it using objects in Processing. This one is hard, don’t implement the whole thing all at once, use a step-by-step approach!
  • Week 4 — Arrays and Iteration review

  • Review Chapter 6 from draft textbook.
  • Read Chapter 9 from draft textbook.
  • Read Chapter 10 from draft textbook and start thinking about a project you might like to make and how you might break it down into smaller pieces. (For the midterm, you will be asked to develop one piece of a larger project.)
  • Week 4 handout from 2005.
  • Homework: Take an object you developed for week 3′s homework and duplicate the object using an array and loop. Can you vary the look and behavior of each individual object? Post your work to the wiki. Feel free to work individually or in pairs (no pairs will be assigned this week.)
  • Suggested: Examine the following four applets — can you recreate them in Processing? lab 1, lab 2, lab 3, lab 4
  • Week 5 — Strings and Networking

  • Read Chapters 14-16 from draft textbook.
  • Read Selfish Gene, Dawkins.
  • 2005 Handout with examples
  • Dano’s Handout
  • Library for doing Asynchronous HTTP requests, and simple XML data retrieval
  • Assignment: Create a Processing applet that uses input from a text file or URL.
  • Week 6 — Beyond the basics

  • Serial, Video
  • Read Chapters 12-13 from draft textbook (images/video).
  • Read Chapter 16 (NOTE: Serial info is missing, to come soon!!)
  • Examples from Dano
  • 2005 Handout with examples
  • Work with serial or video input. Think about an idea for a midterm project. Feel free to think of your midterm on as grand a scale as you like, however, the midterm assignment will involve implementing one step of a larger project. Remember, it’s only a one week assignment!
  • Week 7 — Midterm Workshop

  • Read Chapter 11 from draft textbook.
  • Week 8 — Show Midterm

    Week 9 — Java!

  • Handout from 2005
  • Read Chapter 20
  • An additional example using ArrayList and Rectangle.
  • Week 10 — Propose Final Projects

  • More imaging and video, Chapters 12-13
  • Week 11 — Propose Final Projects

  • Final Project Proposals due on wiki
  • PHP, see Dano’s handout and Shawn’s handout
  • Translation and Rotation, Chapter 11
  • Week 12 — Final Project Workshop

    Week 13 — Final Project Workshop

    Week 14 — Final Project Presentations

    Requirements: (no incompletes)

  • 50% homeworks
  • 30% final project
  • 20% class participation, attendance
  • Reading

  • Draft Textbook. Purchase at New University Copy & Graphics 11 Waverly Place (between Mercer & Greene) Ask for Introduction to Computational Media Instructor: Daniel Shiffman
    • http://usuarios.iponet.es/imoreta/ owd

      Just a pair of lines:
      A lot of thanks for your work, Daniel.
      This’s great.

      Best,

      Nach.