A high profile campaign to introduce a more rigorous computer science curriculum to UK schools has resulted in the UK Education minister, Michael Gove announcing that he will ‘scrap boring IT lessons‘ in schools. The core of the argument is that pupils emerging from the compulsory education sector do not have requisite skills in computer science to build software applications – rather, they are led through a curriculum which develops their skills in using productivity tools such as Microsoft’s Office suite.
Gove cites the achievements of Alan Turing as a legacy to which our school children should be aspiring. Turing was a remarkable figure indeed, a gifted mathematician, logician and computation expert. Yet his path to computer science hero status was similar to which many of our school children follow today. Classical school education followed by degree studies in mathematics at Cambridge and PhD achievement at Princeton. The foundation of all Turing’s work was in mathematics, yet this fact is strangely missing from many of the statements issued by Michael Gove and his advisors, who include Ian Livingstone, OBE, a veteran of the UK video games industry.
The underlying principles of all computer science disciplines, be they software design, programming, testing, programming language development or operating system design are mathematics. Without a strong mathematical support in areas such as logic, algebra, number systems, set theory and so on, then yes, school pupils may be able to undertake some programming activity (and I firmly believe they should!), but the defining principles which explains why their program works, or how to design their program to solve a particular problem will be lacking. Lets give our school children more programming in ICT lessons, but lets also give them the mathematical tools to be able to do it effectively.
Glancing in our metaphorical rear view mirror to cite Alan Turing is one way of looking at this problem. I believe though, that we should be focusing forward on the road ahead, giving our school pupils the mathematical skills they need to understand and support their software development activity and interests. Not all school leavers will want to become programmers or developers of software, but those that do should be given the right support to enable them to build their careers effectively.