Interactive Arts Programming (IAP, Arts 4010)

Curtis Bahn Ph.D., Spring ’09

Email (best contact):


Office hours –by appt.





Interactive  Arts Programming will examine theoretical concepts of interactive music as well as working to develop the practical skills needed to implement these concepts in the development of  a significant artistic work or research goal.  A focus of the class is the development of new interfaces for artistic expression; physical computing, Human/Computer Interface development, autonomous agents, robotics etc.


This course open to graduate students and undergraduates with the prerequisite: ARTS 2020. The class usually includes people from a wide range of backgrounds and experience levels, and we hope to form a supportive community where all of our skills can be brought to bear to help inform and develop the project ideas brought forth.


We will cover theory, literature and computer programming concepts for the composition of interactive music and video performance systems, and, basic gestural controller design using commonly available microprocessor development in conjunction with various off-the-shelf sensors. 


This course is a project based research course.  You will be expected to propose a project at the beginning of the semester and to demonstrate your steady progress towards that goal throughout the semester.  Issues raised by the collection of projects in the class will be addressed by special sessions, reports and guest presentations.  Projects may be collaborative, but each student must demonstrate their own individual involvement and initiative.  Special lab sessions in programming, and basic microprocessor/circuit design will offered to address the interests and level of the class.


Each time the course is offered we will attempt to address the specific needs of the participants and to investigate the latest, cutting-edge technology available to us.  Necessarily, this will involve a process of research and sharing on all of our parts as we collaborate to find new approaches to art-making in a technological context.


This semester we will offer the option to work collaboratively in a group on an NSF/EMPAC supported research project investigating the use of haptics in telematic performance in collaboration with the Experimental Telepresence class led by Oliveros and Braasch.


The main requirement of the course, besides the demonstration of consistent work, is a completed final project and its presentation in class or at another public venue.




Introduction/review of MIDI, digital audio theory and basic programming concepts.


Basics of Interactive  programming structure using MAX



               Nested Patchers/ Encapsulation

               Logical Structures and Algorithmic Composition



Basic signal and video processing using MSP and Jitter

               Audio Signal Flow

               Sound Synthesis Techniques

               Sampling Buffers and Delay Lines

               Complex Filters

               Physical Models


Sensors, Microcontrollers and Basic Electronics

               Force, proximity, rotation, tilt, light, etc. etc.

               Computer  vision and video  analysis

               Micro-controller platforms: Arduino, Basic Stamp, TELEO, others as they arise


New Languages







Readings will be drawn from current literature and software or hardware manuals and will be either handed out in class or available on-line.  There is no required text to purchase although the following books may be helpful:


O’Sullivan and Igoe: Physical Computing

Matt Gilliland: Microcontroller Application Cookbooks 1 and 2

Todd Winkler: Composing Interactive Music

Scott Edwards: Programming and Customizing the Basic Stamp

Roger Dean: Hyperimprovisation:  Computer-Interactive Sound Improvisation


Costs and Materials


Since this class is involved with building an interface you may incur some personal costs depending on your project.  The school has a number of “off the shelf” sensors and interfaces which you may use as long as you follow proper checkout procedures and you don’t permanently install or alter the components.  You may opt to use commercially available technology or build-it-yourself circuits.  Those not building custom interfaces will be expected to spend more time developing the max/msp (or other high level) interface, but will not be penalized for not building a circuit.  There is no reason to build something that already exists.


Those interested in exploring simple circuits for physical computing are encouraged to purchase an Arduino board and simple components  covered in class.


Either open source/shareware computing platforms such as Chuck, Processing, Pure Data or other computer languages  may be used, or students may use MAX/MSP in the lab.  Students using MAX/MSP for final projects are encouraged to buy a student copy.


Assignments and Grades


The class will be held in a seminar format.  Classes will generally be divided between the presentation of new material and discussion of student work.  Much of the technical material will be presented very quickly in class, and students are expected to work independently with the equipment manuals in the studio, and with assigned outside reading, in order to reach the level of proficiency with the equipment demanded by the course.  Most of the student’s  grade will be dependant on their ability to successfully complete the final project, and to demonstrate consistent progress towards that goal throughout the semester through class presentations and demonstrations.   The remaining considerations in grading are attendance,  other class assignments and class participation.  Programming and electronics assignments will be geared towards the particular projects, interests and skills of the class.


Undergraduate students will complete class assignments and final work suitable to contribute to an Undergraduate Thesis project.  Graduate students will supplement class meetings with individual meetings on their projects with the instructor and will complete work contributing to their thesis/dissertation or suitable for presentation at end-of-semester crits.  Graduate students doing independent high-level research may form a contract with the instructor amending class requirements but they are still required to share in formal presentations and class critiques.


You will be informed of your midterm progress after the presentations on 3/19.


Main Assignments:

Dream System presentation (5 points) 1/22

Related Artists and Work Presentation (5 points) 1/29

First Full Proposal 2/5 (15 points)

Midterm Presentation 3/19 (25 points)

Final Project and Presentation (40 points) 4/23 

Class participation and attendance (10 points)


Electronic Mail and Website


All students will be expected to check their electronic mail accounts for correspondence concerning this course. Email provides an excellent forum for sharing technical information, as well as for posting changes in assignments, readings, and listenings. Make sure I have your preferred email address.


Class material, readings and assignments will be posted on the website:


Regarding Academic Integrity

Collaboration between students in this course is strongly encouraged. Likewise, students are encouraged—indeed, to some extent required—to exchange ideas, opinions, and information constantly. You are encouraged to help each other with performance, production, and presentation of composition projects.

Plagiarism of any kind is in direct violation of University policy on Academic Dishonesty as defined in the Rensselaer Handbook, and penalties for plagiarism can be severe. In this class you will be expected to attribute due credit to the originator of any  ideas, words, sounds, or work which you incorporate substantially into your own work. This applies particularly to citation of sources for quotes and ideas included in your compositions.


Major Class Presentations – weekly labs and workshops on various microcontroller platforms, programming languages and issue of HCI will be formed around class level and interests.  Check the class website for up to date schedule, links and information.



1/15 Class introduction, meeting with experimental telepresence.

1/22  ASSIGNMENT DUE: “Dream Project” brief proposal presentations

1/29  ASSIGNMENT DUE: Related Work and Practitioners (literature search)

2/5    ASSIGNMENT DUE: presentations for final project proposals

               sketches, schematics, drawings, parts list, mockups

2/26  Progress report update in class

3/12  spring break

3/19  MIDTERM PRESENTATION – Working “proof of concept” demos

               working circuits, working code, live demos.

4/23  Final Presentations in class, all class related work due.



Note for fourth year EMAC students:


This course is eligible to serve as part of your EMAC thesis.


The thesis experience consists of eight 4000-level credits within the concentration, culminating in a public presentation and documentation of the work produced. The eight credits may be selected from a list of eligible courses and internships within each concentration. Students may select two courses or one course and an internship.


In the event that you have chosen to take this course for thesis credit, you must inform the instructor of the course of your intentions and complete paperwork declaring your thesis plans and rationale.


If this is your first thesis course, you must complete Part One of the EMAC Thesis Requirement Form stating your intentions regarding the second course when you register for that course. Submit Part One of the form to Erin Glasheen.


If this is your second thesis course, you must complete Part Two of the EMAC Thesis Requirement Form describing the public presentation of your thesis. Submit Part Two of the form to Erin Glasheen and the instructor for the second thesis course or internship by the date specified on the form. Upon completion of the presentation, you must submit documentation of the presentation and a copy of this form to the instructor for his/her signature.


If you do not complete the presentation and documentation, the instructor will give you an “Incomplete” in the thesis course or internship.