Reflecting on My Use of AI in ICS 314

12 May 2025

Reflecting on My Use of AI in ICS 314
By Hargun Juneja

I. Introduction
AI is becoming a big part of education, especially in tech-heavy fields like Software Engineering. It helps students figure things out faster, stay on track, and even learn better if used correctly. In ICS 314, I mainly used ChatGPT because it was simple, and I already knew how to use it. However, I used Cursor and Windsurf when I started the final project. At first, they were harder for me, but I wanted to get comfortable with them since I know they will be essential tools in the real world, especially in my future career.

II. Personal Experience with AI

1. Experience WODs
For these, I never used AI. Since they’re homework and prep for the real WODs, I wanted to figure things out on my own. If I got stuck, I would go through all the readings or documentation until I understood what to do.

2. In-class Practice WODs
Same as the experience WODs. These are practice so it made more sense to learn by doing and struggling through it a little.

3. In-Class WODs
This one depends. For earlier WODs where it was just basic stuff like writing functions, I wrote them on my own and asked AI to test them or double-check them. For later WODs where we had to recreate webpages and there was a bigger time crunch, I used AI to help build a framework quickly. I would give super specific prompts to ChatGPT so I could just fill in the blanks, and if I ran into any errors, I would ask AI to help fix it fast.

4. Essays
Even this one. For essays, I always start by dumping out all my thoughts and ensuring I’ve covered every part of the prompt. Then I paste those raw thoughts into ChatGPT and ask it to turn them into a full essay that sounds clean. After that, I read the result and fix anything I don’t like so that the final version still feels like mine.

5. Final Project
I used AI for pretty much everything here. Since I was the team lead, I used AI to help me divide up the tasks, fix bugs, review pull requests, and just manage the whole thing. It made me way more efficient and helped me make sure everything was working right.

6. Learning a Concept / Tutorial
Always used AI. If I had a tutorial, video, or textbook content, I would ask ChatGPT to summarize it into notes and even create questions I could answer to make sure I actually learned the material. I did this not just for ICS 314 but also for ICS 311.

7. Answering a Question in Class or in Discord
I didn’t use AI here. Most of the time, questions from other students didn’t require me to look anything up.

8. Asking or Answering a SMART Question
I always used AI to help make sure my questions were smart, formatted properly, and to the point. It helped me avoid asking something vague or confusing.

9. Coding Example (e.g. .pluck)
I didn’t use AI for this. For me, it’s usually faster to come up with examples myself rather than prompting AI and waiting for the right one.

10. Explaining Code
Also didn’t use AI for this. I find it way easier to explain things in my own words, especially when I’m trying to simplify it for someone else.

11. Writing Code
Most of the time I used AI here. If I provided a clear idea of what the code should do — almost like pseudocode — the AI usually got it right. I used it a lot for things like Playwright tests or if I got stuck on WODs early on.

12. Documenting Code
I didn’t use AI for documentation. It always made things sound too complicated and that just confused things more.

13. Quality Assurance
I always used AI for this. If I had an ESLint issue or something wasn’t working, AI was fast and accurate if I gave it a solid prompt. It saved me a ton of time.

14. Other Uses
One thing I haven’t mentioned yet is I used AI to write emails. It helped me keep them short, polite, and still formal enough. I didn’t want to sound robotic or too casual, and AI found that balance for me.

III. Impact on Learning and Understanding
AI helped make learning easier. A lot of the documentation and readings are super wordy and honestly just hard to follow sometimes. AI helped break things down in a way that actually made sense. I was able to understand the exact thing I was supposed to learn without feeling lost in all the technical stuff.

IV. Practical Applications
I think AI is super important in real-life software engineering. Everyone I know who works in tech uses AI in their day-to-day work. It helps with debugging, speeding up coding tasks, and just making the workflow better overall. If you don’t know how to use AI tools, you’re honestly missing out.

V. Challenges and Opportunities
AI isn’t perfect. Its memory kind of sucks and it can’t handle everything at once. If you rely on it completely and don’t know how to code on your own, you’ll hit a wall. For example, when we were doing the final project, I couldn’t just tell AI to create a page and connect all the data models. I needed to know how to do that part myself. So even though AI is helpful, you still need to have the skills to back it up.

VI. Comparative Analysis
Traditional teaching methods are great for some people, but AI-enhanced approaches just work better for a lot of us. Not everyone learns well by just reading a textbook or watching a lecture. AI helps you learn in a way that’s more interactive and personalized. I feel like I remember things better when I can ask questions, get instant feedback, and go at my own pace.

VII. Future Considerations
AI is going to keep growing in software engineering education. I think schools should start including tools like ChatGPT, Cursor, and Windsurf in their courses, but also teach students how to prompt properly and combine it with real problem-solving skills. It shouldn’t be about replacing learning, just making it easier to learn and build things. Better memory, more integration with your codebase, and being able to work with multiple files or entire projects would make future AI tools way more useful.

VIII. Conclusion
Using AI in ICS 314 helped me work faster and learn more effectively. It never replaced my own thinking, but it gave me the support I needed to stay on track and figure things out. I think future classes should teach students how to use AI as a tool, but still push them to learn the fundamentals. If students know how to use both together, they’ll be ready for real-world software engineering work.