In recent years many countries have introduced computer coding in the school curriculum. There is a realisation that coding is a skill that our children will need in the new jobs that will be created in our society in future. Children should learn coding, or programming as it is also called, not only because there will be many job vacancies in software development.
As jobs become more specialised, coding is likely to become a skill relevant to many careers. We do not teach our children Maths because we want them to become professional mathematicians; similarly we should not teach coding only to ensure we will have professional programmers.
But what is coding? It is often viewed as a difficult, obscure, niche subject. Let me start by saying what it is not: coding is not about being ‘good with computers’ or being able to use a spreadsheet; nor is it about being able to fix a computer when it doesn’t work.
Coding is a form of communication between humans and computers that enables us to get computers to perform almost any task.
Computer code is found everywhere around us: when we tap a button on our smartphone there are lines of code that are executed to perform a task; when we play a computer game there are lines of code that provide instructions about every possible interaction within the game; when we visit a hospital and undergo a scan, computer code gives instructions to the medical device to analyse the information collected, and perhaps even make a preliminary diagnosis.
A key aspect of programming is ‘computational thinking’: the logical and structured way of thinking required to communicate effectively with a computer
In order to communicate with a computer we need to use a language it understands. There are many programming languages to choose from. Python is often considered as the best choice for beginners. Many children-specific platforms have recently emerged aimed at introducing basic coding ideas to young children. Unfortunately these are not proper programming languages and are very limited, leading to children quickly get bored of them and possibly giving them the wrong impression of what coding really is.
Coding is a different subject to most others because, even at its most basic level, it is a specialised subject, and one most adults did not learn when they were young. Understandably schools will need some time to adapt to this new field, and this is the main reason why at the moment, children-specific platforms are used extensively. In the short-term, significant investment would be needed to engage external instructors to teach coding in schools. This is an approach an increasing number of UK schools are taking.
There are several reasons why coding needs specialist teachers. Firstly, a key aspect of programming is ‘computational thinking’: the logical and structured way of thinking required to communicate effectively with a computer. This is then coupled with a good grasp of the various coding tools so that an idea is transformed into a computer programme. This is a skill that can only be fully acquired with experience, and beginners need to have a teacher who understands the coding process well.
Secondly, there are good practices that should be taught from the start, even though their purpose may not be evident for simple programmes children write as beginners.
Finally, errors are a key part of coding, and learning to deal with them is an important aspect of becoming a proficient programmer. Even the simplest programmes can go wrong in many ways, and an inexperienced coder can spend many minutes trying to find children’s errors, instead of spending that time helping students find and correct the errors.
Children, however, are better-placed than adults to learn to code as they have less to ‘unlearn’ in order to be able to think like a computer. In some ways, coding is closer to the way children think than how adults do. It will take a while for this new subject to settle into our schools, but it is essential that it does not take too long so that our children can help shape the future, not merely be part of it.
Dr Stephen Gruppetta has a degree in Maths and Physics from the University of Malta and a PhD in Physics from Imperial College London. He spent many years working as an academic scientist (and using coding on a daily basis) and is the founder of CodeToday, a London-based company that runs workshops and courses in Python programming for children. firstname.lastname@example.org
CodeToday will run Python coding courses in Malta during July for eight- to 15-year-olds. For more information, including links to the online booking page, visit www.codetoday.co.uk/malta.