Course Materials

MUSIC 250A / CS377C
Human Computer Interaction Theory and Practice:
Designing New Devices

Stanford University, Autumn Quarter 2002-2003

Location: CCRMA Ballroom, The Knoll (CCRMA)
Hours: Monday and Wednesday 10:15 - 11:45 a.m. plus a 2-hour lab
Instructors: Bill Verplank (
Max Mathews (
TAs: Michael Gurevich (
Wendy Ju (

12/09/02 Check the sample papers page for sample NIME papers from the past. Please let us know if you want help or advice with your paper.
11/20/02 - The projects page is up. Please make sure that your project information is up to date!
11/07/02 - Network OSC from pd as shown in lab: OSCnetwork.pd
11/06/02 - The pd patch from today is here filters.pd. The accompanying AVR program is the same as Monday's: buttons_sensors.c.
11/04/02 - The sampler/sequencer pd patch from today is here: buttons_sensors.pd. The accompanying AVR program is here: buttons_sensors.c.
10/31/02 - Curious where to get sensors for Lab 5 and your project? Check out Digikey and Jameco. Contact info listed under Related Links:Supplies.
10/29/02 - Lab 5 is available: lab5.pdf. It is due by November 6. Please show us your labs 3 and 4 ASAP.
10/25/02 - An update to midi.h and midi.c in the AVRLib adds functions for sending all types of MIDI channel messages. If you are using your own copy of the AVRLib, you will need to copy them into your AVRLib and re-compile it (By typing make).
10/25/02 - Announcements are now in reverse chronological order so the most recent ones are at the top. Makes sense, really. Note that Lab 4 will be due Wed. Oct. 30. If you haven't shown us Lab 3, please do so ASAP.
10/16/02 - Slight mistake in avrlib-demo demo6, not in the code, but in the comments. The UART transmit pin is PD1 (port D Pin 1). Connect this one to the MIDI data line.
10/16/02 - Homework 3 and Lab 3 are now posted.
10/15/02 - There are links to documentation for MIDI and OpenSound Control on the course material page.
10/14/02 - A bug in timer.c in the avrlib was fixed. If you are using your own copy of the avrlib, you should download the new timer.c and recompile your avrlib (type make in your avrlib directory). Alternately, you can download the new distribution, avrlib_ccrma-20021014.tar.gz, but this is not necessary. If you are not using your own copy of the avrlib, the one on the ccrma system has been fixed.
10/10/02 - Lab 2 is on the web as ps/pdf. Sorry, no html this time. Note that you must demonstrate your results to one of the TA's. There is nothing to hand in.
10/03/02 - There is a new (and growing) description of AVRGCC syntax, that describes some of the things in the demo code that are not part of standard C. If you are wondering what outb does, go there. Also, there is a new overview on microcontrollers, that explains things like ports and registers. Finally, for those struggling with Linux or C, Wendy will hold a Q&A and demo session Monday after class. Until then, check out these basic commands and this reference page.
10/02/02 - Homework 2 and Lab 1 are now posted.
10/01/02 - There was a typo in the lab setup page under the Option 2 section for setting up your environment manually. The specific error was under #2, the lines to add to your .cshrc. If you already used these instructions, please refer to the corrected version and make the appropriate changes.
09/30/02 - The Class Material page also has a lab setup link with instructions on how to set up your account for our labs. Also, there is a lab tutorial to get some practice.
09/25/02 - The Class Material page now has a "Getting Started" section with information on setting up your CCRMA environment, and using our Linux system. We will give out Account Registration forms on Monday and give you user accounts by next Wednesday. There are also links to documentation for the materials we will be using in class and labs.
09/16/02 - Website updated for 2002-03
08/26/02 - Watch this space for announcements

Send comments about this page to
Last modified: Mon Dec 9 13:34:54 PST 2002