One the reasons that I give for embarking on a career in physics is that I get to play with lots of cool toys. As a kid I used the BBC B computers in school, and had its baby brother, the Acorn Electron, at home (bizarrely there is an online archive of “Electron User” online, with a mention of me seeking help with some games). I learned rudimentary programming in BBC BASIC (10 PRINT”DAVID” 20 GOTO 10 etc) and impressed my fellow classmates with my coding (ahem) skills. I typed in programs from magazines and then debugged them as my typing was rubbish. I learned this stuff as computers and their software were being invented around me.
As I got older I continued my interest in computers, but then I got access to science labs at High School and there were other interesting things to play with and my interests diversified. While I did computing up to Higher level at school, looking back, I don’t think the course really stretched me enough, and there wasn’t enough emphasis on programming (or at least enough time spent on it to get a good mastery of the topic). I continued with programming in University, and now in my current job I don’t do very much, but I use programming like techniques and still retain my core understanding from when I started playing aged 8. I’ve never formally studied object orientated programming, for example.
There is a continued discussion about how we can get kids back to the ‘glory days’ of tinkering and programming. The idea is that kids today are presented with so much functional technology that they can consume but not create. The launch today of the Raspberry Pi board (they appear to have sold out already) is an attempt to fix this perceived problem. Raspberry Pi is a circuit board level computer and costs around £20. It is fully functioning with decent processor, on-board graphics and memory and will run Linux. The idea is to get these into the hands of educational users, kids, hobbyists and the like and try and kick start a new kind of computer learning craze. In many ways this is a well trodden path, with ‘baby’ microcontroller systems like the Arduino out in the wild already. The main difference between these types of cards and the Raspberry Pi is the fact that the Raspberry Pi is more akin to a conventional computer – but this may be an issue too: the card is £20, but you need to add a monitor, keyboard and mouse, adding, say another £100 to the equation.
I would have loved Raspberry Pi as a kid but the problem I see is that when I think back to me at school I was in a handful of kids who was interested in programming. Most just wanted to play Frogger. That was our golden age and I believe that the same is true now. I suspect the proportion of children who are interested in tinkering, coding and the like is much the same. The BBC computer project brought technology into schools, but children consumed just as much and in the same proportions then as they do now.
What is different today is not so much that we need more programmers, but that if you can program and make stuff, you stand a much better chance in the modern workplace. So further education is important. Those skills are valuable, and with the increase in web technologies and increasing flows of data they open up many more opportunities than if you have no idea that python refers to something other than a snake.
I applaud Raspberry Pi – it’s an excellent idea and I really hope it works. I’m just not sure that it will appeal to kids or teachers other than those who were engaged in this sort of stuff anyway. I hope I’m wrong, and if nothing else we can make kids aware of what is possible and how it can lead to good jobs in the future. Maybe we can inspire some to make new tech and help pay off the budget deficit. While I didn’t get to order one today, I will get one, have a play and see if my own kids have the same sorts of interests as I did nearly thirty years ago. Who knows where they might end up?
Accountants. Lawyers. Dcotors. Makers?
NOTE: The other major difference between the Raspberry Pi and boards like the Arduino is that it doesn’t have input and output pins (as far as I am aware), so it will require an external interface board if you want to get it to measure something, or give an output signal. Of course an Arduino board requires a computer to interface with it in the first place, so swings and roundabouts.
UPDATE 3/3/12: The Raspberry Pi does have an add-on board, the Gertboard, which will add on input and output functionality (and presumably extra cost), but clearly adds significantly to the types of things that will be possible.