Finch – an affordable robot platform for novice computer scientists
Prompting “Hello World” is among the first lessons of programming, but such simple programs aren’t able to catch the attention of young generations who grow surrounded by much more advanced and entertaining interfaces. A product of Carnegie Mellon University Robotics Institute – Finch was designed specifically to make introductory computer science classes an engaging experience once again.
Less than 30 cm (a foot) long, 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. It easily fits in a backpack and is rugged enough to survive being hauled around and occasionally dropped. But the simple look of the tabletop robot is deceptive.
“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.”
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, since its accelerometer enables it to be used as a 3-D mouse to control a computer display.
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 can be programmed with the Java and Python languages at the moment.
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”, said Illah Nourbakhsh, associate professor of robotics and director of the CREATE Lab. “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.”