Can anyone learn to program? I think so, and I think it’s important that those teaching computing think so too. I’ve been at a couple of conferences in the last month where the question came up, and I was really surprised by how many in these audiences thought there’d be at least some in their classes who would just not get programming. This worries me, I think because it suggests that some teachers are approaching the new curriculum with a fixed model of pupils’ ability, as if this were presented to us as a given with which to do what we can.
Learning to code is less about ‘natural’ ability and much more about working hard at it. That coding is hard is no bad thing: doing challenging things provides far more opportunities for learning than doing easy things, and an attitude characterised by perseverance will serve pupils well beyond their computing lessons. It’s also what makes it fun – there’s a similar buzz from fixing a stubborn bug as from completing a tricky video game level. In formal education, success with coding is also likely to be about having teachers who explain things well, set interesting, challenging tasks and believe that their pupils will get there. Carol Dweck’s notion of the growth mindset is relevant here – to make progress with computing, pupils should believe that they can succeed if they work at it, and their teachers should help them to believe that. As Dweck puts it “teach … children to love challenges, be intrigued by mistakes, enjoy effort, and keep on learning”.
A vision that computing is for everyone was at the heart of the drive to get it on the national curriculum. There’s always been some programming there, although evidence suggests too many teachers paid lip service to this in the past, but the new programme of study places far greater emphasis on computer science as the foundations of the subject. This includes programming and an understanding of networks and hardware, but also, importantly, elements of ‘computational thinking’ such as logical reasoning, algorithms, decomposition and abstraction. It’s these concepts that allow us to make use of computers to extend our own abilities to solve problems and understand systems. Whilst only a minority of pupils will go on to careers in the IT industry or academic computer science, digital technology plays such a significant part in our lives and society that some understanding of how it works ought to be an entitlement for all. Similarly, the insights into natural and artificial systems that computer science offers, like those from the other sciences, should be there for all.
There are parallels between computing education and music education – just as becoming a professional (or serious amateur) musician is going to demand commitment and individual study far beyond that of whole class music lessons, so the software engineers and computer scientists of the future will be developing apps and learning languages that go beyond those covered in class. That’s fine. And yet, music deserves it’s place on the curriculum for all, irrespective of ‘ability’, gender or background, as part of a rounded, liberal education, as a medium for pupils’ creative expression and because it helps pupils to understand the world better. The same is true of computing.
The phrasing of the new programme of study for Key Stage 4 is unique in the national curriculum: rather than the usual ‘pupils should be taught…’ it begins ‘All pupils must have the opportunity to study aspects of information technology and computer science…’. Whilst this is capable of multiple interpretations, I think we ought to adopt a fairly literal stance here, and expect secondary schools to make their KS4 courses in CS and IT open to all their pupils. I know many schools want to take a more pragmatic stance, using performance at KS3 (or earlier) as a predictor of exam success, and tailoring options to maximise pupils chances at GCSE and school league table points, but wouldn’t it be better to open up GCSE CS to any who are interested? Studying CS at this level would be useful for many post 16 pathways, as well as future career choices in an increasingly digital world. Furthermore, opening up CS as on option for everyone would make more of a difference for those from socially disadvantaged backgrounds, or with a range of special educational needs, than for those who might sail through such a course.
Gates, Jobs, Berners-Lee, Page, Brin and Zuckerberg achieved what they did partly through the opportunities their education offered them – ensuring that all pupils now receive their entitlement to learn computing means that far more will have the chance to be their successors.
Originally published on the TES ICT and Computing blog as part of their Computing Week.