Cool Courses: Computer Science and Robots

What can robots teach computer science students? And what can computer science students teach robots? These are two questions that associate professor Sharon Stansfield set out to answer in her course Principles of Computer Science II, a core computer science course required of all majors and offered for the first time in the spring 2009 semester. “A primary goal of this course is to strengthen students’ problem-solving skills and self-confidence as computer scientists. That means introducing new problems—like robots that don’t always behave the way you’d like—and then turning them loose on a solution.”

A small grant from the Institute for Personal Robots in Education (IPRE) funded computer science major Madeline Smith ’10, who developed the software that let students control the robots from their PCs. She also served as a teaching assistant for the class. “Being able to TA the class this semester, it was cool to see my efforts in action,” Smith explained. “I remember the day that the students realized I worked on the code they were using. They were like, ‘Wow! You worked on this?’ It was good for them to be able to see what they would be able to do after a few more courses in CS.”

So what can computer science students teach robots? To find their way through a maze, apparently. That was the goal of the final project, and most of the student teams managed to succeed (or come very close). And what can robots teach computer science majors? When students were asked to write about why they thought they were given this final project, they responded with the following: “to test our problem-solving skills,” “to make us apply everything we’ve learned,” and “to simulate the real world, where lots of things can go wrong.” “Exactly,” said Professor Stansfield. “It’s really more about the journey than about the destination."


Madeline Smith '10, left, works with students on programming robots.