Professor Doug Harms
September 14, 2011
Three sections of Computer Science 1 (CS1) are offered each semester, but one section this semester includes a lively addition to the curriculum – an intelligent mechanical agent or robot. Professor of Computer Science Douglas “Doug” Harms is teaching the pilot course.
In CS1 classes, students learn programming, and traditionally everything is done entirely on the computer. “You tell a computer what to do, and it does it – no more, no less. Giving precise directions is key,” Harms explains. “At this level computer science encompasses how to communicate, express and solve problems.”
Five years ago, Bryn Mawr College, Georgia Institute of Technology and Microsoft Research formed a consortium to establish the Institute for Personal Robots in Education (IPRE). “Their plan was to introduce a robot into the CS1 curriculum so that students would learn how to program it,” Harms says. “Not only would students learn computer science concepts, but they would also write programs to direct a robot to carry them out.”
Harms’ interest in the project began when he attended a workshop presented by Bryn Mawr computer science professors Doug Blank and Deepak Kumar at the annual Special Interest Group on Computer Science Education (SIGCSE) conference. Kumar is the author of Learning Computing with Robots. “The workshop was really fun, and the program has been very successful,” Harms says. “I was so impressed with what Doug and Deepak have done that I wanted to use the robots in my CS1 class, too.”
The programming language that IPRE uses is Python. DePauw and many other universities use Java. Once Harms discovered that the program had never been written in Java, he made it his sabbatical project – developing more than 8,000 lines of Java code and rewriting about two-thirds of Kumar’s book. “I based the book on what Deepak wrote, but moved topics around so that it make sense in Java. All of the general information, including the information on robots didn’t change.”
Harms presented the program at several computer science conferences, and he received positive feedback. “People said they have been following this project for years and have been waiting for it to be written in Java,” Harms says. “A few colleges and universities will be using my software this year.”
Each robot costs about $230, and DePauw bought 30. Each student has a robot and is charged a $50 course fee, which allows them to use the robot for the semester. Harms set the price based on the expected life of the robot so that it would eventually become self-sustaining.
The book and software are free. “I use a lot of public domain software, and I wanted to contribute somehow to the open source community,” Harms says. “I also know that a lot of colleges can’t afford expensive software. The language Java is free, and at DePauw we use Blue J, which is an integrated Java environment, and it’s free, too.”
The robot has two parts – the Scribbler, manufactured by Parallax, and the fluke board, designed and manufactured at Georgia Tech. The Scribbler has a light, speaker, light detectors and distance sensors. The fluke board is equipped with a camera and Bluetooth technology so that communication between the computer and robot is done wirelessly.
“In class we start by giving simple instructions to the robots, and then move on to sequencing, making decisions, repetition and other CS concepts,” Harms says. “For example, if there is something in front of the robot, then the student has to instruct it what to do. In a traditional computer science class, the decisions being made are about things happening on the screen, but in the lab with the robots, they are in the context of how you can direct the robot.”
Students have the software installed on their computers so they can work on projects outside of the lab – in their dorms, lobbies and hallways. “I thought, 'What a cool way to get non-computer science students interested in computer science,' which has happened at other institutions using robots, and that intrigued me.”