x

Top results


SecondaryComputing

AI coding – How should we teach coding in an AI world?

AI robot doing coding

Rob Wraith looks at whether the rise of AI should prompt us to reconsider our approach to the teaching of coding – and if so, how…

Rob Wraith
by Rob Wraith
Head of learning technology and digital learning at NCG colleges
Computational thinking lesson plan
DOWNLOAD A FREE RESOURCE! Computational thinking – ‘Sorting hat’ Micro:Bit lesson plan
SecondaryComputing

The developments we’ve seen in AI technologies, and increasing access to them, has shaken the very foundations of the old model of teaching coding.

It’s now been more than 30 years since a powerful consensus first emerged across the education and technology sectors that ‘everyone should learn to code’.

It was hailed then as an essential skill for the 21st century – a valuable process that would teach you how to think.

Schools duly began to introduce programming classes. An understanding of coding seemed to be the passport to a range of lucrative careers open to anyone able to master the likes of Python, C++ or Java.

However, the astonishing rise of generative AI in recent years – to the point where it’s now capable of producing functional, complex code from simple, natural language prompts – has led some to wonder whether there’s now any use in learning programming languages at all.

Should we reconsider how to teach coding?

On the one hand, yes – we do need to reconsider our previous approach to the discipline of coding. The end results of coding are still as omnipresent as they ever were, if not more so.

The operating systems in our phones, the apps that run on them, the websites and social media platforms we all use; we’re well past the point where coding has become an essential component of the modern world that we simply can’t do without.

At the same time, though, we’re currently witnessing the practice of creating code evolve from being a manual craft to a calculated discipline.

The rise of AI hasn’t made programmers and developers obsolete. If anything, it’s enabled some to automate the more monotonous aspects of coding, and elevate the very best to a status comparable to that of an architect or creative director.

This will, however, entail revising how we think about coding as a taught discipline. It may be that we see a shift away from the memorisation of coding syntax, and towards making students more aware of the underlying principles of computational thinking and system design. It’s about treating AI as a powerful collaborative tool, rather than a replacement.

Are careers in coding viable any more?

It’s easy to see why perspectives are shifting. With tools such as Copilot and ChatGPT now able to automate repetitive coding tasks, produce reusable code and offer solutions to intricate challenges, some people are starting to question whether human programmers are still required.

However, this viewpoint overlooks what coding truly represents, and the essential role it continues to play within STEM disciplines.

As AI becomes ever more integrated into development processes, the core skills that coding cultivates are becoming more critical, not less.

While the naming conventions might vary, the elements that make up computational thinking are foundational to all STEM disciplines.

A chemist ‘decomposing’ a chemical reaction. An engineer designing a complex circuit. A data scientist analysing a certain dataset. All will be utilising computational thinking in some capacity.

AI can certainly help to complete some steps of those different tasks, but the chemist’s initial decomposition? The strategic design of that algorithm? Those are still human tasks that require a certain level of knowledge and experience to complete.

The art of debugging

As anyone who has ever written code will know, a significant portion of development time is spent on debugging, and finding and fixing errors.

And if you think AI-generated code will be immune from bugs, think again. I’ve seen this for myself, having previously used AI to develop a mobile app.

AI-generated code can not only introduce errors, but subtle, complex errors that are especially difficult to detect.

The ability to read, analyse and critically evaluate code is therefore still very much a crucial skill for – at least in my case – getting a mobile app to perform as intended.

Debugging code requires knowledge, logic, experience and a good understanding of the systems or applications being developed.

This is an investigative process that AI is more than capable of assisting with. However, it’s one that it can’t lead, since arriving at the correct answer will involve first asking the right questions.

Invisible force

In STEM fields, coding isn’t some abstract exercise, but rather a primary tool for discovery and innovation. Its use is woven into the very fabric of modern science and engineering.

Contemporary scientific research would be impossible without coding. Biologists use Python scripts from libraries like Biopython to perform bioinformatics tasks, such as analysing large datasets.

Physicists will regularly use code to create and run complex simulations, analyse data and complete various data visualisation tasks.

Climate scientists are modelling Earth’s climate systems using code-driven simulations. Outside of the science lab, the software that powers our world – from mobile apps, to the vast infrastructure of the wider internet – is entirely built from code.

The AI tools that are supposedly making coding obsolete are, of course, complex software systems themselves, built by teams of expert human programmers.

Continued development, maintenance and improvement of these AI models will furthermore call for a skilled understanding of machine learning algorithms and software engineering. All of these are, once again, rooted in the practice of coding.

Code is everywhere in engineering, too – from the embedded software systems in your car, to the control software governing the robotic manufacturing arm that helped build said car in the first place.

Code is the ever-present, invisible force that enables our modern machinery to do what it does.

Electrical engineers will regularly use code to design and test integrated circuits. Aerospace engineers write the flight control software that prevents our aircraft from falling out of the sky.

And let’s not forget how code gives us a way of expressing and experimenting with various mathematical concepts. It can enable mathematicians to explore new theories, create visualisations and solve problems that would be far harder and slower to attempt by hand.

Capable collaborators

AI is a powerful assistant that can be harnessed and managed. It can assist scientists with writing data parsing scripts more quickly. Or it can suggest the best algorithm that an engineer should use.

Even so, those scientists will still need to understand the basics of data analysis in order to create the right kind of prompt.

Our engineer will still need to thoroughly understand their system’s physics if they’re to accurately check whether the AI’s suggestions are viable.

How should we adapt our teaching of coding in an AI world?

The question we should be asking is not whether we should stop teaching coding. Instead, it should be how we should adapt our teaching, across all subjects, to this new reality.

The long-term aim must be to move away from developing coders who rely on memorising syntax. We need to develop technical directors who can devise complex systems while using AI as a powerful collaborative resource.

AI is indeed transforming the nature of coding – automating repetitive tasks, and allowing the human intellect to focus even more on creativity, architecture and complex problem-solving.

The future of STEM will be shaped by those capable of collaborating effectively with AI. It’s about using knowledge, experience and computational thinking skills to guide these powerful tools towards new groundbreaking discoveries and innovations.

The process of learning to code will no longer revolve around communicating with a computer. Instead, it will centre on understanding the fundamental logic of the world we will build together.

Rob Wraith is head of learning technology and digital learning at NCG – a group of seven colleges across the UK.

You might also be interested in...