Introductory Seminars for First-Year Students
Using Bits to Control Atoms
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.