- Rob Faludi - https://www.faludi.com -

Syllabus-Fundamentals of Physical Computing-Fall 2009

Fundamentals of Physical Computing

Fall 2009

SVA, School of Visual Arts

MFA in Interaction Design

v1.0

Instructor: Rob Faludi

[email protected]

212-989-6888

http://rob.faludi.com/teaching [1]

Course Description:

This course explores the fundamentals of extending computation beyond the glowing screen and into the physical world. Using a programmed single-chip computer, students will learn how to connect sensors, actuators and indicators to create devices, installations and environments that move computational interaction “outside the box.” Our focus is on people rather than on devices. We will consider how the human mind is affected by physicality in all environments. By making a hands-on exploration of reactive, expressive, interactive and embodied behaviors, students learn to observe users, understand affordances and move seamlessly from digital processes to tangible actions. Course work is done individually in weekly technique labs and in groups for longer creative assignments. Note: No previous programming or electronics experience is required.

Goals:

Students will learn technical skills in electronics, programming and serial communication. They will gain a deeper understanding of how physical interactions and collaboration can enrich information in devices and enhance creativity in people. Assigned projects will explore digital and analog inputs and outputs, sensors, actuators, motors, serial communication and the creation of engaging interactions from the practical to the whimsical.

Class Schedule:

  1. Introduction: Physical computing, microcontrollers, breadboarding, Arduino, programming, digital input, digital output
    Reading: Physical Computing, chapters 2-4, Arduino 1-4
    Assignment: Soldering Lab, Digital Input/Output Lab, Imagined Physical Computing Assignment
  2. Electricity and Programming: concepts, Ohm’s Law, circuit diagrams, soldering, switchmaking variables, organization, conditionals, binary
    Reading: Physical Computing, chapter 1
    Assignment: Understanding Electronics Lab
  3. Analog Input: transduction, transducers, resistors, variable resistors, types of variables, programming review
    Reading: Physical Computing, chapters 6 & 11, Arduino chapter 5
    Assignment: Analog Input Lab
  4. Programming: loops, for loops, functions, timing, intro to Processing
    Reading: Physical Computing, chapter 5
    Assignment: Programming Intro Lab
  5. Analog Output: variable output using pwm, using servos and servo libraries
    Reading: Physical Computing, chapter 6, Arduino chapter 5
    Assignment: Analog Output Lab, Servos Lab
  6. Programming II: drawing with variables, mouse interaction, conditionals (bounce)
    Assignment: Programming Continued Lab, Observation for Midterm Project
  7. Motors: DC, high current, steppers, control, relays, transistors, steppers, H-bridge
    Reading: Physical Computing, chapter 10
    Assignment: Motors Lab, Prototyping for Midterm Project
  8. Serial Communication I: ASCII, serial, moving one variable, graphic output
    Reading: Physical Computing, chapter 7
    Assignment: Serial Lab, Revisions on Midterm Project
  9. Midterm Presentations
    Assignment: Ideas for Final Project
  10. Serial II: protocols, bytes, call/response, enveloping, multiple variable streams
    Assignment: Begin Final Projects
  11. Wireless Communications: 802.15.4, modes, addressing, chat, Arduino hookup
    Assignment: Wireless Lab
  12. Workshop & Discussion: progress reports and workshopping
  13. Workshop & Discussion: progress reports and workshopping
  14. Final Presentations
  15. Final Presentations

Labs:

Assignments:

Imagining Physical Computing: Think of an interactive system that lives in the real world of physical objects. Mock it up and present it to the class. Clearly and physically show what it is, how it would work and communicate the experience of using it, interacting with it and living in a world where it was real. Focus on a great idea and a great presentation. Please, no scrolling through a web page. Give us the story.

Midterm Project: Design a new solution for an existing problem. Work in groups to observe the situation, create an early prototype, test the prototype and incorporate your findings into a revised solution system.

Final Project: work in groups to create a system or device of your choosing. Your creation should use demonstrate a mastery of the fundamentals of physical computing and high-quality interactions. This is potentially a challenging assignment in a short period of time so consider what you know about collaboration. Keep moving forward.

Documentation:

Grading:

Class participation & attendance 30%

Presentations and assignments 20%

Projects and documentation 30%

Final Project 20%

Office Hours

To Be Announced

Making the Most of It:

For best results, come to class early, participate in discussions, ask lots of questions, offer copious and constructive feedback, stretch yourself and have fun.

REQUIRED READINGS

SUGGESTED READINGS