Sitemap
Vladimir Calderon

Vladimir Calderon

Just another passionate developer. I’m all into clean architecture nowadays and architectures able to support complex systems (e.g. national tax systems)

To chatGPT or not to chatGPT

7 min readApr 25, 2025

--

There are some days I wake up wanting to write more than just a couple of lines. This is one of those days. I really like those days when you sit down to write and the words just start appearing one after another. Sometimes it happens because we have a lot on our minds, sometimes it happens because we have some time for ourselves, sometimes it just happens.

Absolute impossible, can’t understand a thing

I’ve been teaching at the university for over 22 years. Programming III classes, also formerly known as Data Structures here in the southern hemisphere where I live. This subject is one of the filter subjects for the programming area in Systems Engineering. Yes, around here some subjects are filter subjects; that’s just to say that they’re a little more difficult than the rest of the subjects in the semester. In my opinion, all subjects should be filter subjects, or at worst, one subject in the semester could be the easy subject; but that’s a discussion for a future post.

This subject has the unique feature of demanding the development of a skill in the student’s head. The sentence, with english grammar and semantics, must be translated into a series of steps in an algorithm, a sequence of steps written in a programming language. Basically, the student learns to translate the ideas they have in natural language into the programming language chosen for the subject. Developing this skill involves breaking down certain patterns inherent to natural language and getting used to seeing an idea from the perspective of the programming language.

Let’s look at a simple example. The input is our sentence in natural language. For this example, the input will be:

“I want to obtain the sum of the first n natural numbers.”

We will translate this as follows. What appears after the double slash (//) are comments to understand what is being done on each line of code:

int n; // n is the number that will contain the number up to which we must add.
int sum = 0; // sum has the result we’re looking for, let’s build it little by little

for(int i=0; i<=n; i++) // Block is repeated, each time i takes a value of 0..n
{
sum = sum + i; // The sum is built, number by number
}

// This prints n and the sum of the numbers
System.out.println(“The sum of the first {} numbers is {}”, n, sum);

As you can see, understanding addition as something that must be repeated, to gradually build it up isn’t very intuitive for all brain types. Therefore, it’s something that is forced on the student’s cerebellum with repeated programming exercises. The student goes through frustrating moments until they get the code to do what they wanted it to do. Or rather, until they get the code to do what they understand they were asked to do.

One way to introduce the brain to this way of thinking are those first-year subjects that often cause mental allergies in young people: Calculus I, Algebra I. Understanding the process for solving derivatives, integrals, etc. is something that is neither natural nor intuitive. Some are lucky enough to have their brains either already work this way, or have practiced working this way. So for them, these subjects tend to be somewhat intuitive and natural. But for the vast majority, this is similar to learning Sanskrit.

It’s been 30 years since I took Calculus I, and I can say, without a doubt, that I have used the concepts of differential calculus in my professional life on exactly ZERO occasions. Even worse, Calculus II, Differential Equations, Complex Variables, etc. Which leads us to a thought, this one natural, “why?” Why do universities make such an effort to teach differential calculus to those of us studying engineering and technical fields, when it is rarely used?

I don’t know, the solution just appeared in my brain

There’s no way for universities to know the full range of problems that professionals will have to solve during their professional lives. And sooner rather than later, at work, we will have to face the unknown. The feeling we should have is like when a commercial pilot is asked to fly a warplane. That feeling is very different from that of a commercial airline passenger who is told they have to fly the plane. For some, finding a solution is a possibility; for others, it may be an impossibility, awakening an exacerbated fear that translates into episodes of extreme stress that can be dangerous to their health.

In another context, a person prepared for a particular context is very likely to be able to solve new problems in that context due to their study, preparation, and experience in that context. At those times, these people seem to have an intelligence beyond this world. And we see that every time they face a new problem they seem to have marvelous, almost divines ideas. When in reality, it’s a very natural process.

The brain has already wired the synaptic connections that are very close to those activated when solving the problem. Neuron interactions operate with electricity. So, the brain is literally just a few sparks away from creating the synaptic interaction that solves the problem.

It’s essential to understand that the reason we study these types of subjects is to wire our brains so that we can generate the synaptic connections that are very close to solving the problems of a particular context, a particular science, a particular career.

Ok… but… what about the title?

After many years of unfulfilled academic promises about artificial intelligence; the speed with which current artificial intelligence services can solve problems is almost miraculous. The current revolution is very similar to the moment when the internet emerged 30 years ago. The reason for these paragraphs is the impact I see on university education.

Get Vladimir Calderon’s stories in your inbox

Join Medium for free to get updates from this writer.

The use of ChatGPT and others like it is now quite universal; even my 12-year-old daughter consults it all the time for her homework. In 2025, we have begun to see some of the impact of this technology, especially among the younger population (who are the ones who use it).

  • Absolute trust in the tool’s answers: users, in general, are convinced that the AI’s responses are correct. Even worse, computer science and systems students use it without any review.
  • AI takes knowledge towards the extreme of your current status: if a person relies on AI to replicate answers, they stop practicing their brain and synaptic connections. For such a beautiful reason, after a few years their IQ will have decreased, and they will no longer be able to rely on their experience, since they will have none.
  • AI is an exoskeleton for our brain: if, on the other hand, a person relies on AI as an assistant, then others will perceive it as having greater performance and intelligence. And the user will acquire experience and knowledge.

The challenge is getting people to use AI as an exoskeleton for the brain. When I was a university student, I remember that an interesting metric in the assignments I did for my programming classes was 400 to 500 lines of code per day. There were students who achieved almost double that. Today, with AI, we can reach around 3,000 lines of code per day; on a good day. The problem is how many of the lines of code generated by AI are fully understood by students. Why is this important? Because you have to be able to review and test the code that is given to you or generated for you.

Well, in my experience this past semester, the percentage of comprehension of the code generated by AI is less than 10%.

This creates several problems for the future of students. What alternative do we have? Banning AI for certain subjects? This measure really seems a bit Paleolithic to say the least. Not having the regular practice of consulting AI, as an assistant that supports us, and as a way to adapt our brain to this exoskeleton is a disadvantage for any current and future generation. For now, we are trying to promote some thoughts on the students for them to start developing the skills of:

  1. Knowing how to ask questions
  2. Knowing how to interpret answers
  3. Knowing how to understand answers
  4. Recognizing a wrong answer from a correct one
  5. Performing tasks 1–4 more fluidly and naturally to improve efficiency

Buried within these five skills should be the programming best programming practices. In each iteration, the student must include in their reasoning the concepts of scalability, usability, modularity, testability, and best practices such as the SOLID principles.

But the question remains:

“How can we get the student to use AI as an assistant and not as a bible?”

In these cases, there are no miracles, no shortcuts, no brain osmosis. The only recipes are the following:

  • Insist on the concept of why some subjects are studied
  • Reinforce with examples the need to acquire the skills indicated by the subject
  • Take full advantage of being able to use a tool like AI to do things faster and better
  • Recognize with the students when they use AI as a replacement of their neural connections
  • Repeat all of this as a chakra

To absorb the greatest amount of knowledge in subjects like programming, the only way is through programming. You can’t learn by watching videos, watching your classmate program, or even copying the code generated by an AI.

One last detail is the number of times this must be repeated. Any new knowledge, for third-semester university students, can be repeated up to five times, and surely not even half of the audience will have assimilated it. You can even try to shooke them with shocking examples; the impact is greater, but not much more.

Let’s protect students from themselves with the use of AI. Students shouldn’t replace themselves with the use of AI; they must discover ways to grow, faster and better, with AI. The goal is to explore and find the best partnership model with AI that students can have, so they can apply it in their future professional lives.

--

--

Vladimir Calderon
Vladimir Calderon

Written by Vladimir Calderon

Just another passionate developer. I’m all into clean architecture nowadays and architectures able to support complex systems (e.g. national tax systems)