Skip to main content Skip to secondary navigation

This Summer, find something that stands out.

Check out the three IntroSems being offered this summer, and apply in the IntroSems' VCA.

Main content start

CS 49N: Using Bits to Control Atoms

The Raspberry Pi 3, a low-cost single-board computer manufactured by the Raspberry Pi Foundation.

Meet the Instructor

Course Description

This is a crash course in how to use a stripped-down computer system about the size of a credit card (the Raspberry Pi computer) to control as many different sensors as we can implement in ten weeks, including LEDs, motion sensors, light controllers, and accelerometers. The ability to fearlessly grab a set of hardware devices, examine the data sheet to see how to use it, and stitch them together using simple code is a secret weapon that software-only people lack, and allows you to build many interesting gadgets. We will start with a "bare metal'" system—no operating system, no support—and teach you how to read device data sheets describing sensors and write the minimal code needed to control them (including how to debug when things go wrong, as they always do). This course differs from most in that it is deliberately mostly about what and why rather than how—our hope is that the things you are able to do at the end will inspire you to follow the rest of the CS curriculum to understand better how things you've used actually work.

Meet the Instructor

Dawson Engler

Dawson Engler

Dawson Engler is an associate professor of computer science and electrical engineering at Stanford.  He received his Ph.D. from MIT for his work on the exokernel operating system and his undergraduate degree from University of Arizona, the latter in large part funded by being a bouncer. His research mainly focuses on devising automatic methods to find as many interesting bugs in real code as possible, including static analysis, implementation-level model checking, and symbolic execution. His research group has won numerous "Best Paper'' awards and produced successful tools (both open-source and commercial) that have found millions of errors in mature systems. Most recently he has been developing systems for computer-controlled (CNC) fabrication machines; his work using these systems has appeared in numerous fashion runway shows. He won the 2006 Weiser award and the 2008 ACM Grace M Hopper award.

Learn more about Dawson Engler