The Raspberry Pi: Is it REALLY the saviour of British computing?
UK IT needs more than rose-tinted BBC Micro memories, thank you
“Suddenly lots more bedroom programmers!”
I’m not holding my breath.
The concern that the UK needs to produce more programmers is a very real one. Recruiters contact me every week: “Just thought I’d e-mail you to see how you were and oh, by the way, how would you like to earn 100K a year in London? Or Canada?” It gives me a nice, smug feeling: no matter what dreadful code I produce people will still pay me for it.
So although I can be pretty assured of employment for the next 30 years, long-term prospects for the UK programming industry don’t look quite so hot.
People often suggest that the point bedroom-based programming died out was around the transition to 32-bit computing. Not because computers became super complicated, but because this was also the point where computers stopped being about enthusiasts, and started being about office workers and consumers. You know, when computer science teachers were told to throw out their easy-to-program Acorn computers and replace them with Windows 95 boxes because “that’s what kids will be using when they get a job”.
At that moment, computer programming lessons were killed off in favour of Microsoft Office tutorials. We created a generation of office workers - yay for us.
Computer programming became really difficult - at least, for someone casually trying it out. Compilers became expensive, reserved for the engineer. Kids were no longer welcome.
Light in the darkness for British programming?
Many pundits have called the Pi the “new BBC Micro” - comparing the success of Acorn’s iconic 8-bit machine to what they hope for the Pi. And many wax lyrical about it being powered by ARM, coming from Cambridge, and so on. The Model B is what taught me - like thousands of others - to program; we all hope that history repeats itself there.
But the BBC B didn’t teach me to program on its own. It was the tool that taught me to program, but as directed by Making the Most of the Micro on telly, plus subscriptions to at least two different computing magazines, numerous books, support from my parents, and so on. It was a combined effort.
These days, the problem seems to be that there’s too much choice. It’s programming anarchy out there! There are dozens of programming languages to choose from! How is a learner programmer supposed to choose the right language for them? And assuming they pick a sensible language, how do they separate the good online tutorials and blogs from all those that are poorly written, lazy or just plain wrong? Which books do they buy? And which magazines will provide any useful information, or project ideas?
So what do you suggest, Mr Clever Clogs?
To get kids programming again requires a concerted effort. It requires consistent, good quality teaching materials with measurable goals, and options for further projects every step of the way. It needs to leave enough options open that a student can tinker and learn. And it needs to be taught by people who know how to teach.
In fact - and my idea may shock you, so keep those bowels under control – computer programming should be taught in schools!
It will require a choice of language that is appropriate to the age group. It will require software that runs on Windows and Mac computers - because they’re more likely to have one of those at home than an Pi. It will require projects and tutorials that keep kids interested in computing - it’s all about the hearts and minds!
Students need to see their first programs ‘acted out’ for them, to give them instant feedback about what their program did. My first lessons in giving logical instructions were in primary school, using Big Trak and then the Logo Turtle. “FORWARD 4, RIGHT 90, FORWARD 4... what do you think this will do? Run it. Did it do what you expected?”
When a child is equipped with the basics and taught in a familiar setting, then they are - at least partially - prepared for tinkering at home. And when a child is stuck they can ask their teacher about them, and the teacher might have an outside chance of answering, because everyone will be using the same language.
As they move to secondary school, give them a language which lets them make a game. Typical game development requires logical thought, understanding of algorithms and a degree of creativity. And it will keep the students interested. By the time they need to make choices about further education they’ll be well-prepared to tackle C++, and they’ll be equipped with the confidence to study it. And for those students who decide that programming is not for them: they have still learnt some logical thinking, problem solving, and patience.
Show a child how rewarding programming can be, and you’ll have a student who is focused, driven, and with half a clue about what to do for a career. That’s what happened to me. That is how we create a new generation of programmers.
The Pi may be a vital part of this future, or it may not. But we can’t sit around and wait for it to magically create new programmers - because it won’t do it by itself. ®
Kris Adcock is a thirty-something Midlands-based programmer with more than a decade’s experience working in the games industry. He blogs at The Further Adventures of Oddbloke.
Sponsored: Benefits from the lessons learned in HPC