Introduction to Physical Computing (60-223) is a 10-credit semester project-based course offered at Carnegie Mellon University by IDeATe.

Braille Alarm Clock by Team I/O (a final project from spring 2022)

Professor: Robert Zacharias, (subtract the cation)

Teaching Assistant: Vishal Urlam, (subtract the cation)

Class meetings

  • Tuesdays and Thursdays, 9:05–10:55am, room A10 in Hunt Library (IDeATe’s Physical Computing Lab)

Lab hours

  • Tuesdays and Thursdays, 11am–noon
  • and liberally available at other times (please email for an appointment)

Course synopsis

The first half of this practical project-based course is spent covering the basic technical skills (including electronics, programming, and hardware) needed to build simple interactive objects with embedded behavior using the Arduino microcontroller. Inputs to read information about the world include sensors such as an ultrasonic ranger, thermometer, light sensor, and human inputs like buttons and knobs. Outputs to affect the world include actuators such as motors, LED lights, speakers, and haptic feedback devices. Individual and group projects challenge students to apply their technical skills in creative ways. The class will be working with a local group of people living with disabilities who serve as design clients for the final project; students conjure and build functioning assistive devices of a practical or whimsical nature for their critique and feedback. Readings and guest speakers address topics pertaining to design for people with different abilities.


  • The PDF version of the syllabus is available here
  • The webpage version is available here

Topic and assignment schedule