Computing is not Programming

There’s a fair amount of “teaching kids to code is a [great|terrible] idea” style articles around at the moment. For example the Telegraph recently ran a piece titled “The Government wants to teach all children how to code. Here’s why it’s a stupid idea

It’s a bit Clarkson by numbers, which I think was the point, but there are valid points in there and it got me thinking about both sides of the argument. This a good thing.

We are picking up where we left off in the 1980’s in the way we introduce technology to our children – see Nesta’s Legacy of the BBC Micro report. It makes sense to continually evaluate it and make sure it’s right for them and not just right for election campaigns.

The specific aspect that’s feeding the articles comes from the misapplication, or misinterpretation, of Computing for Programming. It’s easy to see why as code is the “stuff” that makes a Computer do something. There’s a good parallel here with being able to read and write musical notation and its composition.

Code is often not the only end product of a lot of design, thinking and problem solving. The valuable end product is often not the code but the data it subsequently produces and increasingly in large volumes aka big data. Being able to understand, manipulate and secure it is important and that’s not the same thing as programming. This is why it’s important to see that being able to write code is really useful but:

Computing is not programming.

Programming is a part of Computing but there’s a lot more to the area of Computing than just instructing a machine with code. It’s also about other aspects such security, privacy, Internet architecture, distributed service and how this affects our social, commercial and global communication.

Computing, as far as we’re concerned as parents and consumers, is largely about the application and use of technology to make things easier for us e.g. receiving an email/photo to the other side of the world in seconds rather than waiting days for a letter, ordering consumables, etc

Academically, Computing exists to solve problems that are too large or too time consuming for our poor old monkey brains to handle – which is usually anything to do with large amounts of data and numbers. e.g. forecasting weather, analysing massive amounts of data from the Large Hadron collisions at CERN, or helping architects develop safer structures through modelling.

Computing is not Programming - Monkey Tools
Computing is not Programming – Monkey Tools

Speaking of monkey brains ,this is really the point of why it’s important Computing as subject needs to be taught from a young age in schools:

Humans are tool users and the Computer is the most advanced and useful tool we have.

We are all taught from a young age to use a fork and knife, but not all of us will be surgeons. I know, it’s a trite example (and I’m certainly not saying programmers are the surgeons of Computing – that’s UI designers for me 😉 but you get the jist, Computing is learning to use a tool and it’s not just about coding.

Here’s a real example:

I worked as a Software Engineer at Reuters in a small R&D team that programmed the Reuters Business Briefing products for web. When I say a small team, although there were only 3 programmers the real team was much larger. Working with us was a team of branding experts, User Interface designers, SQA testers, System Administrators, enterprise network architects, operations deployment engineers and product managers.

If you read back that roll call that worked to deliver what became an award winning product, the number of people writing code was pretty small.

The majority of the jobs on a technical project were clearly not programming. Though, if you talk to the majority of programmers they’d tell you that they’re doing most of the work. But we’re slightly biased!

This is where the educational aspect of Computing beyond coding can have a real impact. There are many great, interesting, important, jobs building products that don’t involve any coding. But what they all need is a solid understanding of Computing.

Why? Because if the research is correct, the next 7 years will see a massive amount of opportunity for our children if they’ve got the correct skills.

Computing Jobs By 2020
Computing Jobs By 2020

Leave a Reply