New York University Abu Dhabi
Introduction to Interactive Media
Tu 12:45 – 14:00 || Th 12:45 – 15:15
Arts Center 029
Prof. Scott Fitzgerald
Prerequisites : None
With the advent of digital computation, humans have found a variety of new tools for self expression and communication. However, most of the interfaces to these toolsets are created with a computer in mind, not taking into account humanistic needs of design and usability. Additionally, computers have traditionally lacked knowledge of the richness of the physical world. As such, their understanding of our needs has been informed by click and taps, seeing the world as a binary system of on or off.
This course explores creative computation through software and hardware. We will focus on the principles of computer programming using Processing, an open-source programming language that is primarily designed for visual output on computers. The Arduino hardware platform will enable us to expand the variety of physical interaction we can use with the computer, relying on sensors for input and actuators for physical output.
By approaching software and hardware design as artists and designers, we can explore new paradigms of interaction with machines and each other. Using open source software environments and open hardware platforms, we will look at way of making these tools work for us. No background in programming or electronics is expected. A sense of play, desire to experiment, and a DIY attitude is strongly encouraged.
Students who successfully complete this course will be able to :
•Think critically about interaction design principles for hardware (physical) and software (screen based) interfaces
•Work with basic electronics, including analog and digital sensors and actuators
•Understand and be able to implement basic principles of computer programming, including working with objects and classes
•Use a computer as a tool for self expression
•Bring information about the physical world (such as light, pressure, temperature) into the computer and process it in an interesting fashion
This course is a production based class. You will be doing work in and outside of the class that is ideally experimental, participatory, and collaborative. In class we will review topics like programming techniques and circuit design, as well as engage in discussion based on readings, videos, audio, and interactive works found primarily online.
•20% Attendance & participation in class discussion
•20% Weekly assignments
•10% Midterm project
•25% Final project
Weekly Assignments: Every week you will have an assignment. Each assignment has a “walk-through” element that will be covered in class, which you are expected to do on your own. In addition, there is an improvisational aspect, where you take the lesson and make something unique and interesting based on the in-class review. We will spend time each week looking at your work, and using this as an opportunity to review concepts that are unclear, or investigate solutions to common problems. Expect to be asked to show your work every week. Some weeks everyone may demonstrate their work, other times only a few students may, but always be prepared.
All of your work must also be documented on your online journal (see below for details).
You are expected to keep an online journal. The purpose of the journal is twofold. First, it is a valuable way for you to communicate to me that you are keeping up with the work in the class. I read the journals to see how you are doing. Second, the journal is a way to document your work for your own use and that of others. At a minimum, reference to each class meeting is expected, as well as reference to the readings, and documentation of any research.
You must update the journal with the work you have done for class.
You should use the journal as an opportunity to write clear, concise thoughts or questions based on the weekly topics. The writing is expected to be well reasoned, grammatically correct, and written as if it were a paper being turned in. You should link to any relevant sources, and provide as much context as you can using images, video, audio, or other forms of expression.
Whether this is a tumblr, WordPress site, Blogger, static HTML page, etc. does not matter. What matters is that it is online and publicly accessible.
Stupid Pet Trick : using your knowledge of digital and analog input/output, or interaction in Processing, create a project that makes us laugh. The work should demonstrate a mastery of the tools learned to date, and clearly demonstrate the relationship between the user’s action and the response. Specifics and examples will be discussed in class.
Create a physically interactive system of your choice that relies on a multimedia computer for some sort of processing or data analysis.
Your focus should be on careful and timely sensing of the relevant actions of the person or people that you’re designing this for, and on clear, prompt, and effective response. Any interactive system is going to involve systems of listening, thinking, and speaking from both parties. Whether it involves one cycle or many, the exchange should be engaging.
You may work alone or in groups.
A few examples:
– Musical Instruments. Performing music involves a sustained engagement between the performer and the instrument. The feedback from the instrument has to be immediate and clear in order for the performer to continue playing. The interface has to be flexible so that the musician can exercise her creativity in playing, but has to have some boundaries so that she knows what the instrument can do and what it can’t do.
– Game interfaces. Like musical instruments, they involve constant back-and-forth interaction and immediate response. They are often simpler than musical instruments. In fact, the standard game controller has gotten so standard that the action of many games is artificially adapted to the needs of the controller, not the physical expressiveness of the player. Pick a specific game and see if you can change that.
– Assistive devices. Whether it’s something as simple as a reaching device (think of pickle pickers) or something more complex, these devices are very demanding of clear, reliable response.
– Remote control systems. They require not only a clear interface, but must also return enough information on the remote system’s action to let you know that you’re doing the right thing. Whether it’s a remote controller for your home electrical devices or a Mars rover controller, the need for clarity and good feedback are equally essential to the person who it’s made for.
There are many other good applications for this project. Discuss the specifics of yours with your me!
Participation and attendance:
Attendance is mandatory. Unexcused absences or habitual lateness will negatively impact your final grade for the class. If you’re going to be late or absent, please email me in advance. If you have an emergency, please let me know as soon as you can.
Please turn in all assignments on time.
Showing up on time, engaging in the class discussion, and offering advice and input in the class is a major part of your grade. Participating in class discussions is helpful for me to get to know you as an individual and keep track of your progress, but most importantly, it provides you and your classmates with the opportunity to share failures, successes, and insights on the work you are doing.
You are expected to show work in class. This includes working prototypes, failed assignments, things that don’t work the way you expect, and so forth. Always expect to be called on to show something. Don’t be afraid to volunteer to show what you did, or failed to do.
If you do not ask questions, I can only assume you understand the material completely. Asking questions about concepts you do not understand and showing work that did not function as expected is not a sign of failure, it is an opportunity to learn.
Laptop use is fine if you are using your laptop to present in class, or if we’re in the middle of an exercise that makes use of it. Whenever classmates are presenting or we’re in the midst of a class discussion, please keep your laptop closed. The quality of the class depends in large part on your attention and active participation, so please respect that and close your lid.
Please put them on vibrate or turn them off before you come to class. If you have an emergency that requires you to answer your phone during class, please tell me ahead of time.
Statement of Academic Integrity
Plagiarism is presenting someone else’s work as though it were your own. More specifically, plagiarism is to present as your own: A sequence of words quoted without quotation marks from another writer or a paraphrased passage from another writer’s work or facts, ideas or images composed by someone else.
Arduino Experimentation Kit
Title: Learning Processing: A Beginner’s Guide to Programming Images, Animation, and Interaction
Author: Daniel Shiffman
Publisher: Morgan Kaufmann
Publication Date: September 2, 2008
Title: Getting Started with Arduino
Author: Massimo Banzi
Publication Date: September 20, 2011 Edition: 2nd
Title: Getting Started with Processing
Author: Casey Reas and Ben Fry
Publication Date: July 2, 2010 Edition: 1st
Title: Arduino Cookbook
Author: Michael Margolis
Publisher: O’Reilly Media; Second Edition
Publication Date: 2011
Title: Make Electronics
Author: Charles Platt
Publication Date: 2009
Title: Making Things Talk 2ed
Author: Tom Igoe
Publication Date: 2011
Title: Making Things Move
Author: Dustyn Roberts
Publisher: McGraw-Hill/TAB Electronics
Publication Date: 2010
Hardware : basic hand tools like pliers, screwdrivers, wire cutters, wire strippers.
Software : fritzing http://fritzing.org
9/2 – Introductions
-Why are we here? What’s the class about?
-What’s Processing and Arduino? Why are we using these tools?
-Example work, get excited
Reading & Assignment :
-Crawford, The Art of Interactive Design, chapters 1 and 2 (note: you will need to sign into
NYUHome to view this. From your NYUHome home page, click “Research” then
“books24x7.com” then search for “The Art of Interactive Design” by Chris Crawford.)
-Observation assignment (to be discussed in class)
9/4- Understanding Electricity : Ohm’s Law
– discussion of observation assignment in light of Crawford Reading
– Parallel vs. serial circuits
– Identifying electrical components
– Making a circuit
– using the breadboard
Assignment & Readings
– Understanding Electricity
– Switches : http://itp.nyu.edu/physcomp/Labs/Switches
– Using a Multimeter : http://itp.nyu.edu/physcomp/Labs/Electronics
– Norman, Design of Everyday Things, ch. 1
– Norman, Emotional Design, Chapter 1, “Attractive Things Work Better”.
9/9 – Review homework from 9/4
9/11- A touch of code, an introduction to programming with Processing
– the coordinate system, drawing things on screen, and colors
– running an application and exporting it
Make a drawing using the primitives in Processing. It can be a self-portrait, a field of flowers, a spaceship, or something more abstract.
Victor, Bret. A Brief Rant on the Future of Interaction Design
9/16 – Review homework from 9/11
9/18– Digital input & output.
-What is a Microcontroller?
-Programming with the Arduino
-Digital In/Out : http://itp.nyu.edu/physcomp/Labs/DigitalInOut
9/23 – Review homework from 9/18
9/25 – Loops and variables
-Events in Processing, variables, animation
-Conditionals & loops
Create a animated application like a painting system or a clock (I love clocks). Use variables to change values in your application over time. Incorporate the mouse if applicable. OR
Draw inspiration from minimalist artists, or the work of Sol LeWit, to create a simple algorithm that animates over time based on a system of your design. Explicitly explain what this system is in your comments.
9/30- Review homework from 9/25
10/2 – Analog input and output
-fading lights, servos, libraries, tones
Assignment & Readings:
-Start Midterm project
-Igoe, Physical Computing’s Greatest Hits (and misses)
-Analog in : http://itp.nyu.edu/physcomp/Labs/AnalogIn
-Servo lab : http://itp.nyu.edu/physcomp/Labs/Servo
-Tone Lab : http://itp.nyu.edu/physcomp/Labs/ToneOutput
10/14 – Review Analog in/out work from previous week
10/16 – Functions and arrays!
-check up on midterm progress
Re-organize the code of a previous assignment or example using functions. Elaborate on your previous work.
10/21 – Present Midterm project
10/23 – Serial communication part 1
Assignment & Reading:
– Lab: Serial Output
– Igoe, Making Interactive Art: Set the Stage, Then Shut Up and Listen
– Graham Pullin, Design Meets Disability
10/28 – Review work from 10/23
10/30 – Programming with Media
– Pixels and images and video and sound
Using an image or video as a source for your sketches (live or pre-recorded), astonish me.
11/4 – review work from 10/30, ISEA in Dubai
11/6 – ISEA at NYUAD, class topic TBD
11/11 – ISEA Discussion
11/13 – Serial communication part 2
-ASCII v binary
Build a controller for a processing sketch that uses some form of media (video, image, sound).
11/18 – review work from 11/13
11/20 – Data and Text, Networking
Make a poem with Processing, or use a poem as a data source for your sketch.
11/25 – Review Work from 11/20
11/27 – Making things move
-Controlling High current loads with transistors
– Motors (stepper and DC)
Assignment & Readings:
– Roberts, Dustyn. Making Things Move
– High current loads : http://itp.nyu.edu/physcomp/Tutorials/HighCurrentLoads
11/29 – Discuss Final project
12/4 – Final project workshop
12/9 – Project review
12/11 – Present final project