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

Brown teddy bear with pushbuttons installed on the pads of its feet. The bear has a digital display in its stomach displaying a clock that says 10:18am.

Charmaine's Reminder Bear by the Hydrangeas (a final project from spring 2025). Read more about the project at the students' documentation page.

Class meetings

  • Mondays and Wednesdays, noon–1:50pm, room A10 in Hunt Library (IDeATe’s Physical Computing Lab)

Professor: Robert Zacharias, rzachari@andrew.cmu.education (subtract the cation)

Professor’s lab hours

  • Mondays and Wednesdays, 2–3pm
  • and liberally available at other times (please email for an appointment)

Course synopsis

This practical project-based course begins by covering the basic technical skills (electronics, programming, and fabrication) needed to build 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 on-campus design clients for the final project; students create novel assistive devices of a practical or whimsical nature for their critique and feedback.

Syllabus

Syllabus PDF here.

Course flow overview

This Gantt chart shows a week-by-week course overview. Note that red !s indicate due dates or singular events, while green xs indicate ranges during which work happens.

Gantt chart showing fourteen-week semester with different projects beginning and ending at different times.

Topic and assignment schedule

If the following overview schedule conflicts with Canvas or the course website, those latter sources are authoritative.