Interaction Lab

Course Description

In this foundation course students will be asked to think beyond the conventional forms of human computer interaction (i.e. the keyboard and mouse) to develop interfaces that consider the entire body, the body’s capacity for gesture, as well as the relationship between the body and its environment. Students will learn the principles of electronics and programming as they build projects using the Arduino microcontroller platform, a small computer based on open source hardware and software. When used in conjunction with various sensors and actuators, Arduino is capable of gathering information about and acting upon the physical world. In addition to these physical computing techniques, students will also learn to harness the methods of traditional computation for the purposes of self-expression. The fundamentals of programming: variables, conditionals, iteration, functions and objects, will be explored first through the use of JavaScript, an approachable scripting language most commonly associated with the Web, and later by using the Java based Processing language. Students will gain a deeper appreciation of the expressive possibilities of computation as they learn to author their own software, and not simply use that which is provided to them. Additional topics will include digital fabrication using 3D printers and laser cutters, the exchange, manipulation, and presentation of data, algorithmic drawing and animation techniques, as well as the synthesis of images, audio, and video. Structured weekly exercises are aimed at building practical skills, however students are encouraged to experiment wildly, and are free to pursue their own diverse interests in their midterm and final projects.