Reflection on Use of AI

11 May 2025

Introduction

AI is a new and powerful tool when used in the right context. In education, it can help students quickly relearn a topic, or even learn a new one, by personalizing the material to their needs. AI can provide examples, images, and even videos in some cases. It also helps with brainstorming ideas for projects or creating general outlines for essays. In ICS 314, AI has been a relevant tool, especially since, as far as I recall, this is the first semester where students were allowed to use AI tools in their work. Whether for assignments or in-class WODs, we were permitted to use it. In my case, I primarily used ChatGPT for several classes, either for brainstorming ideas or generating an outline of what I should do.

Personal Experience with AI

Experience WODs

As for using it for experience WODs, I believe I used it once or not at all, since the accompanying videos usually solved the problems I encountered.

In-class Practice WODs

In-class practice WODs were a different story. When I forgot to review the topic of the week, I used AI to help me complete the WODs and learn the material I was supposed to understand. It was especially helpful during the practice WODs where I had to recreate a website, and I didn’t know how to style it in a specific way.

In-class WODs

Like with the practice WODs, I used AI during the early in-class WODs, as I was somewhat rusty in JavaScript, having last used it in high school. However, with most programming languages, once you know one, you can pick up others more easily. For the first few JavaScript-focused WODs, I relied on AI. For example, in the fourth WOD, where we had to find specific words in Justin Bieber’s song “Baby,” I was running out of time and, in desperation, used AI to clean up my code and help me finish it.

Essays

While I haven’t needed to use AI extensively for my essays so far, I plan to use it for spell checking in preparation for the final exam. Typically, I copy and paste my essays into Google Docs to check for grammar and spelling. As for brainstorming, I just write down whatever comes to mind, similar to how I approached this essay.

Final Project

I used AI in my group’s final project to help with styling a website. This included tasks like adding a box shadow to a header or finding complementary colors to help elements stand out more.

Learning a Concept / Tutorial

When I need to review a concept before class, I often have AI explain it to me again a few minutes before class starts, especially when we have a WOD. AI also helps when a tutorial for an assignment or practice WOD contains a mistake or is outdated.

Answering a Question in Class or on Discord

During our in-class discussions, the professor would sometimes ask us to consult an AI (my choice being ChatGPT) to help formulate answers to proposed questions. This helped me learn new things that have been vital to my experience as a software engineering student.

Asking or Answering a Smart Question

I never asked or answered a smart question during my time in ICS 314, as either I found the answer myself or someone else addressed the question.

Coding Example (e.g., “Give an example of using Underscore _.pluck”)

I used AI to give me coding examples to better understand how to apply them to my projects. However, it doesn’t always provide the exact or correct code I need.

Explaining Code

I sometimes use AI to explain my own code, especially since I don’t always organize or comment on it well. I also ask AI to explain the code it generates so I can understand how it works.

Writing Code

AI helps me write code when I forget a concept that could be applied to my current task at hand.

Documenting Code

When AI writes code for me, it often documents the additions or changes it makes, which helps make my code more readable and organized.

Quality Assurance

For quality assurance, I usually let VSCode handle errors like ESLint warnings, as it is faster than copying and pasting code into ChatGPT.

Other Uses in ICS 314

Other ways I have used AI in ICS 314 include brainstorming ideas for projects or essays to get started earlier.

Impact on Learning and Understanding

AI has significantly helped me learn and understand software engineering concepts. I often ask them to rewrite code in different ways to show me alternative solutions. Sometimes, one of those solutions closely resembles my original idea, validating my approach.

Practical Applications

AI has applications beyond ICS 314, such as in animation. For example, in the movie Spider-Man: Into the Spider-Verse, AI was reportedly trained to apply lines onto 3D models, which were later cleaned up by artists. This demonstrates that AI can be used across various industries—not to replace humans, but to enhance productivity. It should be viewed as a tool that enhances workflow, not something to depend on completely. Like a rough draft, AI-generated work often requires refinement.

Challenges and Opportunities

One of the limitations I’ve encountered is that AI struggles with complex projects that require a lot of context. For example, if you’re working on a routing problem, AI may not provide an effective solution unless it has access to all the relevant code, which is often spread across multiple files. On the other hand, a major opportunity lies in using AI to help teachers plan and organize their curriculum. Based on my high school experience, teachers often have to cut content to meet tight timelines. AI could help streamline that process.

Comparative Analysis

Traditional teaching methods are time-tested and reliable, having been used for over a century. However, like all technologies, education needs to evolve. As student attention spans decline and dropout rates increase, tools like AI could help reverse these trends. AI can assist in lesson planning or help students grasp difficult concepts quickly. However, there are downsides. Over-reliance on AI may further reduce attention spans or give students the impression that AI is a substitute for a real teacher. These are important considerations when comparing traditional and AI-supported teaching methods.

Future Considerations

AI is a rapidly evolving field and will continue to integrate into both software engineering and everyday life. Therefore, it makes sense to begin incorporating it into education now. Students should become proficient with AI tools while also learning the foundational knowledge that AI developers possess. Integrating AI into software engineering education could bring significant benefits to the field and help produce more informed and capable professionals.

Conclusion

Overall, using AI in a software engineering course is highly beneficial for both students and professors, provided it is used correctly. That means treating AI as a tool, not as something to depend on entirely. Tools like GitHub Copilot and ChatGPT have limitations. When those limits are reached, students who rely too heavily on them may find themselves confused and unprepared. One way to mitigate this is for schools to provide access to premium or educational AI plans, along with clear guidelines and penalties to discourage misuse.