The Finch is a $99 robot created by researchers at Carnegie Mellon University that attempts to make programming look like having fun.
We all know that there is something wrong with modern computer education. Back in the late 80s people were enthusiastic about learning to program and even about learning the deeper ideas of computing. Today the enthusiasm is gone and they are simply taught some boring stuff about how to work with a word processor and surf the web.
Of course people are interested in aspects of computing - mobile phones are the cutting edge of chic and social networking is almost an obsession. But the gap between creating something that looks cool and sort of thing that a beginner can create gets ever wider. Can you blame a student for not wanting to sit in front of a text display typing in instructions only to produce "Hello World".
CMU has decided to do something about it and has created The Finch a $99 robot that attempts to make programming look like having fun. It is the result of a lot of research into just what turns a student on - an it's also robust enough to stand being misused. The design has been licenced to BirdBrain Technologies which now sells Finch online at www.finchrobot.com for $99 each.
"Our vision is to make Finch affordable enough that every student can have one to take home for assignments" said Tom Lauwers, CEO of BirdBrain Technologies, who also 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.
It looks a lot like the early turtle robots that were used with languages such as Logo to teach turtle geometry - but it is a lot more sophisticated. It has a wide range of sensors and transducers that give the student a richer environment than just steering the robot. On-board sensors include:
Light, temperature, and obstacle sensors
It also has a "beak" or "nose" that can light up in a range of colors via an LED and yes it does have a pen holder so it can be used for all of the original turtle-type drawing projects. Batteries aren't included, however, as it doesn't need them being powered and controlled via a USB cable.
As for software the picture isn't quite as rosy at the moment. You can just use either Java, or Python - both fine languages but very traditional and text based. The good news is that language support is currently being expanded and a Scratch-like visual language is under development extending the reach of The Finch to younger students. The development systems used are simply what you might use for any project in the language, i.e. there isn't a Finch IDE. For example, if you opt for Java then you can pick between NetBeans, Eclipse, command line etc to develop your Finch programs.
The website also has lots of assignments and demo programs. If you want to learn more about the CMU vision of what The Finch can do for computer science watch the video below - but be warned it is a bit on the deadpan dull side:
The video also contains one amusing error. A Mac was never a green text machine - it had one of the first commercial GUIs in black -and-white!
A more interesting view of the Finch in action is the simple interaction program:
So is it going to work?
Anything that increases the appeal of programming has to be a good thing. My only reservation is that, to my eye at least, the Finch just doesn't quite look cool enough. It has the air of a baby's toy rather than an iPhone. Having said this I hope I'm wrong and I for one have placed an order just to play with the device. Who knows what a hacked Finch might deliver?
An online conference covering cutting edge topics in Artificial Intelligence with speakers including Geoffrey Hinton and Yoshua Bengio takes place at the end of April. Book your place now for a saving [ ... ]
Every now and again you will read of a breakthrough claiming that some weird computer or other can solve NP problems in P. Putting this another way, we are presented with a super Turing machine capabl [ ... ]