Learning how to program a computer to display the words “Hello World” once may have excited students, but that hoary chestnut of a lesson doesn’t cut it in a world of videogames, smartphones and Twitter. One option to take its place and engage a new generation of students in computer programming is a Carnegie Mellon University-developed robot called Finch.
A product of CMU’s famed Robotics Institute, Finch was designed specifically to make introductory computer science classes an engaging experience once again.
A white plastic, two-wheeled robot with bird-like features, Finch can quickly be programmed by a novice to say “Hello, World,” or do a little dance, or make its beak glow blue in response to cold temperature or some other stimulus. But the simple look of the tabletop robot is deceptive. Based on four years of educational research sponsored by the National Science Foundation, Finch includes a number of features that could keep students busy for a semester or more thinking up new things to do with it.
“Students are more interested and more motivated when they can work with something interactive and create programs that operate in the real world,” said Tom Lauwers, who earned his Ph.D. in robotics at CMU in 2010 and is now an instructor in the Robotics Institute’s CREATE Lab. “We packed Finch with sensors and mechanisms that engage the eyes, the ears — as many senses as possible.”
Lauwers has launched a startup company, BirdBrain Technologies, to produce Finch and now sells them online for $99 each.
“Our vision is to make Finch affordable enough that every student can have one to take home for assignments,” said Lauwers, who developed the robot with Illah Nourbakhsh, associate professor of robotics and director of the CREATE Lab. Less than a foot long, Finch easily fits in a backpack and is rugged enough to survive being hauled around and occasionally dropped.
Finch includes temperature and light sensors, a three-axis accelerometer and a bump sensor. It has color-programmable LED lights, a beeper and speakers. With a pencil inserted in its tail, Finch can be used to draw pictures. It can be programmed to be a moving, noise-making alarm clock. It even has uses beyond a robot; its accelerometer enables it to be used as a 3-D mouse to control a computer display.
Robot kits suitable for students as young as 12 are commercially available, but often cost more than the Finch, Lauwers said. What’s more, the idea is to use the robot to make computer programming lessons more interesting, not to use precious instructional time to first build a robot.
Finch is a plug-and-play device, so no drivers or other software must be installed beyond what is used in typical computer science courses. Finch connects with and receives power from the computer over a 15-foot USB cable, eliminating batteries and off-loading its computation to the computer. Support for a wide range of programming languages and environments is coming, including graphical languages appropriate for young students. Finch currently can be programmed with the Java and Python languages widely used by educators.
A number of assignments are available on the Finch Robot website to help teachers drop Finch into their lesson plans, and the website allows instructors to upload their own assignments or ideas in return for company-provided incentives. The robot has been classroom-tested at the Community College of Allegheny County, Pa., and by instructors in high school, university and after-school programs.
“Computer science now touches virtually every scientific discipline and is a critical part of most new technologies, yet U.S. universities saw declining enrollments in computer science through most of the past decade,” Nourbakhsh said. “If Finch can help motivate students to give computer science a try, we think many more students will realize that this is a field that they would enjoy exploring.”