Andrew@Milmoe.com

 

 

Introduction to Physical Computing
Adjunct Professor Andrew G. Milmoe
Wednesdays 6:30pm - 9:00pm
H79.2301.05 - Fall 2004

- Course Description
- Projects
- The ITP Physical Computing Homepage
- Links to (nearly) all things Physical Computing
- Recommended reference and reading material
- Student Journals

Stuff to Get:

- Parts you'll need for Intro. to Physical Computing
- A useful starter toolkit
- Parts, suppliers and part numbers of some items in the lab
- Parts sold at the NYU computer store:
(242 Greene Street. Phone: 212.998.4672)

Class topics and assignments by week:

1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 -
9 - 10 - 11 - 12 - 13 - 14

Office hours

Monday 6:00pm to 9:00pm
by appointment. Schedule appointments in advance by e-mail

 

Note: This page contains links out to some of the extensive Physical Computing resources on the ITP web site rather than reproducing their content here...

Students enrolled in this course should bookmark this page and check back weekly as information is subject to change.

Top

Course Description

This course expands the students' palette for physical interaction design with computational media. We look away from the limitations of the mouse, keyboard and monitor interface of today's computers, and start instead at the untapped expressive capabilities of the the human body. We consider uses of the computer for more than just information retrieval and processing, and at locations other than the home or the office. The platform for the class is a microcontroller, a single-chip computer the size of a postage stamp, programmed using BASIC. The core technical concepts are digital, analog and serial input and output. Students have two large projects to build skills with the microcontroller and related tools, and a final assignment in which they apply the principles from weekly assignments in a creative application. There are also weekly readings on related topics, and students are expected to maintain an online journal of their progress in the course.

 

 

 
Top

Lab Assignments:

There is a lab activity for nearly every class in the semester. They are very short, simple activities. These are the basic steps you need to go through to understand the principle discussed in class each week. They're designed to help you not only to understand the technical details, but also to get a feel for what the technologies we're discussing can do, so that you can incorporate them into actual applications. There are application suggestions in many of them as well. I expect that each student will at least complete the steps outlined in the lab activity each week, so that you understand practically what it is we're talking about. Document any discoveries you make, pitfalls you hit, and details not covered in the class or the lab that you think will be useful for your fellow students and future students in this class.

Projects

There are three assigned projects during the semester. These are three-week assignments in which you observe a possible situation in which you might use physical computing, develop and build a prototype to fit the situation, test it, and report on it.

For one of the first two projects, you will be assigned to work in a group. For the other project, and for the final, you may work alone or in groups, as you choose. There will be four to seven assigned groups, depending on class size. Half the groups will be featured on the first project, and half will be featured on the second. When your group is one of the featured groups, you'll present during all three weeks of the project. Even when you're not featured, you should complete the project and document your work online (see journal, below).

Each week, the featured groups will present their work on the project. In the first week, you'll present the location or situation you observed, and what you propose to do there. In the second week, you'll present your prototype, at least partially working. You should also explain the technologies used in this week, particularly if you're using a new sensor or device. In the third week, you'll present the working prototype and report on what you observed when people used it.

More details on the projects can be found in the project brief.


My Notes:

 

Top

Student Journals:

Chia Hao Cheng
Dimitri Darras
Richard Hauck
Lamar Hines
Wlodek Koss
John Schimmel
Jennifer Tran
David Yates

Journal & Documentation:

You will be expected to keep an online journal of your work in this class. Think of it as a letter to the next group to take this class: the tricks you found that work, the pitfalls you hit, ways around them, sources for materials, reference material, etc. It can be no-frills HTML, no pictures necessary, just notes. Blogs and wikis are fine. A Moveable Type installation is available for all students to use on the ITP server. Feel free to use it to set up a blog if you don't have much experience making websites. No flash, shockwave, or other sites that are not text-searchable, please. Here's a template you can use. Ideally, it will give you a head start on documenting your projects for future portfolio reference, and those who come after you a place to look for advice.

A journal entry is part of the assignment for each project you do, at the least. Feel free to do more entries as you see fit. These will be added as links to the class site.

Work on this as you go, don't put it off until the end. Your fellow classmates will find your notes as useful too.

See the HTML template with areas you should consider for each project.

You should document your projects thoroughly. Plan in advance, and perhaps as a group, to have what you need to document each project. Photos, video, drawings, schematics, and notes are all valuable forms of documentation.

A few good recent sample journals:
- Lisa Cohen
- Ray Cha
- Sasha Harris-Cronin (see the Constructions link)
- Jen Lewin's Blueink site
- Kari Martin
- Many others

 

Grading:

- Participation & Attendance: 15%
- Lab Assignments: 15%
- Project 1: 15%
- Project 2: 15%
- Final: 20%
- Journal: 20%

 

My Notes:

You have the option of using Moveable Type as a way of recording you journal. More details to as they become available...

I find journals challenging, but especially crucial. If you don't document it then it never happened.

Top

Participation & Attendance

Showing up on time, engaging in the class discussion, and offering advice and critique on other projects in the class is a major part of your grade. Please be present and prompt. Lateness will hurt your grade, as I use the "ghost rule." Show up late, and you can stay, but you can't talk or ask questions. Late attendance affects your grade adversely. If you're going to be late or absent, please email me in advance. If you have an emergency, please let me know.

Please turn in assignments on time as well. For every week an assignment is late, it loses a letter grade, e.g. 1 week late means a maximum possible grade of A-, 2 weeks is a maximum B+, and so forth.

Laptops

I'm all for people taking notes on laptops in class, and there will be occasions when it'll be useful to connect to the net in class for classwork, but please don't check email, or IM, or surf the net on unrelated topics, or do your work for other classes in class. That's rude to everyone else in the class.

Parts

A list of parts needed for the first few weeks follows. You will end up spending money on materials in this class. It can be done reasonably inexpensively, by scavenging parts, reusing parts, and so forth, but more ambitious projects inevitably make demands on your budget.

Books

Below are recommended texts for the course in general. Individual instructors may have their own recommendations as well. All of them are good inspirational guides for physical computing and computing in general. They are not assigned, but pick up at least one of them and incorporate it in your midterm journal, if nothing else.

Physical Computing: Sensing and Controlling the Physical World with Computers
Dan O' Sullivan and Tom Igoe ©2004
Thompson Course Technology PTR;
ISBN: 159200346X
A book on Physical Computing written by...
um... the guys who wrote the book on Physical Computing. Includes all the stuff covered in class and lots of advanced examples as well.

The Design of Everyday Things
Donald A. Norman ©1990 Doubleday Books; ISBN: 0385267746
If you design at all, or work with people who do, read this. A lucid approach to the psychology of everyday interaction and how the objects we deal with could be better designed to match the strengths and weaknesses of the way we think. His predictions about physical interaction design and information design, some accurate and some not, are interesting history lessons eleven years after the first edition.

The User Illusion: Cutting Consciousness Down to Size
Tor Nørretranders ©1998 Viking Press; ISBN: 0670875791
Makes the case that much of our experience of the world does not come to us through our consciousness; in fact, the majority of it dealt with pre-consciously.

Understanding Interactivity
Chris Crawford, ©2000
Self-published and written in a very casual style, this book nevertheless is an excellent and concise summary of what interaction design is, why it is important, and what problems it brings with it. Anyone seriously interested in interaction design, physical or not, should read this book.

 

The following are good references for electronics hobbyists. Take a look at both, and get one or the other as a general reference, or find an electronics reference of your own (a few more are listed in the books section of the site).

Getting Started in Electronics
Forrest M. Mims III, ©1983, Forrest M. Mims III
A very basic introduction to electricity and electronics, written in notebook style. Includes descriptions of the basic components and what they do, and how they relate to each other.

Practical Electronics for Inventors
1st Edition. Paul Scherz, ©2000, McGraw-Hill Professional Publishing; ISBN: 0070580782
A more in-depth treatment of electronics, with many practical examples and illustrations. An excellent reference for those comfortable with the basic topics. The use of plumbing systems as examples to demonstrate electric principles makes for some very clear illustrations of how different components work. Good chapters on sound electronics and motors as well.

A longer list of books for inspiration and reference is available online at the books link.
   

 
Dates

Class Topics

Details
Week 1
September 8th

Top

Presentation

- Introductions
- Cover the syllabus and class structure
- Digital vs. Analog
- Logic vs. Power Circuits
- Introduction to Electronics: Definition of electronic components, reading a volt/amp meter, reading a schematic, relationships between the basic elements.
- Soldering (thanks to Jeff Feddersen for the link)

Assignments for next week


- Join the PhysComp listserv
- Start your journal and e-mail me the URL
- Lab assignment: Basic Electronics
- Pick up the reading packet from the book store
- Read Buxton "Less is more, More or less"

 

You should be able to order up to three sample chips directly from Microchip by registering with their website.

The chip we will be using in class is a
PICmicro Microcontroller
PIC 18F452-IP

We'll get in to more details about what this is and how it works soon, (the site is a bit intimidating at first) but you should place your request for samples so that they arrive in time to use them later in the semester.

In the mean time they should be available in the computer store.

Week 2
September 15th

Top

Presentation

- Microcontrollers: what they are, different types, levels.
- Intro to PIC and PIC Programming
- Digital input and output
- Serial Output (for debugging, more detail in Week 6)
- Introduction to Project 1, assign groups (Kind of like "The Apprentice")

Assignments for next week

- Lab Assignment: Digital input and output using the PIC microcontroller
- Begin Project 1
- Reading for Week 3: Crawford, Understanding Interactivity, chapters 1 and 2. (Now for Week 5)
- Sign up for mandatory tool safety secession in the workshop to be completed by week 3 or 4

 

 

Week 3
September 22nd

Top

Presentation

- Memory and variable types: bianary, decimal, hexadecimal (hex)
- Analog input: what an analog to digital converter (ADC) is.

Assignments

- Project work: Present location and observations.
- Lab Assignment: Variables and Analog Input Analog in; tracking changes with variables; practical jokes
- Reading for week 4: Myron Krueger, "Responsive Environments", in Packer & Jordan, Multimedia: From Wagner to Virtual Reality, ch. 12, pp104-120.

 

 

Week 4
September 29
th
Top

Presentation

- Analog Output : Sending a signal to devices that create analog motion or sound... servos, freqout, pulse width modulation (PWM)

Assignments

- Show prototype of Project 1
- Lab assignment: servo/analog out
- Reading for Week 3: Crawford, Understanding Interactivity, chapters 1 and 2.

 

The reading for week 3 was moved to this week. It is also available online.

Week 5
October 6th

Top

Presentations

- Project 1: everyone presents their results to the class.

Assignments

- Reading for Week 6: Norman, Design of Everyday Things, ch. 1

 

 

Week 6
October 13th

Top

Presentations

- Serial communication: Sending bytes out
- Serial interpretation: Understanding the bytes (ASCII)
- Serial to desktop: Data in to Processing
- Introduction to Project 2

Assignments

- Begin Project 2
- Lab Assignment: Serial output and Talking to Processing
- Reading for week 7: Nørretranders, User Illusion, ch. 6, "The Bandwidth of Consciousness"

 

Note: use the Serial Out assignment to get yourself setup and then proceed with Talking to Processing.

 

Week 7
October 20th

Top

Presentations

- Musical Instrument Digital Interface (MIDI) and other control protocols

Assignments

- Project 2: present instrument, show observations
- Lab Assigment: Talk to a MIDI device
- Reading Assignment: Applications: ThinkCycle

 

 
Week 8
October 27th

Top

Presentations

- Digital Output: Transistors and relays: Controlling higher-current electrical devices (light bulb and switch)
- Motors and inductance
- Controlling DC motors and Stepper motors

Assignments

- Project 2: Demonstrate Prototype
- Lab Assignment: DC Motor control
- No reading assignment

 

 
Week 9
November 3rd

Top

Presentations

- Project 2: everyone presents their results to the class.

Assignments

- Think about your final, be prepared to talk about it next week.
- Reading for week 10: Hoffman, Visual Intelligence, ch. 7, pp.172-184

 

 
Week 10
November 10th

Top

Presentations

- Discuss Final Project 3
- Video Tracking
- Project planning - methods and approaches (and review of methods from previous projects)

Assignments

- Begin Final Project

 

 
Week 11
November 17th

Top

Presentations

- Final Project: show observations (five to eight projects, chosen at random)
- Project workshop

Assignments

- Work on Final Project

 

 
Week 12
November 24th

Top

Presentations

- Final Project: Demonstrate prototype (five to eight projects, chosen at random)
- Project workshop

Assignments

- Finish your final project, then make it better, then document it in your journal.

 

 
Week 13
December 1st

Top

Presentations

Final Project Presentation: First half

 

 
Week 14
December 8th

Top

Presentations

Final Project Presentation: Second Half

 

 

Happy Holidays