Syllabus-Fundamentals of Physical Computing

Print This Page Print This Page
Fundamentals of Physical Computing

Fall 2010

SVA, School of Visual Arts

MFA in Interaction Design

v1.0

Instructor: Rob Faludi

rob@faludi.com

212-989-6888

http://rob.faludi.com/teaching

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. Presentations and Review: presentation of prototypes for Midterm Project, review of programming and other requested material
    Assignment: complete any outstanding lab work, Revision on Midterm Project
  9. Serial Communication I: ASCII, serial, moving one variable, graphic output
    Reading: Physical Computing, chapter 7
    Assignment: Serial Lab, Ideas for Final Project
  10. Final Project Preparations: presentation of final project ideas for discussion and planning
    Assignment: Group Selection & Final Project Observation
  11. Serial II: protocols, bytes, call/response, enveloping, multiple variable streams
    Assignment: Build Prototype for Final Project
  12. Wireless Communications: 802.15.4, modes, addressing, chat, Arduino hookup
    Assignment: Wireless Lab, Revise Final Project
  13. Workshop & Discussion: progress reports and workshopping
  14. Final Presentations
  15. Final Presentations

Labs:

  • Soldering
  • Digital Out, Digital In
  • Understanding Electronics
  • Analog Output
  • Programming Introduction
  • Analog Input
  • Programming Continued
  • Motors
  • Serial Communications
  • Wireless

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:

  • Links to documentation of every project must be submitted for credit. Either a web page that includes code and relevant circuit drawings, or a < 3 minute video upload that fully documents the project.

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

Leave a Reply

Your email address will not be published. Required fields are marked *

*