- The OECD’s education chief Andreas Schleicher has warned against an over-reliance on coding in computer science education at the World Innovation Summit for Education in Paris and in his LinkedIn blog.
- The UK government’s 2017 autumn budget announced an investment of £84m to increase the number of computer science teachers.
- Computer science is officially the hardest-to-recruit-for subject with only two-thirds of places filled last year.
- Coding languages students will frequently learn at school include Blockly and Scratch (often for those in Key Stage 1 and 2), Python (often for those in Key Stage 3) and Ruby (often for those in Key Stage 3 and 4). Java is sometimes introduced to GCSE computer science students. The national curriculum states that each student should leave school with a functioning understanding of at least one coding language.
- Python is the fastest growing code in the world – last year it was more googled than Kim Kardashian.
- US-based job market analytics firm Burning Glass estimates that jobs that require coding skills could command on average $22,000 more per annum in the next few years.
- By 2020, there is a predicated skills shortage of 800,000 skilled IT jobs across the EU, the EU has predicted. The UK is one of only 15 members that has embedded coding in its curriculum.
What’s the issue?
In February, the OECD’s director of education and skills, Andreas Schleicher, warned against coding education. Speaking at the World Innovation Summit for Education (WISE) in Paris, Schleicher said: “In a way coding is just one technique of our times and I think it would be a bad mistake to have that tool become ingrained.”
He added: “You teach it to three-year-olds and by the time they graduate they will ask you ‘remind me what was coding’. That tool will be outdated very soon.”
The statement sparked discussion around the usefulness of the UK’s curriculum.
If teaching coding is pointless, why then has the government invested £84m in pushing something which, in Schleicher’s view, would be better replaced with data science and computational thinking?
The question to grapple with is this: in a landscape as fast-changing as ours, how do we make coding implementable in classrooms? Does it provide the necessary building blocks to understand a complex subject, and will it unlock future potential?
Do you remember binary, Fortran and Ada?
Brett Victor offers an interesting introduction to this topic with his talk at Dropbox’s DBX conference in 2013 on the history of computer science innovation. His argument rests on the response to computer science development. “Technology changes quickly and people’s minds change slowly,” he said.
For example, educators would not teach a child to learn binary (the precursor to all programming) or Fortran and Ada (which gained popularity in the 1980s) because there is no modern application for those skills. We now communicate with computers in a completely different fashion. By teaching coding, are we simply creating a new generation of Luddites?
Does coding compute?
Andreas Schleicher wrote in his LinkedIn blog: “How can we strengthen a deep understanding of and engagement with the underlying concepts of digitalisation without being distracted by today’s digital tools?” He added that “coding can be a great means to achieve this, but there is a great risk that it becomes the end”.
Jonathan Edwards, a researcher at Massachusetts Institute of Technology’s (MIT) Computer Science & Artificial Intelligence Laboratory, said on a recent episode of the Future of Coding podcast that the goal of his research was to make programming like spreadsheeting. “You don’t really have professional spreadsheeters,” he said, “It’s just normal people who learn how to use a spreadsheet, and programming should be that way. You should be able to pick it up, solve your own problems without being some brainiac super nerd.” His research looks at creating modern programming tools inspired by old tools like COBOL, Visual Basic and HyperCard that minimise the amount of specialist coding-language knowledge required.
Karen Panetta, a fellow at the Institute of Electrical and Electronics Engineers (IEEE) and a dean of graudate engineering at Tufts University explained in an interview with TechRepublic how future programming tools may appear to their users.
She said: “Programs will be built using coding blocks, like the wooden alphabet blocks we used when we were children. Developers will be able to connect the blocks to implement whatever functionality they need, and the blocks may not even be required to be written in a textual form.”
These academics point to a more simplistic, user-friendly future which would make much of the Python that children learn today redundant. There are already companies on the market offering these services. Bubble is a US-based company that lets you design and host web applications without having to write code, Sparkster have built a drag-and-drop platform that allows anyone to code, and Zeroqode have created a codeless creation service.
Is coding a waste of time?
It is important not to lose sight of the larger point Schleicher makes. “Teachers are ploughing through a large amount of subject-matter content but students develop limited depth of understanding. Adding new material provides an easy way to show that education systems respond to emerging demands, while it is always hard to remove material from instructional systems,” he said while at the WISE summit in Paris. He added that teachers should aspire to teach children to “think like chemists or historians”, not memorise facts.
In this area, there is much agreement. Speaking to Education Technology, Simon Peyton-Jones, chair of Computing at School (CAS) group and the National Centre for Computing Education (NCCE) – who, incidentally, helped to write the UK’s computing curriculum – points out the curriculum for primary-age students fills two sides of A4. In Peyton-Jones’ view, the curriculum’s strength is its brevity.
He told ET: “The problem with the old ICT curriculum was that it was focused on the digital tools. The goal of the 2014 reform of the computing curriculum was to focus on the “essence” of the discipline, just as Schleicher says.”
Peyton-Jones concedes that there is a risk that the new focus on learning the fundamentals of programming replaces one issue with another. “I frequently say the number one risk of the new computing curriculum is that a future secretary of state will say, in 10 years’ time, ‘the new computing curriculum is a great success – every child leaves school able to program in Python’.
“If that was the case, we’d just have swapped one technology focus (office software) for another (skill in Python).”
Python, Peyton-Jones says, may become obsolete but programming, in some other form, will not.
However the curriculum does not specify a language which students should be taught.
The director of the Bath node of the Institute of Coding (IoC), Prof James Davenport, says that at present students are arriving at university needing to be taught programming from scratch. He hopes that with a better foundational understanding at school, the jump to university courses will be lessened. Subjects taught at university that increasingly rely on coding, like chemistry, engineering and mathematics, will also benefit from a better educated stream of students applying in two years’ time.
The first line of the national curriculum states that the purpose of study is to “equip pupils to use computational thinking and creativity to understand and change the world”.
Davenport explains: “There are many ways to teach computational thinking, but at some level you need to be completely precise and for that you need coding.”
KUBO Robotics produces educational packs to equip teachers with 3D tools that engage pupils from as young as four with computational thinking. Jinny Christiansen, KUBO’s head of marketing, said: “KUBO takes traditional coding language out of a digital context, and places it onto classroom tables. Young children control a robot using physical TagTiles to code movements, while learning each of the foundational coding concepts of sequences, functions, loops, conditions and variables.”
There are additional benefits to teaching coding, Peyton-Jones says, namely that students have skills to practically apply their imagination which can be “energising and motivational”. He adds that teaching without coding would be like “chemistry without experiments”.
Davenport agrees that coding is just one element of computing education. He told ET that when the institute was established, the team behind it asked the government if it could instead be called the Institute of Digital Skills: they received a firm no.
“We at the IoC,” Davenport said, “do not see ourselves as only coding but addressing all aspects of computer science, cybersecurity and employability, but nevertheless the Institute of Coding is the name government said it must have. Practically no one in parliament knows what coding is and you do end up with inappropriate labels.”
The National Curriculum says that students must be able to…
● Understand and apply the fundamental principles and concepts of computer science, including abstraction, logic, algorithms and data representation
● Analyse problems in computational terms, and have repeated practical experience of writing computer programs in order to solve such problems
● Evaluate and apply information technology, including new or unfamiliar technologies, analytically to solve problems
● Be responsible, competent, confident and creative users of information and communication technology.
What happens next?
There is much agreement in this field. Teaching any subject to a test will remove any imagination from its delivery – the curriculum allows the subject to be taught in an engaging and future-proof way. Coding must sit alongside computational thinking and data analysis – the national curriculum makes that clear.
The only way that coding can be taught in a way that engages students’ problem-solving skills, computational thinking and communication skills is to improve teacher confidence. Davenport draws an analogy between coding and learning to drive in order to better explain his view: “A driving instructor should teach you a lot more than what the controls on cars do, but mastering those controls is an important step to learning how to drive on busy roads.” A functional understanding of a coding language, can provide the ladder many need to access the higher echelons of computing education.
A 2017 report from the Education Policy Institute (EPI) puts the five-year retention rate for STEM subjects at only 50%. Computing topped the list compiled in the report of hardest-to-recruit-for subjects; only 66% of vacancies were filled. Davenport says that a national conversation is needed if we are to properly address the quality of computing education.
“I don’t think that programming, in some form, will ever be obsolete,” Peyton-Jones concluded. “The reason you learn the ‘stuff’ is not because it’s abstract knowledge and you need to tick boxes, but when you have that knowledge you can access education in a way you couldn’t before. We don’t teach Python because that is the goal.”
Davenport agrees that it is impossible to know if “in 500 years’ time we will be teaching coding” but equally it is, for the time being, “an important part of education today”.
You might also like: Over half of 18-24 year olds wish they had learned coding