I was in my early teens when the computers arrived. They’d always been centre-stage in science fiction flicks and there in the background of dusty documentaries where boffins would stand by shoulder-high cabinets of flashing lights, fiddling knowledgeably with switches and reels of tape. But suddenly in the early 1980s, home computers were everywhere. My parents and extended family clubbed together one Christmas and bought me a BBC Micro. These days I lecture in Computer Science at The University of Manchester, and I can pretty-much draw a straight line through my life from the arrival of the beige BBC box to what I do now. If there was a school reunion, I doubt any of my classmates would be surprised by my choice of career. I’m still as much of a geek, as much in love with computing as I was then, only now it’s my job to pass that passion on to each year of students that I teach.
The British-designed BBC Micro was definitely at the frumpy end of the home computer market: solid, dependable and educationally valid. Next to its sexier American cousins, the Beeb’s graphics and sound capabilities were crude, and my friends’ Commodores and Ataris with hardware sprites and programmable polyphonic synths put it to shame as a games platform (though loyalty to my chosen machine meant I wouldn’t admit it at the time). But the BBC Micro wasn’t designed as a home-entertainment machine; it was a knowingly and ruthlessly engineered gateway drug into Computer Science. For me, the addiction hit hard.
The BBC Micro booted from power-on to command-prompt almost instantaneously. And that was it: no graphical eye-candy, no minesweeper, solitaire, or Angry Birds, just a black screen, a blinking cursor and an invitation to do something interesting. It’s only with hindsight that I realise how cleverly designed the BBC was to guide a new user from their first taste towards the harder stuff. First, its BBC BASIC programming language (which was far more sophisticated than those of its American cousins); then a built-in 6502 assembler; and finally, expansion ports and hardware under the hood that were robust enough to tolerate inexpert prodding with oscilloscopes and the occasional soldering iron. The BBC Micro’s main designer, Steve Furber, now a Professor at the School of Computer science where I work—and perhaps the Heisenberg of Home Computing—knew what he was doing. (No, not Uncertainty Heisenberg, the other one but without the evil.)
As the home-computer generation reached university-going age, applications to Computer Science departments boomed. But as computers themselves have matured and settled into our everyday lives, the number of people wanting to study them has been in gentle decline. Hidden behind their shiny user interfaces or out of sight inside other devices, computers have been a commodity for some time: everyone knows how to use them, so why bother studying them? Compounded by the a UK IT curriculum that emphasised the fairly mundane use of wordprocessors and spreadsheets rather than the creative and mind-expanding things like programming, it’s not surprising that enthusiasm for learning about computers at University level has dwindled.
And then, along comes the Raspberry Pi: the tiny system-on-chip credit-card-sized single-board Linux computer that can be bought for less than the cost of the latest console game. Designed by Eben Upton (I’m tempted to say ‘Pinkman to Furber’s Heisenberg’ but I think I’ve stretched that analogy past (ahem) breaking point already) to re-invigorate teaching of computer science in the school classroom, it’s quickly become the must-have gadget for hobbyists and hackers. Pis have been attached to balloons and sent into near-space, and connected to pretty much any bit of hardware you can think of. For my money the Pi has done more to encourage the delight of tinkering with computers than anything since the BBC Micro. And there’s a satisfying bit of historical continuity here too: like pretty-much every small or mobile device on the planet today, the Pi’s central processor is an ARM, also the product of Professor Furber’s enormous brain (the one inside his head, not the one he’s now building in silicon).
There are loads of resources appearing that use the Pi as a teaching tool for schoolkids, and many enthusiastic advocates for its use at that level. But I found myself wondering what this might mean for teaching computer science at undergraduate degree level. Assuming that the Pi—and maybe if we’re lucky the recently re-designed computer science curriculum for primary and secondary schools—sparks interest in high-school, it’s still going to be a few years before we see any effect on our undergraduates. And in computer science, ‘a few years’ is a very long time. So in a moment of recklessness earlier this year I approached our Head of School with a plan to give all our new undergrads their own Raspberry Pi when they turned up to start the academic year, and to re-write our introductory labs to match. A week or two later, with financial support from the University’s Teaching and Learning Innovation and Dean’s funds and enthusiasm from several colleagues to give it a go, the Pi Man project was born.
We’ve just finished the first phase of the project, have handed out around 230 Pis to the new first years, and worked through a series of brand-new lab exercises written in an attempt to get students’ hands dirty, and to put them in control of their machines much as I was able to be with my trusty BBC micro twenty-or-so years ago. Although it turned into one of those projects that you’d never have started if you’d thought through in advance how tough it was going to be in reality, we’re pretty happy with the results. If you’re interested in what we did and how it worked out, details will be in my next post.
29,377 total views, 0 views today