Why Teach Coding, Math and Writing, When AI Can Do It Better?
Posted on March 5, 2025
by Yµn ^…^ ƒ(x) aka. Yunus Emre Vurgun
Last updated: March 8, 2025
Last updated: March 8, 2025
Some AI benchmarks show that there are even some models that can do very advanced classical mathematics better than most experts in the field, let alone the computer science field or “writing the code”. There are models that can solve both advanced coding challenges and advanced mathematics, and when I mean advanced I mean like combinatorics’ cap set problem in mathematics that can easily make many experts get completely lost even when they think about the problem a little too long.
What about writing? Poems, novels, articles, research? Are we safe?
If we ever stop teaching mathematics, in one form or another, (because ironically we invented a technology that could perform amazing at it but this technology is literally a mathematical construct) well, the human civilization will go dumb pretty quickly and we will lose all our progress in AI and robotics for a very very long time. So don’t even think about it if you have any IQ left in you. Just think about the amount of mathematics, physics, computational theory and such we are using to construct and improve these AI models every single day.
It isn’t a surprising guess when I say “AI will be able to write code better than any human, and it is coming pretty soon”.
It is actually pretty obvious to those us in IT.
As a programmer (you may have heard it as software developer/engineer, coder etc.) and an overall IT geek, I started writing code when there was no AI that can assist. Even the smartest autocomplete was messy. I am talking about the 2018-2020 period. It was even worse during 2010s, when I was a little kid trying to glue together random HTML and CSS into blogspot. After my 2018-2020 era, in just a few years as I was trying to figure out what I was doing and what a computer really does, ChatGPT dropped like a nuke and started making big waves in almost all fields. At first, it was the worst coder ever, then it became a fast but stupid coder, then faster and smarter, and so on.
As I am writing this, we have Grok 3 Beta, GPT 4.5, Claude Sonnet 3.7 , DeepSeek R1, and many more. These models are very much capable of producing complex code in most programming languages for almost any task. They are faster than any human ever lived. They can spit out code snippets about physics, calculus, 3D simulations, web design, gaming, financial calculations, hardware controls, machine learning, visual effects, and many more. They aren’t trustworthy yet, as they make a lot of critical decisions terribly wrong and end up with dangerous outcomes that can collapse a whole codebase of a multi-billion dollar software ecosystem if you give them the access.
If this is the case, why did I just start this article with “AI will do it better”?
Because it will. The AI research world just needs time to figure out some core barriers about context windows (Max. Token sequence length) and hallucinations (OOD Generalization aka. Out-of-Distribution, Semantic Bleed, etc.) alongside many other geeky things I can’t really write about to be honest, and then we will be there eventually.
Then, you may be thinking, why learn to code in a programming language like Python, C, JavaScript, PHP or Golang?
Why would you need to know the correct syntax to declare a method within a class that inherits from another class and why would you need to know the difference between a public method and a private one? Why would you need to learn the difference between
f(x, y) => { x *= y; y += y % x; return [x, y]; }
and
std::pair<int, int> f(int x, int y) { return {x + y, y - ((x + y) % y)}; }
Right? What use?
The first example was an arrow function written in JavaScript and the second one was a slightly different calculation in the C++ programming language.
Can AI write these today? Of course! Can it explain it? Yes! Can it modify it? Yes.
Then as a programmer, what am I doing anyways? Can’t I let AI do the programming today and I can focus on my other IT tasks like networking and troubleshooting or coming up with the best security solutions?
No. Not even close.
Software development doesn’t work like that.
When I am writing complex applications at work, I manage hundreds of code files in multiple languages and everything is separated into small modules with very specific intentions and one critical mistake can collapse everything, confuse me and throw my months of work into an unmanageable mess, and I am not over exaggerating even a bit.
When I am doing all these, I get IDE-integrated assistance from multiple amazing AI models specifically designed to help me solve problems. These AI models assist me with answers to technical problems I have, some of them automatically fix my mistakes, fill in the gaps in my code, generate snippets to make me move faster than I normally could. I am using the best AI models and I still find myself writing and managing chunks of code at 3 in the morning and realizing I still haven’t finished the task for that day, and spent 5-6 hours straight with no interruption.
Why? How come these top AI tools I have can’t do my job if they can already generate very complicated code for advanced physics calculations correctly and write a thousand lines of code?
Because they are not really “thinking” about what is going on in reality but rather “estimating” the most probable answer to a given input. Don’t get me wrong, there is an enormous amount of advanced calculations going on within these AI tools as they respond to the prompt. Billions of tiny operations in less than a second, including tokenizing the input, embedding (tokens become vectors), attention mechanisms running to spot the highlights, layers of neural networks running the data to predict the outcomes’ pieces… It is such an invention that probably changed the world and civilization forever. It will only get better from here.
But at the end of the day there is a huge difference between how the AI functions and how the human, an organic entity functions.
You wouldn’t believe how many times I had to undo what an AI did to my codebase, just so that I could get my original code back, even though the instruction I gave was not complex at all, clearly formatted for it to process etc.
Real-world software engineering isn’t even close to being as simple as building those fancy visual apps you see on social media that say “wow I generated a 3D simulation of Mario cart using Python and all the code is from GPT 4o”.
That’s not how the digital world works.
Mario cart clones generated by an LLM with custom tweaks from its training data— full of similar software by the way— aren’t exactly “amazing” in terms of computer science progress.
What really is amazing is that the same model can perform thousands of different tasks including life advice, language translations, coding, mathematics, teaching almost any class ever, all within the same user session and can both reply in text and audio and generate images for you in the next prompt. This, is the amazing part. The harmony of lots of different models behind the scenes synchronized for you, at the same time, providing you with a surreal experience. These models have the capacity to give you ideas that can change the world if you just ask the right questions and know just enough about what you are talking about.
The biggest misconception about software development is that we are writing fancy code with fancy rules and we are an intermediary between the computer and the user. Not even close.
This is not language translation. As a nontechnical person you don’t know what is best for you when you click on the follow button on Instagram. You just think “I want to see this persons posts on my feed”.
If you prompt this to a super intelligent robot in the future, it will be rejected.
You didn’t even think the “rules”, or edge cases of the action. You didn’t think algorithmicly, there is no flow in your plan. You just described the final expectation. This is not something “code-able”.
You had to spent months figuring out what you wanted and then you had to figure out how you would get there and the options and details of your plan and ideology.
You thought you could just “code” it? Code is just a tool. Computational thinking is the real asset you gain after sleepless nights writing code to achieve something.
The essence of learning to write code and read code (you have to learn both or it won’t work, just like math) is to gain the superpower of being able to “think” a certain way.
You cannot learn to think in this certain way with a better tool. Coding is so special in this manner that nothing we know can be a more logical intermediary for gaining the same power. Because coding is literally writing expressions in a very restricted and fully mathematical manner that you learn how to apply how-to and what-to’s and get results from a machine that don’t care about your intentions or feelings. This isn’t the same as using a software program that restricts your ability. It is creating that program in very restricted conditions. This ability lets you create things far beyond just software or code. It changes your entire life and your whole mindset.
If you are planning on quitting writing English and letting an LLM write it’s own “ideas” for you and speak to your partner at dinner table, then sure you can let the same LLM generate you software from your vague ideas you feed it.
But what if you feed such amazing prompts that the AI model creates a very reasonable and efficient solution and implements it in code?
Then welcome to software development!
I am not going to exclude you for not knowing how to code!
But… you may need to visit Area-51 as you are most likely a unique creature from outer space that managed to learn all the necessary skills and still somehow managed to not learn writing instructions in a structured computational framework, which is what we generally call a programming language.
You can’t run away from it ;)