October 2008

I Robot, You Programmer

Grad student Mike Horn combines computer science and child development to help kids learn the basics of programming by employing robots-and lots of fun

By Marjorie Howard

Three children gathered around a tabletop at the Boston Museum of Science cheer as a small robot turns right, goes forward, turns left, and eventually hits its mark, lighting up a sign that says “Robot Park.” The children programmed the robot’s moves themselves, and seem thrilled with their success.

Click on the play button to begin the audio slideshow narrated by Michael Horn. He is seen here at the Robot Park he designed in the Museum of Science's Cahners ComputerPlace. Photo: Alonso Nichols

The ongoing exhibit at the museum, which is open to all, is the brainchild of Michael Horn, a doctoral student in computer science who is interested in how kids learn with computers. In most late elementary and middle school classrooms, he says, the setup is all wrong. Groups of students have to cluster around a few computers and share a mouse and keyboard. The teacher might not be able to see exactly what the kids are doing. Not only that, but some younger children lack the fine motor skills needed to use a mouse and drag items across a computer screen.

“I started thinking,” Horn says, “what if kids could work on programming activities on their desk or on the floor and didn’t have to huddle around one machine? What if writing a computer program became more of a physical activity?”

So Horn came up with something simple and tangible: a series of interlocking wooden blocks that kids can put together in any sequence they choose that can be used to program a robot.

Each block—really a piece of wooden train track—has a word describing what the code will tell a robot to do, such as “forward,” “reverse” or “right.” When children finish putting the blocks together, they press a button, and a camera mounted overhead takes a picture of the whole arrangement. It sends the information to a computer, which uses barcode-like symbols on each block to interpret the entire program. The computer then feeds the commands to the robot in a matter of seconds.

“When I write computer code, it’s with obscure symbols with text,” says Horn. “But the fundamental building blocks of what I’m doing and what the kids are doing with the wooden blocks are the same: they’re making sequences of action, repeating sequences of action, making logical decisions. The concepts are the same; it’s the medium that’s different.”

Horn, along with Marina Bers, an assistant professor of child development, and Robert Jacob, a professor of computer science, have been awarded a three-year, $445,000 grant from the National Science Foundation to extend this work to early childhood education.

“The new interdisciplinary project will revisit ideas of what is developmentally appropriate for kindergarten-aged children in the light of new possibilities for learning afforded by innovative interfaces, such as tangible programming blocks,” says Bers. “This project will involve theoretical aspects as well as applied ones, such as the development of curriculum and technologies and the testing of them in local elementary schools.”

Jacob credits Horn with bringing two departments, child development and computer science, together. “This is a true collaboration,” he says.

Divide and Conquer

Horn comes from a family of teachers, and he has worked in a middle school in Boston’s Roxbury neighborhood as part of an NSF fellowship. “I’m very sympathetic to teachers and what they have to deal with,” he says. “I think a lot of technology that focuses on kids neglects the other side of that equation: the person who has to deal with classroom management and provide a productive and positive learning environment.”

Why teach programming to children? Horn starts with his own experience. He says he was inspired by Logo, a computer language that was used to teach children about math and logic. Horn learned Logo in middle school, “and it changed my life dramatically, my approach to academics, even how I went about mowing the backyard.”

“When you learn how to program computers, you learn how to take a large problem and divide it into manageable sub-problems,” he says. “I can take a small thing and say, ‘I know how to write a computer program to solve this particular problem.’ You keep doing that, and eventually this seemingly insurmountable problem becomes pieces you can solve, and eventually you put it all together.”

Horn is also driven by a second goal: to change kids’ perspectives about their abilities. At the Museum of Science, he noticed that more children, especially girls, participated in programming robots when the computer blocks were on the table than when they were replaced with a conventional computer and a mouse. About 30 percent of girls in the computer room used the mouse and monitor, while 90 percent of them tried the tangible exhibit.

“I think every child should at least be exposed to programming,” Horn says. “We’re not necessarily trying to teach children to program a robot but we are trying to change perspectives. Maybe the girl who would never dream of programming a computer thinks, ‘This is interesting. I just programmed a robot and might try this later on.’ ”

Marjorie Howard can be reached at marjorie.howard@tufts.edu.

Article Tools

emailE-mail printPrint