Coding in Primary schools is not really the solution to a shortage of skilled programmers right now; done badly, it won’t help in the future either. There is an emerging generation of kids who are growing up with smartphones and tablets, and ‘coding’ isn’t the skill they need to learn
Those who criticise the plan on the grounds that the skills taught now will be irrelevant in 20 years display a serious lack of undertstanding of computer programming, and a deep grasp of how this will be delivered.
There is a risk that it will be delivered as a fat contract focused on learning where to put semi-colons in a specific programming language. Kids will be forced to rote memorization of how to use a particualr programming language without deeper understanding of how programming in general works. Those skills will become out of date, not be easy to update, and may be offputting for many children.
Proper computer science is about algorithmic thinking – analysing a task and breaking it down into its component steps and then choosing the best language to code that based on the nature of the problem, not ‘I have a hammer, so everything is a nail’ Simon Lewis has explained this very well yesterday in his blog, and John Naughten has brilliantly likened digital life to food and cooking – either you eat what is sold to you, or you understand how to read recipes and cook for yourself. For me, coding is like cooking, a recipe is a problem broken down into a programmable set of actions. I know the standard cookie mix – 2 oz sugar, 4 oz butter, 6 oz flour, and because I know that, I can adapt it to a lower GI version for me – less sugar, buckwheat or ground oatmeal instead of flour. The conceptual basis of learning to cook is very similar to the conceptual basis of coding – look at the problem, deconstruct it into key elements, work out the steps required to solve it, and then do it. Teaching kids to use one recipe for cookies creates drones; teaching them to analyse a problem find solutions produces creative problem solvers – who may become coders or who may simply be good at explaining to programmers what they need.
One the one hand, the vast majority of todays primary school kids will never become programmers – we don’t actually need that many coders. One the other hand, they will all grow up in a profoundly digital world, and they will need to understand how it works, and how to make it work for them. For kids growing up in a world of apps, the ability to manage processes, which computer science, properly taught, will teach them, will be essential. My collection of digital tools works because i know how to move data from one to the other, and how to use services like IFTTT, Tasker or Workflow to automate those jobs.
The elephant in the room however, is why we do not have a full set of free, open source digital texts and learning resources for the primary curriculum yet, and why no government has bothered to commission creating a base set. I’m not asking for slick, perfect apps here; just nice clean open ebooks that don’t weight kids down with 20 kilos of dead tree. If we want our kids to grow up as effective digital citizens, why have we not done this? Why are we not putting these online, so that classes can have local copies to share, annotate , digitally scribble on, collaborate with, print (yes, print on paper – or off a 3D printer) muck around with and scan back to digital. Getting a baseline set of materials online would not cost an enormous amount; it would give teachers an opportunity to work digitally with content with which they are familiar and allow them to build the set of social, digital knowledge skills that everyone needs.
The other elephant, of course, is that we need to address the pupil-teacher ratio by hiring, I guess, 2,000 extra teachers. Teaching coding in classrooms with 26-28 or even 30 teachers will be just as successful as teaching Irish.