
As LLMs like ChatGPT and Co-Pilot evolve and become more prominent and accessible, the nature of education has shifted drastically. In software engineering, an average AI language model can be comparable to a software engineer with many years of experience and operates with much faster processing speeds. More students now use AI to help develop websites and write code, and they use it to learn because it is a quick and easy resource to access. Personally, in ICS 314, I have used AI to assist with coding, debugging, and learning new topics. The most common AI tools I have used include ChatGPT, Claude, and Co-Pilot.
Throughout ICS 314, I used AI as a major support tool across almost every assignment, practice activity, and topic I was trying to understand. The course moved quickly and introduced multiple concepts like TypeScript, React, Next.js, CSS, and ESLint, and I used AI to accelerate my understanding and clarify errors in my code. Furthermore, AI helped break down unfamiliar topics and provided examples on how to use extensions of tools we used in class. Below is a detailed explanation of how I used AI across ICS 314.
I used AI extensively while checking for errors throughout my Experience WODs. I would first complete the WOD on my own, then watch the answer videos to check my solution, and finally use AI to identify mistakes and guide my next attempt.
For the practice WODs, I frequently used AI both during and after the exercises. I used AI to correct my syntax and resolve any ESLint errors. If I hadn’t finished or my WOD code was not functional after class, I used AI to review my work and guide me through the corrections.
During in-class WODs, I relied on AI to help correct mistakes that appeared while coding. I always attempted to solve the WOD on my own first, but when I ran into an error I could not fix or missed key details, I used AI to scan my code and suggest solutions.
For my essays in the GitHub portfolio, I used AI only to enhance my writing through grammar correction and to improve incoherent paragraphs. I also asked AI for formatting suggestions to make my essays neat and organized.
AI was one of the tools I used during the final project. For example, I asked AI to explain ESLint and TypeScript errors and to help troubleshoot the Prisma database. I also used AI for suggestions on project approach and UI elements to improve usability for instance, the star button on the review page and formatting for text boxes and buttons.
This is where I used AI the most. When long paragraphs of text overwhelm me, I rely on AI to simplify instructions and break them down step by step for easier understanding. Sometimes TypeScript formatting threw me off because of my familiarity with other languages like C; therefore, I often asked AI for correct TypeScript syntax rules.
I did not use AI to answer questions in class or on Discord because I felt that if I was not fully familiar with a topic, I should not attempt to teach it. Teaching requires understanding beyond the basics, and if I relied on AI to produce an answer I should not present it as my own knowledge.
As mentioned above, I avoided using AI when asking or answering smart questions; therefore, my questions and answers were not AI-backed.
I often used AI to generate code snippets after practice WODs to ensure I fully understood a concept. I generated snippets and traced through the code with AI to solidify my understanding.
I used AI to draft or refine code, ask for suggested approaches, and fix logic issues. Even while writing code, I used AI explanations to help me review, edit, and rewrite rather than copying and pasting.
AI helped me write clearer comments and documentation. Often I asked it to generate coherent headers and documentation paragraphs that clarified a function’s purpose and rephrased my drafted explanations.
AI was extremely helpful for debugging, and I utilized it to:
The incorporation of AI significantly impacted my learning throughout ICS 314. In many cases, my comprehension was strengthened by AI, which provided explanations that were direct, simplified, and relevant to my work. Concepts like React, TypeScript, and Next.js with Prisma became clearer after AI broke the topics into smaller, digestible explanations. This enhanced my understanding and reduced the cognitive load that came with learning many new tools.
Although AI enhanced my understanding, heavy reliance on it also presented challenges. AI sometimes made learning feel overly assisted, giving the impression that I understood a solution without understanding the underlying reasoning until I revisited the material independently. Even so, the overall effect on comprehension and skill development was positive, especially where documentation alone felt overwhelming.
AI is widely regarded as an important implementation tool across many fields. Beyond computer science, in finance LLMs are tracking economic trends and making predictions; AI is also used in social media marketing and other domains. The effectiveness of AI in real-world software engineering comes from its speed and relatively low operational cost. This is why AI is commonly used across many professional domains and projects.
One of the main challenges of AI is the risk of overreliance: because AI can provide quick, polished information, it can discourage deeper investigation and understanding of the material. Another limitation is occasional inaccuracies or hallucinations, such as misreading a line or failing to account for new framework versions.
Despite these challenges, there are clear opportunities to improve AI for software engineering education. Tutorials and activities can use AI to explain concepts and, rather than giving answers immediately, guide users toward a deeper understanding. One potential future feature is real-time feedback where an LLM analyzes typing behavior and coding habits to generate a concise “summary review” with suggestions for improvement.
Traditional learning methods like lectures, readings, and daily tasks build foundational understanding and problem-solving skills. These methods promote long-term retention of material, discipline, and critical thinking.
AI-enhanced approaches offer immediacy and adaptability. AI can explain concepts in multiple ways, show alternative solutions, and provide problem-specific explanations. Engagement is often higher because feedback is instant, which traditional methods do not necessarily provide.
I believe the most effective learning combines both approaches. As technology evolves, people should adapt to use those technologies. Traditional learning methods exist because they work; thus, it is important to use the best of both worlds to optimize learning.
AI is set to play a major role in software engineering and education moving forward. LLMs will likely become smarter, faster, and more accurate with future development and investment. It is important for institutions to define boundaries and limitations to ensure AI does not encourage poor learning habits. The end goal should be for students to use AI as a standard tool rather than a shortcut to learning.
Overall, AI significantly shaped my experience in ICS 314. It helped me understand concepts more quickly, debug with clearer explanations, and code with greater accuracy. Although there are challenges with accuracy and the temptation to rely on AI too heavily, the benefits outweigh the drawbacks when AI is used properly.
Moving forward, I believe AI should remain integrated in ICS 314, but with clear guidelines on when and how to use it. It all comes down to balancing traditional learning methods with newly emerged AI technologies used as tools that elevate learning.