AI: More Than Just A Tutor

13 May 2025

Introduction

AI has quickly integrated into many of our daily lives. It exists in nearly every corner of the internet, even our pockets. It never had a presence in my life in high school. Now, AI has manifested a role in my academic career. It has been a proficient scheduler, counselor, and tutor. My reliance on AI has increased since my first year of college. Professors praised ChatGPT as a powerful tutor, a learning tool in itself. I used AI more frequently as my classes grew increasingly difficult to manage. I turned a blind eye to the crutch I was developing. Even if I knew the answers to practice problems, I would still ask ChatGPT to check my work before moving on.

However, in the context of learning software engineering, AI provides endless guidance. There are far too many problems that beginners can encounter. From basic JavaScript syntax errors to issues with installing dependencies to even configuring development environments, AI provides a 24-hour troubleshooting service. It doesn’t even get mad if you ask the same dumb question again and again. I couldn’t count the number of times I’ve requested ChatGPT to walk me through installing something. Sometimes, a YouTube video just doesn’t cut it.

Overall, I relied on ChatGPT and Copilot for ICS 314. ChatGPT was most helpful in troubleshooting installations and minor code corrections. Never having used it before this class, Copilot became the most powerful AI tool for me. Its ability to look at files made fixing code a breeze. Moreover, it became my on-hand tutor for what felt like a self-taught class.

Personal Experience

Experience WODs

The Experience WODs were simple for the most part. For the first half of the semester, I would encourage myself to look up topics I didn’t understand rather than ask ChatGPT or Copilot. Most of my solutions came from following the instructions on the assignment (not the solution videos). However, when we transitioned into Bootstrap and React, AI became my crutch once again. I had Copilot fill in the imports and fix ESLint mistakes. When it generated code automatically, I just accepted it and moved on. Since I didn’t need to draft any prompts and it was as simple as clicking on an error and the accept button, it felt like a waste of time to type things out myself.

In-class Practice WODs

During the In-Class Practice WODs, I heavily relied on ChatGPT and Copilot. Generally, I would use prompts like, “Please explain the instructions below: " or "Walk me through a step-by-step solution to this problem: " One example was the Murphy's Bar and Grill WOD. I got stuck on the background image portion. I copy-pasted the contents of my CSS and HTML files into ChatGPT with the prompt, "Edit the CSS and HTML to have an image background and a text overlay." The response was not helpful. I then asked more variations of the same question but received no better solution. The background was the last part of the WOD so there were no real repercussions for getting stuck on it. However, for other In-Class Practice WODs, if I got stuck and ChatGPT wasn't able to fix it, I'd spend the majority of my time coming up with prompts that received no good response.

In-class WODs

The In-Class WODs were no exception. Even though I would often practice the Experience WODs before the In-Class WODs, sometimes At the start of the In-Class WODs, I wanted to rely solely on my understanding and refused to use AI. For the first WOD, I finished almost last and everyone else finished within the first 5 minutes or so. I was ashamed of my lack of speed despite staying true to my goal. The following week, I decided there was no harm in using AI. It was like a faster way of looking things up on Google.

Like the In-Class Practice WODs, I sometimes asked ChatGPT to explain the instructions and give step-by-step solutions or have Copilot help me write code directly. My prompts typically followed this structure, “Please create a component that renders a form with a few checkboxes and two buttons.” Sometimes it would work. Sometimes it wouldn’t. But with enough trial and error, it would.

Essays

For the technical essays, I used Grammarly’s AI to check for writing errors. Based on the corrections, I occasionally prompt their generative AI to help me finish sentences. I’m especially fond of the synonyms they suggest. They offer predetermined prompts such as: “Improve it, Identify any gaps, Draft an outline, etc.” The responses can come off as terribly robotic so I typically use them as an outline.

Final project

AI was a crucial part of my final project. While the Digits portion of the curriculum existed to help us with the final project, some parts didn’t make much sense to me. The forms I made for the project were just like the edit and add stuff parts of the template. Despite their similarity, I had great difficulty having the forms edit the database. Sometimes, I would spend hours debugging, trying to understand why nothing would change. Using Copilot to troubleshoot seemed like the most useful skill of all.

Learning a concept / tutorial

Sometimes after attempting an Experience WOD, I still wouldn’t understand the solution. Rather than watching another YouTube video, I would ask ChatGPT questions about the material. It was easier to understand concepts when I wasn’t spending most of my time searching for the answers to my questions. A lot of the time, I understood the general ideas but I can’t move on if I have a question. Without a professor to ask immediately, I relied on ChatGPT to explain my confusion.

Answering a question in class or in Discord

While communication is important, lots of time could be wasted just trying to explain the question in another light. I sometimes scanned the smart questions channel in Discord but rarely had any answers. However, there were times I searched forums rather than asking AI. It took me a while to find a partial solution and ChatGPT would help me finish the job. It was always reassuring knowing that I had something to help me figure things out.

Asking or answering a smart-question

I rarely ever asked questions on Discord. I found most of the answers to my questions using AI or by asking my professor outright. However, I did notice that in Discord and class, when some students asked questions, they were easily misinterpreted or sometimes ignored. I’d rather guarantee a response, even if wrong because it could point me in the right direction.

Coding example

When first learning JavaScript, I would ask ChatGPT to give me examples of when to use certain concepts. One of them was regarding the difference between “==” and “===.” During the first training we did using freeCodeCamp, I wouldn’t always get the solution immediately. Even if I did I would ask ChatGPT to help me understand when to use each one. I found it very useful because it would illustrate examples in ways I could understand easily.

Explaining code

When preparing for In-Class WODs, I would ask ChatGPT to explain certain portions of code. The prompts would look like “[Block of Code] What does this code do?” When first working with the template, I would ask ChatGPT and Copilot to explain which files needed editing and why. The answers to “why” would typically be long and confusing but otherwise, the responses would help me complete tasks efficiently.

Writing code

When asking AI to write code, I heavily relied on Copilot. The feature allowing you to attach files worked wonders when I didn’t know which part was broken. Sometimes I would attach the components, dbActions, and validationSchema files to the embedded Copilot in VSCode so that it would rewrite some code for me. Rather than spending more time, searching the code line by line for errors I would end up asking Copilot to explain, Copilot would find and fix the issue quickly. This allowed me to spend less time debugging and working on other issues.

Documenting code

I rarely commented on the code I wrote myself. However, when I had Copilot or ChatGPT generate code for me, their comments made it easy to look back on the code. Without the notes that they created, I would’ve easily forgotten what was changed and more importantly, what I needed to remember for next time.

Quality assurance

Quality assurance was a major part of my use of AI. I don’t think there was any assignment past March and I didn’t ask either ChatGPT or Copilot to explain an error. Just like a round-the-clock TA, AI helped me understand the issues with my code, allowing me to become more familiar with the problems I commonly encountered. Sometimes it would be as minor as refreshing the ESLint server or shifting the indent on a long block of code. Other times, I would be forced to deep dive into a long ESLint error. Either way, it would’ve been difficult without the help of AI.

Impact on Learning and Understanding:

AI is a powerful tool, equally playing both parts in helping and deterring my learning. ChatGPT is an amazing tutor, being able to answer my questions on demand. Whatever misunderstandings I had, ChatGPT was there to illustrate. Being able to ask deeper questions helped me better understand software engineering concepts.

But when does it become just that? A question with an immediate answer, the same way you look up conversions? I know that 1 inch is 2.54 centimeters but sometimes I need a reminder on other specifics. I don’t always remember what the prefix nano- is in scientific notation, even if I know others.

AI can be a gentle reminder of things that we can’t always get an answer to by Googling or reading a textbook. Admittedly, it is and can be a shortcut. However, that itself is a part of this field: searching and looking for answers. I don’t think there’s any harm in looking for reminders, as long as you know where to look. You can’t get the answer to a question you don’t know how to ask.

Practical Applications:

AI has many opportunities to thrive outside of ICS 314 and software engineering. It’s a prime example of learning to adapt to the times. You see it everywhere, woven into our daily lives. It has its rightful place in more places than just helping software engineers. AI has taken a precedent in customer support, scheduling meetings, and even generating art, just like it is an inescapable part of software development. AI may not be capable of solving all problems but it helps to reduce errors and help users become more efficient.

Challenges and Opportunities:

For me, the limitations of using AI were highlighted in completing the final project. I struggled to come up with prompts for it to help me fix the bugs in the code. It was especially difficult when the build would fail and I would get blocks of error messages I couldn’t understand. Unlike most ESLint errors, where I would be able to send the error to Copilot and it would generate the fixed code within moments, I needed to understand the issue on a deeper level to be able to ask the right question for Copilot to understand the problem. I often swapped between ChatGPT when trying to debug. I learned to ask about the error to get a general understanding which allowed me to ask more specific questions that related to my situation. It is a powerful tool that is more than just an answer sheet.

Comparative Analysis & Future Considerations:

In some classes, I worried more about my grades than my understanding. In ICS 314, I heavily relied on ChatGPT and Copilot for many assignments, especially the WODs. At the beginning of the semester, I told myself I would refrain from relying on any AI. I naively believed that I was more than capable of handling any task thrown at me. Every week, I got increasingly burnt out from my classes, relying upon AI to lessen the load. I would ask it to explain solutions to the practice WODs, even asking it to provide entire solutions. I would ask AI for reassurance, even if I was confident in my answers. It’s hard to escape from the crutch of asking something that seems to know the answers to everything.

At the same time, AI was almost like a secondary professor in the flipped classroom model. I engaged far more with the material when asking ChatGPT questions about the WODs and using Copilot to guide me through the code compared to watching the solution videos. As someone who struggled with this style of teaching, AI was like a backbone in my learning. Just like how Copilot was integrated into VSCode, it could easily become a part of the curriculum of software engineering.

Conclusion:

AI is more than just a tutor. It became my coding partner, debugger, and 24/7 instructor. I often worried that I was just taking shortcuts, but it was a key part in my learning. It was the best way I engaged with the course materials. I can’t imagine a more powerful learning tool. When used properly, AI becomes another mode of learning.

Note that this essay was written with the help of Grammarly.