students and LEGO robot
students and LEGO robot
UTSA students program a LEGO robot
(Photos by Mark McClendon)

UTSA computer science students learn with LEGOs

By Christi Fish
Public Affairs Specialist

(Dec. 17, 2008)--Imagine getting university credit to work with LEGOs. That's exactly what happened in the Department of Computer Science, in Assistant Professor Dakai Zhu's Embedded Systems class (CS 4833).

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 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:

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.