Teaching Robotics and Embedded Computing with Legos and Arduino
Embedded computing offers a direct exposure to low-level hardware unavailable with modern desktop computers. As such, it provides a far more concrete computing experience for young developers. The ability to directly experience the effects of programmatic changes offers a broader sensory environment than graphics on the screen. The value of this can be seen by the broad appeal of a variety of robotics classes and competetions for students.
Consructing robots from "real" materials is of undeniable educational value. However, the time, energy and expense of constructing the robots creates some significant constraints on how such classes can be run. The obvious alternative is to use a construction kit, such as Legos. The Lego company sells complete microcontroller systems, but those microcontrollers are buried behind a wall of sophisticated and shiny user interface.
I've been teaching a class to 10-12 year old students which takes advantage of the rapid construction and modification offered by Lego pieces but replaces the Lego microcontroller with a standard Arduino board. The result has been hugely successful, with students building a variety of robots and programming them in a series of 6 classes, each 90 minutes in length.
This presentation will first motivate the course style, contrasting it with other similar environments like Lego Robotics and Squeak/Etoys. Then, I'll show how the Arduino boards work in the Lego environment, highlight some of the classroom materials and then demonstrate the students creations.
Keith Packard has been developing open source software since 1986, focusing
on the X Window System since 1987, designing and implementing large parts of
the current implementation. He is currently a Principal Engineer with Intel's
Open Source Technology Center. Keith received a Usenix Lifetime Achievement
award in 1999 and sits on the X.org foundation board.