Ruby, with a wise penguin, a green robot, and lonely snow leopard. Drawing by Linda Liukas.
A few years ago I remember reading a book advocating that all school children should be taught to program computers. It’s a great discipline for anyone, the author argued, especially children. It teaches patience, persistence, problem-solving, the importance of planning; it can help children improve their maths and logical thinking, and it’s hugely rewarding to see something that you’ve been working on suddenly come to life and work as expected. I wish I still had that book.
A couple of stories about teaching children to write code have caught my eye over the last few weeks.
Year of code
On Newsnight, broadcast on BBC 2 on Wednesday 5 February 2014, Jeremy Paxman presented an article about the Year of Code campaign, an independent, non-profit campaign to encourage people across the country to get coding for the first time.
One of my first experiences of using a computer was in primary 7 when the headteacher brought in a Commodore VIC-20. I took computer studies in high school through to higher level, and half of my university application form was to study computer science (the other half to study divinity, which is what I ended up doing).
I loved coding as a kid. My friends and I would gather around each others home computers, whether a Commodore 64, ZX Spectrum, or BBC B, and we’d design or amend games and programs together.
People are often amazed when I say that I taught myself the web skills that I use now in my day-to-day job in the web team at the University of St Andrews. Except, that’s not entirely true: I do have the experience of those seven or eight years of coding on 8-bit computers as a child and as a teenager. That was a brilliant headstart.
It seems that today ‘computer studies’ in school is more about learning how to be a consumer and user of existing software (how to use Microsoft Word, Microsoft Excel, Microsoft PowerPoint) rather than creating your own software.
I was appalled to learn how some youngsters are being ‘taught’ to code in schools today. A couple of months ago a friend of mine phoned me asking for my help. Her daughter is studying computer studies and she is being ‘taught’ to code using… Adobe Flash!? And I say ‘taught’ because it sounds like she and her classmates were essentially shown the application, given a book and told to get on with it. It sounded like the teacher didn’t know to code either.
Compare that with my own experience in the mid-80s. I had three years of hands-on coding BASIC and machine code by someone who understood how computers worked and what the programs were being asked to do, who could tell a CPU from an ALU from a RAM. And then in my sixth year a group of six of us took ourselves off and taught ourselves Pascal in what would otherwise have been free periods for us in our timetable.
We need to be teaching our children to code so that they can contribute to the next generation of computer applications. Technology has never been more exciting than it is now. I remember my dad (who worked in the electronics and communications industry, who delivered the Faraday lecture on fibre optic communications) telling me in the early 80s that one day televisions would be so thin we could hang them on our walls. It seemed like a space-age dream, it is now reality.
My main concern about that Newsnight piece, however, is the interview with Lottie Dexter, the executive director of Year of Code (at 5′ 32″ on the video).
It’s not her admission that she herself cannot code—good on her for admitting that straight away, and even better that she is committing herself to learning this year, alongside those she is encouraging to take it up. No, it’s comments like,
“You can do very little in a short space of time. For example, you can actually build a website in an hour [...] completely from scratch.”
Well, you know. That’s true. But it’s not going to be a particularly good one, if this is your first. Erm… practice?
Paxman then asks her, “How long does it take to teach to code?”
“Well, I think, you can pick it up in a day.”
My heart sank. I was speechless. In trying to make coding sound more accessible she immediately undervalued programmers everywhere. It really isn’t quite that simple. I’m going to be bold here and state: you simply cannot learn enough about programming in one day to be competent enough to teach it. Is it not comments like that that result in school pupils being ‘taught’ how to program using Adobe Flash?
Hello Ruby, a Kickstarter project by Linda Liukas
Which is why projects such as Linda Liukas’s Hello Ruby are so exciting.
Linda, a founder of Rails Girls, wants to create a children’s book that teaches programming fundamentals through stories and child-friendly activities.
She asked for US $10,000, as I write her total is at US $336,203. (There are currently three days left to get involved.)
I think it’s a hugely exciting project. This is what Linda has to say about it:
Ruby is a small girl with a huge imagination. She stomps and stumbles around her own little world while her dad is traveling. On her adventures, Ruby makes friends with the lonely Snow Leopard, visits castles made of windows, and solves problems with the wise penguins. She bakes gingerbreads with the green robots and throws a garden party with… well, if you like to hear the rest of the story, I need your help.
Ruby’s world is an extension of the way I’ve learned to see technology. It goes far beyond the bits and bytes inside the computer. This is the story of what happens between the ones and zeros, before the arrays and the if/else statements. The book and workbook are aimed for four to seven year olds.
I believe stories are the most formative force of our childhood. Everyone has a book that made the world seem beautiful and full of possibility. My book is about little Ruby.
It’s due out in August. I’ll report back when I receive my copy, and we’ll see how Reuben, Joshua and Isaac engage with it.