United Kingdom schools rethinking IT curriculum.
When Michael Bloomberg, Mayor of New York City, tweeted in January that he was going to learn how to write computer code, there was a backlash implying that programming is not for everyone. This notion is outdated and simply wrong.
One of the reasons that programming is increasingly perceived to be a 21st-century literacy is because is it ultimately empowering, developing the ability to manipulate and control your digital world.
Therefore I fully support the movement to get more children programming, especially as part of the rethinking of the IT curriculum in UK schools. As Cal Flyn noted on this website yesterday, it is long overdue.
But learning how to programme is not the endpoint. It is part of the journey of equipping young people with the necessary digital skills to solve problems. We should be teaching children the key, technology-independent skill of computational thinking.
- Who is teaching our children how to code?, 11 Oct 2012
- Top 10 universities for IT and computer science, 11 Oct 2012
- Students drop ‘soft subjects’ during recession, 11 Oct 2012
- Teaching science in schools: the appliance of science, 19 Sept 2012
- MIT: the world’s best university, 11 Sept 2012
We need to teach principles and theory if pupils are to develop a deeper conceptual understanding of how technology actually works, and how it can be used to solve problems. Computational thinking means solving problems and designing systems in a way that draws on concepts fundamental to computer science.
There is a quote commonly misattributed to Edsger Dijkstra: “Computer science is no more about computers than astronomy is about telescopes.” This is where computational thinking fits in. It means thinking algorithmically and with the ability to apply mathematical concepts. It means understanding concepts of scale and abstraction.
Of course, there is an important balance to strike between focusing on developing practical programming skills (i.e. being able to write code for a specific task) and embedding a deeper understanding of languages and constructs: principles of programming.
Programming is a creative endeavour – it offers a tangible way for children to express themselves by hacking, making and sharing – and so it is easier to engage and enthuse pupils with this approach.
But because we know technology changes quickly, we need to make sure that when Technology X appears, there is transferable knowledge and a deeper conceptual understanding of how it works and how it can be used.
The Royal Society’s Shut down or restart? report in January highlighted the highly unsatisfactory state of IT education in the UK, recommending that every child should have the opportunity to study the rigorous academic discipline of computer science.
With the shelving of the existing ICT curriculum and the development of a new programme of study as part of the National Curriculum Review in England, we are at an exciting crossroads, with a real opportunity to make technology and computing a key focus of our education system.
But if there’s one lesson we should take away from the problems of the past 15 years is that we must not focus on transient and superficial technology skills.
Computer science is not programming (and vice versa) – we should be wary of teaching programming just for the sake of teaching programming, without thinking about why we want to get kids to program.
Dr Tom Crick is a Senior Lecturer in Computer Science at Cardiff Metropolitan University and Chair in Wales of Computing At School(CAS). He blogs at Computing: The Science of Nearly Everything or you can find him on Twitter: @DrTomCrick.