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:
Introduction: Physical computing, microcontrollers, breadboarding, Arduino, programming, digital input, digital output Reading: Physical Computing, chapters 2-4, Arduino 1-4 Assignment: Prototyping Lab, Digital Input/Output Lab, Imagined Physical Computing Assignment
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
Programming: loops, for loops, functions, timing, intro to Processing Reading: Physical Computing, chapter 5 Assignment: Programming Intro Lab
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
Programming II: drawing with variables, mouse interaction, conditionals (bounce) Assignment: Programming Continued Lab, Observation for Midterm Project
Serial Communication I: ASCII, serial, moving one variable, graphic output Reading: Physical Computing, chapter 7 Assignment: Serial Lab, Revisions on Midterm Project
Midterm Presentations
Serial II: protocols, bytes, call/response, enveloping, multiple variable streams Assignment: Advanced Serial Lab, Proposal for Final Projects
Syllabus
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:
Reading: Physical Computing, chapters 2-4, Arduino 1-4
Assignment: Prototyping Lab, Digital Input/Output Lab, Imagined Physical Computing Assignment
Reading: Physical Computing, chapter 1
Assignment: Understanding Electronics Lab
Reading: Physical Computing, chapters 6 & 11, Arduino chapter 5
Assignment: Analog Input Lab
Reading: Physical Computing, chapter 5
Assignment: Programming Intro Lab
Reading: Physical Computing, chapter 6, Arduino chapter 5
Assignment: Analog Output Lab, Servos Lab
Assignment: Programming Continued Lab, Observation for Midterm Project
Reading: Physical Computing, chapter 10
Assignment: Motors Lab, Prototyping for Midterm Project
Reading: Physical Computing, chapter 7
Assignment: Serial Lab, Revisions on Midterm Project
Assignment: Advanced Serial Lab, Proposal for Final Projects
Assignment: Wireless Lab
Labs:
Latest version