Physical Computing

| 0

Physical Computing is about integrating the real world with sensing, communication, and computation. It is about rapidly prototyping devices that can react and interact directly with their environment, rather than being accessed through a keyboard and monitor. The class introduces students to the idea of using small, programmable microcomputers to build self-contained, physical systems that help automate everyday tasks. The course exposes students to basic electronics, microcontroller programming (using the “Processing” language), short-range wireless networking (e.g., Bluetooth), mobile interfaces (smartphones), and embedded sensing. The class centers on Arduino development boards that allow one to rapidly build reactive and/or interactive everyday items, without the need for attaching a Mac or PC to them.

Teaching Mode

Two hands-on practical lab sessions per week. Each session starts with a short tutorial, followed be practical exercises. Weekly group homework lets students apply the gained knowledge in a self-chosen project. The final deliverable is a context-aware artifact comprised of one or more of these above-mentioned technologies, together with a report describing its architecture and implementation.


There is no required textbook. Handouts are provided as needed, though students are encouraged to peruse additional literature, such as:

  • Getting Started with Arduino; Massimo Banzi; 2nd Edition; O’Reilly; 2012
  • Getting Started with Processing; Casey Reas and Ben Fry; O’Reilly, 2010
  • Programming Your Home. The Pragmatic Programmers; Mike Riley; 2012
  • Hacking Electronics. Simon Monk. McGraw Hill, 2013
  • Practical Electronics For Inventors (3rd edition). Paul Scherz and Simon Monk. McGraw Hill, 2013
  • Make: Electronics; Charles Platt; O’Reilly; 2009


ClassSemesterInstructorTeaching Assistant(s)
Physical Computing 2017 Spring
Physical Computing 2016 Spring
Physical Computing 2015 Spring
Physical Computing 2013 Fall

USI Search Directory: