Before I start into this piece properly, I want to make the following point absolutely crystal clear. None of what I say applies until we handle some primary skillsets adequately. They are as follows:
- Reading and comprehension
- Numeracy and logic
In other words, these three skill sets are the foundation for the education system.
Now. Back with the Year of Code.
The powers that be in the UK have decided to put in place an initiative called The Year of Code. You’ll find a few details here, so happy reading. The key motivation, apparently, is to fill a coding skills gap.
This bit, I thought, was interesting:
Such endeavours mark the build up to September, when computer coding will become a compulsory part of the curriculum for every child over five.
I am sure someone thinks this is a very good idea. I am not one of them. I do honestly think you’d get a lot further with teaching people to code – kids aged five – if you made sure they could read and write first. And count. Coding without some numeracy skills just isn’t going to happen. And this is from someone who has been pushing Scratch for 10 years. Scratch – by the way – is a computer programming language developed by MIT to help children to learn to program.
So. There have been comments about the Year of Code. Its public face did not do very well on BBC Newsnight during the week. She cannot program. And the discussion is full of comments about how easy it is to code. It is very easy to code when you are typing what is in front of you.
I bang on, from time to time, about data in itself being pointless if you don’t sit down and work out what questions you want to ask it. Programming has a similar dimension. Anyone can write – environment set up aside:
and that’s a program.
But I don’t spend my day whiling around writing strings to a screen. I use it – for example – to automate calculations I do frequently. I use it to run statistical analysis. In my entire life I have never spent one Saturday developing an application that answered a question I did not have. Some of those questions have been assignments, some of them are things for myself (there is a nice little R script under production to pull the figures for property sales in Cork apart). Some things have been websites. Programming and writing code has always had a planned output.
So I don’t necessarily think focussing on code is the primary thing you should be doing here. Focussing on problems people can solve, that’s a far more important skill. And you need elite communication skills to be able to do that.
Not a lot of people remember now, as they wander around with their iPhones and Androids, that 60 years ago, there wasn’t much in the way of computering power outside the government. The first commercial computer to come into Ireland was, as far as I am aware, bought for Aer Lingus, and in fact, one of the first commercial problems to be solved using computers was the whole airline reservation thing in America. Legend has it that issues in the manual process in booking tickets led to the boss of IBM and the boss of American Airlines winding up bumped off a flight due to overbooking caused by failures to keep records in several airports aligned and so, over coffee, in a position to have a chat about how this could possibly be made more efficient leading to fewer people getting bumped off. We think we have it bad now.
Anyway, the point of that story was here is a problem – chaotic air ticket bookings getting lost, duplicated, overbooked – and there is a man with a vision, a bunch of highly paid computer geniuses and some money – who allowed the problem to get (reasonably) resolved. Every day, someone has a problem, and someone fixes it.
When we focus on the response, and not the recognition of the problem first, we are not really teaching people to code. We’re teaching them to regurgitate. So being honest, focussing on code rather than problem analysis is probably a bad way to go. Doing it at age 5 when you’ve not fully covered literacy and numeracy, that’s not ideal either.
Moving back to the year of code, I don’t like what is essentially a PR initiative. The assertion that, for example, we can teach teachers to code in a day, is wildly inaccurate. You can’t. And yet, there are going to be courses doing just that.
I learned to code when I was 13 years old. A bit, that is. I learned some basic from a massively inspirational maths teacher who swiped a week out of his schedule to teach 29 13 year old girls to write some basic and again, to work out how you might break down a problem. I stopped when I was 14 for some reason and I started again when I was 27. I do honestly believe that children should learn to write programs but that this is not really practical without the supporting skills of reading, writing, numeracy and breaking problems.
So the objective of this is to plead – in Ireland – please do not implement a PR exercise like this. Do something a bit more indepth. Talk to the people who run with Coderdojo in Ireland – we are getting hundresd if not thousands of kids up and down the country into schools and halls on Saturdays – ie outside school hours – and identify what drives this; what makes them enthusiastic to do it. When you put money into getting 30 Raspberry Pis into a school, learn how to use them creatively. Treat the computer lab a bit like a woodwork lab, where things get tried and tested. Raspberry Pis are not expensive, and if one gets fried the odd time, so be it. They can very often be fixed by formatting the SD card holding their operating system. Load the lab up with stuff from Adafruit. IT and programming covers a multitude between messing around with hardware (program up those Christmas lights and motion controlled webcams). They are not typically expensive – not in the way that Apple iPads are – but from a technical and programming point of view are enormously learner friendly. And teach kids the wider skills of recognising the computer equivalent of “I want to make a table, how do I achieve this”. Focus on the steps they make to do this rather than the end result.
This is a skill more valuable than anything. The one that doesn’t make you give up at the first hurdle.
Make this a general education policy. Not a PR push. And make it inspirational.
I see a lot of commentary about how some people aren’t talented for programming skills, and, indeed for language skills. We don’t tend to tolerate this from reading any more (although we still do for basic numeracy and in this country, foreign languages).
The simple truth is society changes and reading and writing become universal.
This can be true for analytic thinking and problem breakdown. And programming.
In the meantime, I’d favour teaching 15 year olds how to use Python to do maths calculations rather than a calculator but that’s just because that’s the way I do it. And Scratch. Don’t forget Scratch.