Here's a blog post draft based on the article by Craig McNeile, published by UNESCO.
Every few months, someone says the same thing: coding is dead. With AI tools now able to generate code from plain English, it is easy to see why people are asking whether students still need to learn programming at all. My view is no — coding is not dead. But the reason for learning it is changing.
In the past, students learned to code mainly to build software directly. Today, coding still matters, but not only because students may become software engineers. It matters because programming teaches a way of thinking: how to break down problems, test ideas, debug mistakes, and understand how technology actually works.
AI can now write small programs, suggest fixes, and even explain error messages. That is a real benefit. For beginners, this can reduce frustration and make coding more approachable. Instead of getting stuck for hours on a confusing syntax issue, students can get immediate support and keep moving. AI can also help students build more interesting projects earlier, which can make learning more motivating. But AI support is not the same as understanding.
If a student never learns the basics of programming, they may not know when AI-generated code is wrong, inefficient, insecure, or simply unrelated to the problem they are trying to solve. Code that “looks right” is not always correct. In real life, software failures can have serious consequences, which is why human understanding still matters.
Learning to code is a little like learning math. A calculator is useful, but you still need to know what operation to use and whether the answer makes sense. In the same way, AI can help produce code faster, but students still need enough programming knowledge to evaluate, test, and improve what the AI gives them. That is why the future of coding education should not be “AI or no AI.” It should be about teaching students how to work with AI wisely.
This means programming classes may need to evolve. Instead of focusing only on writing every line of code from scratch, classes should also teach students how to:
ask good technical questions,
read and understand generated code,
test programs carefully,
identify errors and edge cases,
and explain what the code is actually doing.
These are not lesser skills. In many ways, they are more important than ever.
There is also a bigger reason to keep coding education alive. Software shapes nearly every part of modern life — school, healthcare, government, banking, transportation, entertainment, and communication. If young people grow up using digital systems without understanding how they work, they become passive consumers of technology rather than active creators and critical thinkers.
Coding education was never only about producing professional programmers. It was also about giving more people the power to understand and shape the digital world around them.
AI does not remove that need. It makes it more urgent. So no, coding is not dead. But coding classes should not stay exactly the same either. Students should still learn programming fundamentals, while also learning how to use AI as a tool — not a crutch. The goal is no longer just “learn to code.” It is “learn to think, build, question, and create with code in an AI-powered world.”
This is why Java and Python still matter. Python helps students experiment quickly and explore areas like data science, automation, and AI. Java helps students build discipline in logic, structure, and object-oriented thinking. Together, they do more than teach syntax. They help students build technical confidence. In the end, AI may change how we write code, but it does not eliminate the value of understanding it. Students who learn coding today will not be competing against AI. They will be the ones best prepared to use it well.
This draft is grounded in UNESCO’s article “Coding is dead”? Teaching computer programming in the age of AI, published December 3, 2025 and updated December 24, 2025, by Craig McNeile of the University of Plymouth. The article argues that AI can help with motivation, code generation, and explaining errors, but that programming education still needs to teach understanding, testing, and critical evaluation of code.