Artificial Intelligence (AI) is becoming more than just a buzzword in modern education—it’s quickly turning into a critical tool in how we learn, communicate, and problem-solve. In the field of Software Engineering, this trend is even more apparent. AI doesn’t just assist with writing code; it helps with everything from debugging and documentation to explaining concepts and improving grammar. In my personal experience during ICS 314, I mainly used ChatGPT, Claude, and Grammarly. These tools helped me approach the course from new angles, and while they sometimes made my life easier, they also raised questions about learning, reliance, and integrity.
For these, I leaned on AI like ChatGPT to help me understand what the prompt was actually asking. I’d often ask something like, “Can you explain what this WOD wants me to implement in simpler terms?” or “Am I fulfilling the requirements for this WOD?” In general I felt less stressed about the time limit since these tasks were online and I cared more about doing it well.
As the WODs became longer and more complex, I increasingly depended on AI. I often asked ChatGPT for examples or even had it write code snippets like, “Can you write a function that filters objects using
Similar to the Practice WODs, I relied on AI to help me move faster. I would copy error messages into ChatGPT and ask, “What does this error mean and how do I fix it?” It felt like the only way to keep up, even if I wasn’t fully learning the concept. Also, there were no “in-class WODs” since this class was distance learning.
For written assignments, I turned to Grammarly more than ChatGPT. It was mainly for grammar checks, sentence restructuring, and clarity. I never used AI to write entire essays for me — I simply didn’t need the help.
AI was incredibly helpful here. I often used prompts like, “This error is showing up when I deploy to Vercel. Is it my code or a different file’s issue?” or “How do I use this component in my file so that I can create this?” ChatGPT helped me troubleshoot and understand how deployment with Vercel works, something that wasn’t clearly defined for me.
Earlier in the summer, I used ChatGPT more like a mentor. I’d ask things like “What’s the difference between state and props in React?” It was more helpful as a tutor than a code generator during this phase.
I didn’t use AI for this. I rarely participated in Discord unless it was for communication, and the in-class questions didn’t exist, so AI didn’t seem necessary.
Early on, I asked ChatGPT things like, “Can you give me an example using
Same as #9 — I used AI to ask, “Can you explain what this TypeScript function does step-by-step?” It was most helpful when I was confused and couldn’t make sense of what a line of code was doing.
I used ChatGPT a lot during WODs and group work. Sometimes I’d say, “Write a TypeScript function that does X,” and then tweak the output. It saved time but also made me feel like I was relying too much on AI.
I didn’t use AI for documentation. This was something I either skipped or wrote myself.
I relied on ChatGPT a lot here. I’d paste my ESLint error and ask, “How do I fix this ESLint rule in my code?” It also helped me fix Bootstrap layout issues in the group project. These tasks were super frustrating until AI helped clarify what I was doing wrong.
I didn’t really use AI for anything else beyond what’s already been mentioned.
AI definitely had a major influence on my learning experience in ICS 314. To be honest, I felt like the course emphasized speed and deliverables over deep understanding. Because of that, AI took the lead in a lot of the work I produced. I didn’t necessarily learn software engineering better - I just learned how to get results faster. AI didn’t really challenge my thinking or enhance my comprehension; it more or less bypassed those steps altogether.
AI is a major time-saver in the real world, and I’ve seen how people use it across industries, not just in software engineering. Whether it’s writing a resume, solving a math problem, or generating code, AI speeds up the process. And I think most of my generation sees the value in using AI to reduce time spent on repetitive or complicated tasks. That being said, just because something is faster doesn’t mean it’s always better, especially when you’re trying to learn.
One big challenge with AI is that it’s designed to give you an answer—any answer—even if it’s wrong. So you still have to understand what you’re asking and be able to recognize bad output. There were definitely times when I followed ChatGPT’s suggestions only to hit more bugs or confusion. A possible opportunity here would be for the course to teach students how to evaluate AI output and use it responsibly, rather than just ignoring or banning it.
Traditional teaching focuses more on building understanding from the ground up. It can be slow and frustrating, but it lays a stronger foundation. AI-enhanced approaches are more efficient, but sometimes skip the “why” behind the answer. In terms of engagement, AI made me feel more confident and less stressed. But when it came to knowledge retention or long-term skills, I think traditional methods win. I could complete the tasks faster, but whether I could do them again without AI is a different question.
Going forward, I think AI will continue to be a major part of software engineering education. But instead of treating it as a cheat code or crutch, we should treat it as a tool to be understood. Future courses could include modules on prompt engineering, how to fact-check AI results, and how to collaborate with AI rather than just copy-pasting from it. We can’t ignore it, but we can use it smarter.
My journey with AI in ICS 314 was a mix of efficiency, dependence, and learning shortcuts. AI made the work more manageable and less stressful, but at a cost: I didn’t always walk away with a deep understanding. Still, AI isn’t going anywhere, so we might as well learn how to integrate it wisely. For future courses, I’d recommend creating clearer boundaries and maybe even activities that teach students how to use AI as a learning assistant rather than just a solution engine. After all, in software engineering and beyond, the ability to think will always be more valuable than just getting results.