John R Woodward and Marwan Fayed are reporting for The Conversation on why computer programming should be taught in schools.
News that numerous cathedrals are offering short courses in Latin is a reminder of the long decline of the language over the years. It was a core subject in the British education system until fairly recently – and not because anyone planned to speak it, of course. It was believed to offer valuable training for intellectual composition, as well as skills and thinking that were transferable to other fields.
It may have been the right decision, but when it was ultimately decided that these advantages were outweighed by Latin being a dead language we arguably lost that intellectual training in the process. This is why we want to make the case for moving another discipline to the centre of the curriculum that offers analogous benefits – computer programming. And unlike Latin, it is anything but dead.
There are many parallels between natural languages and programming languages like these. You must learn to express yourself within the rules of the language. There is a grammar to comprehend. And what you write must be interpretable by another human being. (Yes, it must be interpretable by a computer. But just as Noam Chomsky’s example of “colourless green ideas sleep furiously” is grammatically correct nonsense, you can write obfuscated computer code that no one else can decipher.)
People who program can communicate with computers, which is becoming more and more important now that computers have a hand in almost everything. In today’s IT-literate world, we are all expected to be fluent in word processing and spreadsheets. The next logical step is to be able to program.
The younger generation are already exposed to computers almost from the day they are born, which explains for example Barclays bank’s recent launch of Code Playground, an initiative to engage young children in the basics of programming via a colourful website.
There is a myth that only maths geniuses are suited to programming. It is more accurate to say you need a logical approach and an ability to problem solve. Just as Latin constructs reinforce communication, programming constructs reinforce problem solving. It teaches you to break a problem into achievable chunks and to think very precisely. And once you have mastered the basics, it opens up great potential for creative thinking.
Then there are specific workplace benefits, such as for businesses that are building a bespoke piece of software. Errors sometimes occur when documents outlining in English how a program should work are translated into computer code. Those who have an appreciation of a programming language can write these more clearly. Indeed, businesses usually have to employ specialist analysts as intermediaries to help with this translation process.
As computers become more dominant, those who don’t know how to think in this way risk being increasingly left behind. We can foresee a time when greater numbers of people become interested in learning to program for themselves, but in the meantime there is a great case for making the basics of computer programming a core skill at school.
One candidate language would be Python, it’s freely available and one of the easier programming languages to learn – compared, say, to C/C++. It has grown in popularity in recent years, initially for this simplicity but lately because it has been adopted by the big data community. It is likely to be around for a few years and not become a dead language any time soon. There are plenty MOOCs (online courses) to get you started.
If a teacher walked into a classroom and told today’s students they were going to study a dead language, you can imagine the reaction. Imagine instead introducing them to an easy-to-use programming language which is probably already installed on their laptops. It can allow them to automate many boring tasks such as checking email and sending out pre-written responses; or receive custom notifications by text; or download files or copy text from a website whenever it updates.
It’s time that those in charge of education policy recognised the shift in employability skills and the need for a new generation of problem solvers. We may have reached the point where the three Rs of education – reading, writing and ‘rithmetic – should become the four Rs, with the addition of programming. Or ‘rogramming, as we would soon get used to calling it.
Read more articles from The Conversation.
Do you think schools should teach programming? How would it benefit students? Let us know your thoughts in the comments below or on Twitter.
Are you a trainee teacher, NQT, teacher, headteacher, parent or just someone who cares about education and has something to get off your chest in a Schools Improvement Guest Post? Follow this link for more details at the bottom of the page.Don’t forget you can sign up to receive our daily email bulletin (around 7am) with all the latest schools news stories. Your details will never be given to anyone else and you can unsubscribe at any stage. Just follow this link.
We now have a Facebook page - please click to like!