Introduction to Physical Computing (adapted from Tom Igoe's Syllabus)

Fall 2005

Instructor: Michael Schneider Wednesday 9:30AM - 12PM Office hours: Many Monday evenings 6:30 - 8 Email me: mluck (at) nyu (dot) edu

Physical Computing is an approach to learning how humans communicate through computers that starts by considering how humans express themselves physically. In this course, we take the human body as a given, and attempt to design computing applications within the limits of its expression.

To realize this goal, you'll learn how a computer converts the changes in energy given off by our bodies (in the form of sound, light, motion, and other forms) into changing electronic signals that it can read interpret. You'll learn about the sensors that do this, and about very simple computers called microcontrollers that read sensors and convert their output into data. Finally, you'll learn how microcontrollers communicate with other computers.

Physical computing takes a hands-on approach, which means that you spend a lot of time building circuits, soldering, writing programs, building structures to hold sensors and controls, and figuring out how best to make all of these things relate to a person's expression.

Week 1 (Jan 18):

(week 1 notes)

  • Introductions, Class structure, Digital vs. Analog
  • Intro to Electronics: Definition of components, reading a meter, reading a schematic, Ohm's Law
  • Soldering (thanks to Jeff Feddersen for the link)

Assignment:

Reading:

Week 2 (Jan 25):

(Class 2 notes)

Assignment:

  • Lab: first PIC program Document HERE
    • Choose a part of the body and design a switch for it specifically, prototype if possible post Here
  • Begin observation project (group project) Document Here
    • Probably the toughest this is to try to "only" observe, no thoughts on what to make.
  • Extra assignment for week 3/4: Attend a Tool safety session in the shop

Reading:

Week 3 (Feb 1):

(week 3 notes)

Assignment:

  • Lab: Analog in; tracking changes with variables; practical jokes
  • Observation assignment, propose prototype, story board and cheap prototype.

Reading:

Week 4 (Feb 8):

(week 4 notes)

Assignment:

Reading:

  • Myron Krueger, "Responsive Environments", in Packer & Jordan, Multimedia: From Wagner to Virtual Reality, ch. 12, pp. 104-120. (in coursepack)Kreuger Response

Week 5 - (FEb? 15):

Assignment:

Reading: Applications, TBA

Week 6 (Feb 22):

Assignment:

Reading:

  • Nørretranders, User Illusion, ch. 6, "The Bandwidth of Consciousness" (in coursepack)

Week 7 (Mar 1):

  • MIDI and other control protocols
  • Presentations Due: device/instrument/tool project advanced prototype

Assignment:

Week 8 (Mar 8):

Assignment:

  • Decide on which project you want to re-do for your final; be prepared to talk about it next week.
  • Reading: Applications: TBA

Week 9 (Mar 22):

  • Shift registers (SPI interface)
  • Qprox
    • This sensor measures capacitance and works through non-conductive materials simple and cheap, probably used in the ipod
    • Code time
  • Code approaches: State machines, pseudocode, using subroutines well
  • Begin Final Project (group or individual)

Reading:

  • Hoffman, Visual Intelligence, ch. 7, pp.172-184 (in coursepack)

Week 10 (Mar 29):

  • Video Tracking
  • Presentations Due: Present final project concepts. Show observations
  • Project workshop
  • Talk about Final Project (group or individual)PLEASE PUT A LINK TO YOUR PROJECT ON THE PROJECTS PAGE
  • Individual meetings

Assignment

Week 11 (April 5):

  • Presentations Due: Final Project: show technical research (projects selected at random)
  • Synchronous serial or other topic TBA at instructor's discretion

Week 12 (April 12):

  • Presentations Due:Final: show prototypes and user research (projects selected at random)

Week 13 (April 19):

  • Presentations Due:Final Project Presentation (half of projects)

Week 14 (April 26):

  • Presentations Due:Final Project Presentation (half of projects)


Page last modified April 04, 2006, at 09:56 PM