Reflect on the use of AI in ICS 314
I. Introduction Artificial Intelligence has increasingly woven itself into the fabric of modern learning, and its role in software engineering is revolutionary and disruptive. In ICS 314, AI was not just a tool—it was a study companion, a debugger, and an idea helper. This reflection follows my journey with AI throughout the course, how it affected my way of learning, solving problems, and collaborating with others in software development.
II. Personal AI Experience: I employed AI for several reasons throughout this semester of ICS 314:
Experience WODs: I typically completed Experience WODs alone without the aid of AI. They were designed so that we would build core competencies, and I had to feel like I really understood what we were learning. I only used ChatGPT if I reached specific errors that I was unable to fix despite watching the walkthrough vids.
In-class Practice WODs: I did the same during these sessions. I tried to solve the exercises myself to check my understanding. If I was stuck or unsure of a TypeScript expression or syntax, I would occasionally ask ChatGPT to verify my thought process or provide me with a bare minimum working example.
In-class WODs: My AI usage was higher for the in-class WODs, especially towards the latter part of the semester. With the increasing complexity of problems, ChatGPT helped me decipher unclear requirements or recall syntax rules immediately. However, I made sure not to copy answers wholesale without actually understanding them, and utilized AI more as a helper than a support.
Essays: For written assignments, such as technical essays and director’s pitch reflections, I wrote by myself most of the time. Sometimes I would use ChatGPT to get ideas, revise sentences, or test the quality of arguments. But I took care to have my own voice and interpretation ahead of all that.
Final project: AI was paramount in our final project. I used ChatGPT to compile React code, debug Git merges, and refactor components to integrate them better. In debugging unexpected runtime errors, AI helped locate the cause faster than testing with trial-and-error procedures. This saved our team time and allowed us to stay on schedule while having unity in our codebase.
Picking up a concept/tutorial: Whenever a lecture or reading concept wasn’t sticking—such as closures, ternary operators, or client-server communication—I asked ChatGPT to break it down in simpler language. Having AI at my fingertips enabled me to study asynchronously and reinforced material from a different perspective.
Applying AI during class to reply to a question or in Discord: Sometimes, I used AI to verify my understanding of a class question when things were going quickly. For Discord, the use was sparing, but whenever a classmate posed a technical question, sometimes I would apply ChatGPT to research the answer before giving a response.
Asking or answering a smart question: In these instances, I typically tried to use my own knowledge. AI helped when I needed a second opinion or background, but I liked to use my own thinking and classroom knowledge to construct thoughtful questions or answers.
Coding sample: AI came in handy when I needed examples of form validation, React component layout, or TypeScript helper functions. Instead of slogging through lengthy documentation, I could ask a particular question and get a targeted answer with code samples.
Clarifies code: When I came across unfamiliar code, especially while reviewing team commits, I asked ChatGPT to clarify the logic line by line. It helped me understand my colleagues’ code and improve code reviews.
Code programming: I used AI the most when programming code. Whether helper functions or React form state logic, AI would provide templates or suggestions that helped me get unstuck. I took the effort to understand and edit the code rather than just copying it.
Documentation through coding: I chose not to use AI to document. It was my feeling that it ought to be me documenting comments in a manner that suited our specific context. It made the documentation more personal and enabled me to have a greater understanding of the code.
Quality assurance: AI was extremely helpful when debugging and testing. I used it to decode cryptic error messages, infer probable edge cases, and confirm that my test coverage was adequate.
Other uses in ICS 314 not already listed: I occasionally used ChatGPT to debate design options, such as component abstraction or state management decisions. This clarified things better and made me more confident when making architectural choices.
III. Impact on Learning and Understanding Utilizing AI was critical to making me learn quicker without compromising on depth. It filled in gaps in learning quickly and gave me a confidence boost if I was stuck about progressing further. Though, I soon came to understand the value of cross-verification of AI output and not doing it mindlessly. The best result came only when I supplemented—not replaced—my own mental processes through the assistance of AI.
IV. Practical Applications In ICS 314, AI was able to prove its utility in nearly every development phase—writing, refactoring, debugging, and learning to use new tools. AI helped automate the routine aspect of coding and allowed me to focus more on design, logic, and teamwork.
V. Challenges and Opportunities Though AI boosted productivity, it sometimes tempted me to try shortcuts. I had to remind myself deliberately to study the content before asking for help. The biggest potential is in using AI to liberate time for innovation and creativity. There is also a risk of dependency, especially for newer programmers.
VI. Comparative Analysis: AI greatly improves speed and efficiency but cannot replicate human developers’ nuanced thinking and creativity. While it can perform 80% of the coding task, the last 20%—that is usually around design thinking, ethical decision-making, and user empathy—is still human. A combined approach that leverages AI strengths and develops human insight is the key to continued growth.
VII. Future Considerations In the future, AI will be integrated into software writing, testing, and upkeep. Courses like ICS 314 strive to make its utilization more mainstream as well as emphasize core understanding. My desire is that education not only teaches students how to use AI tools but also how to question them, improve them, and use them ethically. Ethical issues such as data privacy and algorithmic bias must be part of this conversation as well.
VIII. Conclusion: This semester, looking back, AI had been both my tutor and teammate. It taught me rapidly, coded with me wiser, and collaborated with me more effectively. Its most valuable dividends, though, were when I utilized it thoughtfully and reflectively. As software development keeps growing, I believe that success will not only depend on mastering tools like AI but also on retaining the human qualities that make us resilient, empathetic, and creative. ICS 314 prepared me for establishing the balance, and I anticipate continuing to develop both sides of this equational dynamic.
Acknowledgement: Chatgpt and other online sources were utilized to provide information and insight, to improve grammar, vocabulary, and punctuation.