Share this article:
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 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.
This article was originally published in The Conversation under a Creative Commons Attribution No Derivatives license. Read the original article here.
Visit the Elsevier Store to view our extensive range of Programming and Software Engineering titles! Below are two titles that deal with the topic above. Use discount code STC215 at checkout and save up to 30% on your very own copy!
Programming Language Pragmatics is the most comprehensive programming language textbook available today, featuring an integrated treatment of language design and language implementation. Users will find this a solid resource to help them understand the most important issues driving modern software development.
Matlab covers all the latest changes to MATLAB’s software and gives a full introduction to MATLAB programming, this bestseller includes detailed explanation of MATLAB’s powerful functions and features in-depth coverage of the fundamentals of input/output required for many engineering applications.
Computing functionality is ubiquitous. Today this logic is built into almost any machine you can think of, from home electronics and appliances to motor vehicles, and it governs the infrastructures we depend on daily — telecommunication, public utilities, transportation. Maintaining it all and driving it forward are professionals and researchers in computer science, across disciplines including:
- Computer Architecture and Computer Organization and Design
- Data Management, Big Data, Data Warehousing, Data Mining, and Business Intelligence (BI)
- Human Computer Interaction (HCI), User Experience (UX), User Interface (UI), Interaction Design and Usability
- Artificial intelligence (AI)