
Artificial intelligence will have a more profound impact on humanity than fire, electricity and the internet. - Sundar Pichai
Artificial Intelligence (AI) is a rapidly evolving technology that has become increasingly integrated into modern society. Although its widespread use is relatively recent, it is already transforming many aspects of daily life, especially in the field of education. According to Campus Technology, 86% of college students use AI to support their academic work. AI has proven particularly valuable in computer science and software engineering, where it excels at answering coding questions and generating code snippets. This has led many software engineers to adopt AI tools to streamline their workflow, allowing them to avoid spending time writing routine or repetitive code.
As a computer science student currently taking the software engineering course ICS 314, I have found AI tools to be especially helpful. I primarily use ChatGPT to write and troubleshoot code. While I also use it in other classes for studying, its benefits are most pronounced in computer science-related subjects. Another AI tool worth mentioning is GitHub Copilot, which provides real-time code suggestions and error fixes directly within the IDE, such as Visual Studio Code. Although it may not always be as advanced as ChatGPT in understanding broader context, Copilot has the advantage of being integrated into the development environment, allowing it to understand the structure of the entire codebase.
1 Experience WODs
The first experience WOD that comes to mind is definitely the digits WODs. I used ChatGPT for most of the experience WODs since it helped me save a lot of time, but not for the digits WODs. The main reason I didn’t use ChatGPT for those is that it wasn’t as helpful compared to other WODs, since you have to edit multiple page.tsx files based on your needs. It would take too much time to go back and forth, and there’s a possibility that ChatGPT wouldn’t understand how my components worked unless I provided all the files in the template.
2 In-class Practice WODs
We did multiple practice WODs in class, and I attended all of them. I don’t recall completing any of them without using ChatGPT, since they were just for practice and I wanted to test how useful AI would be for that week’s WODs. In some cases, I even tried copying and pasting the entire question and asking for the answer to gauge how much more I needed to practice before the real WOD. Overall, using ChatGPT for practice WODs was effective and saved me time and effort.
3 In-class WODs
We also did several actual WODs in class, and I attended all of them except for the last one. Like with the practice WODs, I used ChatGPT for almost all of them, since it had already proven helpful. However, some actual WODs were more difficult, so I had to ask ChatGPT more detailed questions and rephrase them multiple times. In the end, it helped me pass all except the final one, where I felt it wouldn’t be as effective due to similar issues as in the digits WOD.
4 Essays
I used ChatGPT only to check grammar for all essays, except one where I also used it to brainstorm because the topic was difficult. That essay was about design patterns, and since I had no prior experience with the topic, ChatGPT helped me better understand it. For grammar checking, ChatGPT performed very well, and I’m using it for this essay too, but not to write the content, as I want it to reflect my own ideas and voice.
5 Final project
AI was almost essential for completing the final project in ICS 314. I assume most students relied on it due to the many small issues and topics not covered in class. For example, I spent over six hours solving database problems, and ChatGPT helped significantly. Even though it was similar to the digits WOD in terms of complexity, I used ChatGPT because there was no time limit, and it turned out to be more helpful than expected, as long as I provided enough context.
6 Learning a concept / tutorial
Using AI to learn concepts and follow tutorials is one of its best uses. It saves time and explains things clearly, like having an on-demand tutor. We encountered many new topics in this class, and the available tutorials were often outdated or unclear. ChatGPT was very helpful in understanding how to use tools like the Postgres database system.
7 Answering a question in class or in Discord
This is another area where AI is especially useful. Asking AI is often more reliable than using Google, which can return outdated or incorrect answers. I solved many questions just by asking ChatGPT. However, some complex problems, like the pooling issue with Supabase and Vercel, required help from instructors, since AI couldn’t resolve them.
8 Asking or answering a smart-question
Answering questions is similar to the point above, so here I’ll focus on asking smart questions. Sometimes, AI can help you phrase better questions when you’re not sure how to express them. Personally, I didn’t use AI for this, because I preferred asking AI directly rather than rephrasing questions for others. Still, it could be useful for improving posts on platforms like Stack Overflow.
9 Coding example
ChatGPT is excellent at generating example code for complex problems. I regularly asked for simplified examples or clearer explanations when I encountered code I didn’t understand. This was especially helpful when learning JavaScript and TypeScript, where ChatGPT provided accurate, well-explained examples that were easier to follow than what I found through traditional search.
10 Explaining code
This ties into the point above, but ChatGPT also excels at breaking down how code works. Sometimes its explanations are more advanced, but you can ask it to simplify them. I frequently used it to understand specific lines of code, particularly in Next.js templates, which included many elements I hadn’t encountered before.
11 Writing code
ChatGPT is generally very good at writing code, but the quality depends heavily on the prompt. If the question is vague, it can give incorrect answers. For example, I used it to help write code for the final project, and although it required multiple tries and detailed input, it was still very useful.
12 Documenting code
This is closely related to explaining code, as documenting often involves writing clear comments. I didn’t need to document much code myself, but I believe ChatGPT would be excellent at it. Since it’s good at providing explanations, it should also be good at generating comments that help others understand the code.
13 Quality assurance
ChatGPT is pretty effective at identifying and fixing errors in code. However, when multiple files are involved—as in the digits WOD or the final project—it can get confused. Even so, it’s usually faster than using Google. I used it frequently during the final project to fix issues and learned how to make my prompts more specific for better results.
14 Other uses in ICS 314 not listed
I used ChatGPT the most this semester for ICS 311, which is an algorithms class. I don’t enjoy reading the textbook, and the lecture notes are just summaries that lack detailed explanations. Instead, I asked ChatGPT to expand on the lecture notes, and it did a great job. This saved me time and helped me learn the material more effectively before class.
Using AI for ICS 314 definitely helped in many ways, especially with comprehension. It’s an excellent tool for learning new topics, as mentioned earlier. However, I’m not sure if it helped me develop long-term skills or improve problem-solving. Because AI can generate code so quickly, I sometimes felt I wasn’t learning deeply. When the actual WOD differed from the practice one, I struggled without AI. So while AI enhanced my understanding of concepts, it also made some practical tasks more difficult due to overreliance.
One notable use of AI outside ICS 314 is in the video game industry. A strong example is InZOI, a Korean game developed by InZOI Studio and published by Krafton, which integrates AI to simulate realistic NPC behavior. Unlike traditional games with hardcoded rules, InZOI’s characters respond dynamically to different situations. This not only creates a more immersive experience but also helps solve software engineering challenges like modeling behavior, scalability, and adaptability. It shows how AI can support collaborative work and user experience design in real-world projects.
The biggest challenge I faced using AI was during the final project. Although ChatGPT was helpful, it struggled with complex, multi-file tasks like building a component-based website. For example, I had to create an Admin Resource page and modify multiple files, such as the Prisma schema and database actions. Without foundational knowledge, AI can be difficult to use effectively. To address this, AI should be better integrated into the curriculum to help students manage multi-file systems and guide AI tools more efficiently.
Traditional teaching methods differ greatly from AI-enhanced learning. Traditionally, students must attend class, read textbooks, and work through assignments independently. With AI, students can ask questions at any time, get instant coding help, and avoid getting stuck. In terms of engagement, AI can make learning more enjoyable and efficient. However, for skill development and retention, it may hinder students who become too reliant on it. Ideally, AI should be used when students are stuck or already understand the topic, rather than as a crutch.
AI in software engineering education should definitely continue to grow, as it boosts productivity. However, it should mainly be used by students who already understand the material and want to save time. Many students relied on ChatGPT to complete assignments without understanding the work, which caused problems during the final project. It’s important that students remain responsible when using AI and ensure they can complete tasks independently. Employers won’t hire someone who depends entirely on AI, especially when others can achieve more with the same tools. Students must also be able to debug and fix AI-generated code, which requires a solid understanding of software engineering.
Reflecting on my experience in ICS 314, it’s clear that AI tools like ChatGPT and GitHub Copilot played a significant role in supporting my learning and development throughout the course. These tools were incredibly effective for understanding new concepts, solving coding problems, and accelerating project work. However, they also came with potential downsides, especially the risk of overreliance and reduced development of independent problem-solving skills.
To optimize the use of AI in future software engineering courses, I suggest incorporating more structured guidance on how and when to use AI tools effectively. Instructors could provide best practices for prompting AI, highlight its limitations, and assign tasks that balance AI support with the need for critical thinking and independent coding. Encouraging students to first attempt problems on their own before turning to AI could also help reinforce learning. With the right balance, AI can be an incredibly powerful supplement to traditional learning methods, helping students become not only faster developers, but smarter and more thoughtful ones as well.