Computer Science Students Battle Robots at their Final Exam
In a classroom in the Putnam Science Center, students are busy typing code into computers, adding Lego pieces to a small robot, and anxiously waiting for batteries to finish charging. Their Artificial Intelligence & Robotics final is about to begin!
The theme of the final is different each year. This semester, junior Keith Naeck came up with the idea of sumo wrestling. “I was watching robot videos on YouTube and came across some Japanese sumo robot videos and thought it would be fun to recreate in this class,” he said.
“The main goal of this class is to develop a wide range of techniques in the Java programming language,” says Wei Lu, associate professor of computer science. “There are many cognitive tasks that people can do easily and almost subconsciously, but that have proven extremely difficult to program on a computer. Artificial Intelligence is the process of developing computer systems that can carry out these tasks, and it is devoted to the computational study of intelligent behavior.”
All semester, students have been learning new algorithms to program a leJOS Java-based robot. At the final exam, teams of students present their robots to challenge their classmates’ creations. To be successful, each robot must be programed to navigate space, detect the boundary of the match area, distinguish objects in their range of vision, and act to push that object beyond the boundary to win. Remote controls don’t command these machines.
“Perhaps the most exciting part about watching students build their own robots is how creative and brilliant they are,” added Lu. “They are using some mechanical concepts usually found only in the textbook. They are not only implementing them in the class but also building them with intelligent software controlling.”
“I like this class because Professor Lu is a very hands-on teacher,” said John Peebles, a computer science major. “He teaches all the material and explains all the concepts to make sure we understand. I really like learning how to program something that makes it go.”
Even though each robot looks different and has unique programing, they are matched well. A robot wins round one and loses round two against the same machine. Another robot gets destroyed when it topples over the edge of the boundary. In the end, there is no stand-out winner – each robot won at least one round.
After the final, senior Jonah Walker reflects on the experience. “It was really fun because it was a good change from the usual computer programing that we do. Instead of just typing code into a computer for a result on the computer, we were coding on the computer for a result that you can see. This was a more physical and practical application of some of the computer science skills we learn.”
“By taking this class, students gain advanced robotic programming skills on how to convert something complex into something simple that can be done by algorithms,” said Lu. “From their hands-on learning experience, students bridge the gap between the theoretical Artificial Intelligence algorithms and practical robotics systems by building them into a real robot to achieve an enhanced intelligence.”