CSE 466: Software for Embedded Systems

I was a TA for the Software for Embedded Systems course for three quarters. I developed lab assignments and custom hardware for the class, and assisted students in the lab. I received an honorable mention for the Bandes Memorial Award for Excellence in Teaching and a nomination for the University of Washington College of Engineering Community of Innovators Awards for my work.

Lab Assignments I Developed

Listed below in chronological order are several of the laboratory assignments that I developed for the class over the three quarters I was a TA. The final projects were collaborative efforts involving input from all of the students in the course at the time.

  • Autumn 2007, Lab 6: Sound on the SuperBird — Students learned about sampled sound, wrote code for sound playback on an embedded platform, and developed creative applications with their sound code
  • Autumn 2007, Lab 8: Final Project: SWARMS — Students developed wireless ‘agents’ that communicated with each other and produced sounds using the Pure Data audio synthesis language, exploring the concepts of swarming and emerging behavior and embedded wireless sensor networks. Specifications were developed in class discussions, based on student suggestions.
  • Winter 2008, Lab 7: The AirStick (in collaboration with Josh Smith at Intel Labs Seattle) — Students wrote software for a 4-way electric field sensing “air joystick,” and learned about signal modulation and demodulation, code and time division multiplexing
  • Winter 2008, Lab 8: Final Project: The Second Annual CSE466 World Cup — Building on a project that was developed (and software that I wrote) when I was a CSE466 student, students developed wireless controllers to move their players in a 28-player soccer game, using the “AirStick” joysticks they developed in the previous lab. (See also the related paper)
  • Winter 2009, Lab 3: PWM and Electric Field Sensing — Using a custom electric field sensing board that I designed, students learned about signal modulation, synchronous demodulation, and developed a 1-D electric field sensor that used pulse-width modulation to control the color of an LED based on the distance between their hands and the sensor board.
  • Winter 2009, Lab 4: SPI, USB, and Electric Field Sensing Part II — In this continuation of the previous lab, students interfaced their electric field sensor with a PC over USB and used it to control a color wheel on the computer display.
  • Winter 2009, Lab 6: Sound on the SuperBird — Students learned about sampled sound and how to use ALSA on an embedded platform. They developed a sine-table synthesizer before moving on to a creative and open-ended sound/synthesis project.
  • Winter 2009, Lab 8: Final Project: The Raven Deconstructed — Revisiting the emergent behavior elements of the previous SWARMS project, students built wireless agents that listened to each other’s messages and determined when to play phrases of Edgar Allan Poe’s The Raven and various raven sounds. Using an accelerometer, agents also detected when they were moved and played startled raven sounds and told other nearby agents to do the same.

Relevant Publications

Borriello, G., Hartung, C., Hemingway, B., Koscher, K., and Mayton, B. 2008. Multi-player soccer and wireless embedded systems. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education (Portland, OR, USA, March 12-15 2008). SIGCSE ’08. ACM, New York, NY, 82-86.