How I’m Saving Myself in the Age of AI

Introduction

Right before the college semester began, I signed up for a class called Machine Learning.

If you don’t know what Machine Learning is, it’s a subfield of AI that’s basically about using linear algebra to make predictions about data.

An example of machine learning is predicting whether a patient has cancer, given a bunch of information (called features), like their age, their medical history, environmental exposures, etc.

I was very excited to take machine learning, because this is one of the most in demand fields in tech. In other words, AI is hot right now, and I wanted to learn more about this stuff, as it seemed really interesting.

So, I signed up, hoping for the best.

I knew that machine learning was a difficult class, so I was prepared to study really hard for this.

The first few classes went well. The professor had explained that we’re allowed to use AI for all the assignments without crediting it.

So, that meant the class would be much easier, to my relief.

But then, things began falling apart.

In the beginning, Jupyter notebook was introduced, and he was going through some of the concepts, like OneHotEncoder.

With some conversations with ChatGPT, I was able to understand OneHotEncoder.

Also, it took me about 2 weeks to fully understand gradient descent, which I wrote an article on here.

In order to do so, it was countless hours of YouTube videos and ChatGPT conversations.

NumPy by far was the hardest to understand.

In my entire life, I had never seen the ability to convert entire arrays into boolean values using boolean masking.

If that sounds a bit confusing to you, it’s basically the ability to convert an entire array, like:

Into something like this:

By using one line of code:

Yeah. Taking an array and checking if it’s greater than 3.

This concept was so foreign to me, because we’re literally checking if an array data type is greater than a number data type.

How on earth does this not throw an error?

I was super confused.

But I let it go.

As the classes continued, these weird NumPy array tricks were more and more complex, with monsters like:

As I would try to understand the code, I’d see these and they would completely freak me out, because I never understood anything like this.

I had put it in the back of my mind to learn it sometime, because at the moment, there were more urgent priorities, like learning about the concepts that were currently being discussed in class.

So, for those complex looking monsters, I would ask ChatGPT to explain it to me, and I’d read over its explanation and get a very broad understanding, which I’d only understand for an hour, and then I’d forget it.

In class, it was very difficult to follow, because of the sheer amount of math that machine learning requires. Its prerequisite is a decent knowledge of linear algebra, which was also one of my weak points, as I took linear algebra online and I had other difficult classes during that time that took my attention.

Homeworks were very difficult, as I barely understood the subject.

I had one secret weapon.

My Secret Weapon

As aforementioned, the professor had said that you’re allowed to use AI for all of your work in the class, without crediting it.

And I realized that everyone is doing that, even the professor himself was using the AI’s autocomplete (the tab key in Jupyter notebook has the AI automatically complete your line of code).

So, I began letting Gemini do my homework. It was fair game. A lot of others did the same. I was much too busy to understand what was going on.

It worked. I got through assignments easily. I just had ChatGPT and Gemini do everything, and even if I didn’t understand, I was relieved to not have to touch it again.

The Issue

But I slowly became upset at this.

I was letting some AI do all of the assignments, while I didn’t understand a single thing.

I wasn’t even sure if it was right or wrong. Sometimes, it would get confused, and it would be frustrating to try to prompt it to fix it over and over.

I was spending my time prompting the AI how to solve my problem, without even attempting to do it myself.

And in the beginning, I was so excited about learning machine learning. It was something that I was always wanting to get into.

I realized that letting AI do everything meant:

  1. Yes, the assignment gets done, and done correctly as well.
  2. I wasn’t learning a single thing; I was paying thousands of dollars in tuition to learn nothing and just complete assignments.

Solution: No More Vibe Coding

This whole phenomenon of letting AI write all of your code is called vibe coding. Vibe coding is where you write absolutely no code, and you just prompt the AI to write everything.

During spring break, I decided I wanted to try to complete an assignment without prompting the AI for everything (no more vibe coding machine learning homework assignments).

Of course, after having learned so little in the previous weeks, I struggled.

So, I used the AI to write my code.

But this time, I did it very differently.

This time, I went through all of the code the AI was writing line by line, and I asked it what each line meant.

And if I was confused about anything, I asked it for further explanations before moving forward.

For example, I finally asked the AI about NumPy and its origin.

This whole entire time, I never even knew what it was. The professor had never assigned a separate assignment to learn NumPy, so I had never learned it until now.

After asking questions about it, I learned that NumPy is basically a much faster version of arrays, because of how it uses C code to store them in memory and it uses parallel processing to batch operations.

I read through the entire explanation that ChatGPT provided, and when I had a question about what it said, I asked it.

I kept asking questions and questions until I was able to explain NumPy and its intricacies to another person in my head.

Then, I asked ChatGPT to give me an example of code that uses NumPy, and some practice problems.

These are all things that I can easily do using for loops, but the challenge was to try to use NumPy for it.

So, I opened up a new Python file in VSCode and worked through every practice question.

And you know what?

The questions were simple questions.Of course, I had to think a little bit to solve them, but every time I got a question correct, I was so happy.

I was learning!

I was actually able to focus for 45 minutes and just reach a flow state as I solved these.

And I loved every bit of it.

That’s when I realized that vibe coding is killing our purpose.

Vibe Coding is Killing Our Purpose

When I was sitting there, prompting AI to do all of my homework assignments for me, I never reached a flow state. I never felt happy that I got a question correct.

Sure, the program ran, but I didn’t write the code.

Sure, the program did what it’s supposed to. But it wasn’t my code that I crafted with my own hands.

It was the AI’s hands.

Unhappy Successful People

There’s a phenomenon in the tech space, where people build startups over many years, and sell them for multiple millions of dollars.

And of course, that is the goal for many people. To be able to build something you’re proud of, sell it for a lot of money, and retire.

That’s exactly what those people did.

They lived happily ever after.

Just kidding.

After a few months of their success, they were retiring, living in their mansions, and feeling that their life had no meaning. They realized that they had nothing to do as they’ve achieved everything they wanted to do in the beginning.

So you know what they did?

They started another company: sometimes with goals of making more money, sometimes with goals of helping more people, and sometimes with goals of charity work.

Whatever the case maybe, the main lesson is that they felt like they had no purpose, because they had already achieved everything.

Vibe Coding is Taking Away Your Purpose

In a similar vein, I felt that vibe coding had taken away my creativity, drive, and purpose, when it came to wanting to learn machine learning.

I had relied on the AI for everything, and I felt useless.

Do you know when kids pay people to do their homework? It felt like that.

The person paying learns nothing and is only paying to get away from the education. The person being paid is endowed with the benefit of practicing their skill.

In other words, the receiver of the payment gets to practice something they’re good at, and do good for society.

AI is just like that.

With AI, it’s like we’re paying someone (the AI) to do the homework (assignments, building the company, etc.), while we’re just telling them what we need done.

It takes away our purpose.

AI gets purpose, while we lose it.

It makes us feel useless.

When we’re actually doing the work, in the back of our mind, we are contributing to society or ourselves in some way, and we reach a flow state, where we’re writing code that we can be proud of and share with others.

When we’re vibe coding, if the AI makes a mistake, we have to prompt it to get it fixed, and the final product isn’t even made by us.

Chase Purpose

If you can just use the AI’s knowledge for everything, then why even learn anything other than to communicate?

For example, if a robot can ride a bicycle better than you, why would you learn it?

The big reason is because of purpose.

Because it’s fun! It gives us something to use to exercise.

If a robot can write better music than you, why would you still do it?

Purpose.

The robot can write all the music it wants, but it isn’t your own music that you made with your own hands that others are listening to.

If an AI can make better games than you, why would you still do it?

Purpose.

Even if the AI can make an entire game with a single prompt, I firmly believe that if you were to publish that game the AI made and have players play it, you wouldn’t feel nearly as good as having gone through all of the struggle to make it yourself.

It’s like the difference between earning a trophy for years of hard work and buying one for yourself. The bought one has no meaning. The earned one is filled with purpose.

Even if the AI is better at coding than me, I still write my own code because of the drive to want to get better, the purpose that it gives me, and the intent to want to learn more.

From now on, I make sure to try to understand everything that I submit. I ask the AI questions on why it writes certain lines of code, and I work through practice examples to solidify my understanding of the material.

Conclusion

In conclusion, aim to use AI to help you learn. Use it for practice exercises, but don’t rely on it for everything.

kushal Avatar

About the author

Learn Roblox Scripting

Get the Beginner’s Guide to Roblox Scripting Book and learn Roblox scripting in an easy to understand way.



Search Kushal Writes

More Articles


Learn Roblox Scripting Easily

Learn Roblox Scripting in a beginner friendly way with my book. Vocabulary lists, practice exercises, quizzes, and tips from my 9 years of Roblox scripting experience.

Everything you need to learn scripting at your fingertips.