Why everyone should have to learn computer programming


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 computer languages for different purposes. C and C++ remain the fastest to execute and are used by the gaming industry, for instance. In the internet era, much of the page design is done with the likes of JavaScript or PHP. Meanwhile Python has been rapidly gaining a reputation as a general purpose code that is easy to learn.


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.


Problematis solvendis


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.


Source: theconversation.com