Article tools

To help students grasp the design and programming fundamentals of embedded systems (which are important to our daily life and can be found in everyday products such as vehicles, cell phones and medical devices), Zhu's students worked with LEGO Mindstorms.

But don't be fooled. The LEGO Mindstorms kit isn't your standard off-the-Wal-Mart-shelf type of toy. Marketed by the LEGO Educational Division, each Mindstorms kit includes LEGOs, motors and sensors to build a working vehicular robot. Each kit also includes a basic controller for budding computer scientists.

Zhu, however, purchased advanced-level Handyboards from www.handyboard.com for his students, mostly senior computer science majors. He also provided them with programming language Interactive C to complete their laboratory projects.

Lab goals included programming the robots to:

Successfully employ their touch sensors

Judge distances and move appropriately

Follow a line of a specific color

Avoid obstacles by identifying and moving around them

But Zhu's class didn't just play with LEGOs; the laboratory assignments involved the same kind of embedded systems programming skills needed to make everyday devices such as watches, microwaves and cars run correctly. Success in this requires teamwork and problem solving.

"Teamwork is very important in computer-related industries, especially as systems and software become more complicated," said Zhu, an assistant professor of computer science. "Working individually is impossible in the real world, and it is easy to make mistakes. On the other hand, working as a team can dramatically reduce such mistakes."

Students agreed. Throughout the semester, they were at their wits' end, trying to properly program the robot's ultrasonic distance sensors. And, time and again, they found that the slightest change in the distance sensor's programming had an enormous impact on the robot's behavior.

But like professional computer scientists, the students persisted. Day after day, they fine-tuned their robots' behavior by forming hypotheses, developing new programs and testing those programs. It's the same process Zhu uses in his lab, as he searches for ways to make real-time embedded systems more energy efficient.

So, as the holidays get closer and you finish up your shopping, remember that looks can be deceiving. When you buy a set of LEGOs for someone special, you just might be planting the seeds that inspire the next great computer scientist.