AI Use in ICS314

11 Aug 2025

Artificial Intelligence is a tool quickly being pushed into mainstream culture, personal assistance, and learning. AI’s relevance in this software engineering course was a personal choice, and was impactful. Throughout this course, AI served to help understand and problem solve with debugging, learning, and processing the elements of my code. Throughout this course I used ChatGPT and the embedded GitHub Copiliot.

These tools played various roles, such as explaining specific errors, and helping me spot which programming tools would be most helpful, and helping me walk through the specific functions of each piece of my code, ensuring I fully understood the tools and programming style I am using. In this essay I will explain how I used AI to support my learning and programming practices throughout this course.

Personal Experience:

Experience WODS:

For the Experience WOD’s in this course, I prioritized learning the material and making sure I knew how to do everything well. I would first attempt the Experience WOD without assistance, which often led to errors I did not fully understand, or unexpected results. I then would use AI tools to help me understand what the errors in my code meant, and how to successfully debug them. For unexpected results, I would ask ChatGPT to walk me through each section of my code. This resulted in my better understanding of common errors, as well as a deeper understanding of how each section of my code was working together, and this allowed me to deepen my learning

In class Practice WOD’s:

As this was a distance learning class I did not experience any in class practice WOD’s and thus cannot comment on it.

In class WOD’s

For WOD’s that were timed, I found AI useful in helping me quickly debug my code, as I had a time limit and thus didn’t have as much time to play around with my code and learn it on my own. CoPilot recommends easy fixes to errors presented in code and I found myself utilizing this throughout the in class WOD’s

Essays:

I did not find that AI would be useful in my essays for this course, as they depend almost entirely on my own knowledge and experience that AI could have no knowledge of. I used AI for the essay about Smart Questions in order for it to provide example questions and scenarios that would be negative, and I use spellchecking and grammar AI to ensure that my essays make sense. Beyond that I do not see AI being of any use for essay writing.

Final project

For the final project, my group used AI to help us plan out our milestones and what work we would need to complete in order to meet the final requirements. I used AI in order to debug code and explain certain concepts I needed for my part of the application but hadn’t learned in depth yet. For this I sent Chat GPT a copy of my error messages provided by github and asked it to explain the errors. If I still didn’t understand from there I would send chat GPT the snippet of code that was causing the errors so it could better explain.

Learning a concept/tutorial

I found AI, especially ChatGPT, exceptionally helpful for walking me through simple steps the first time attempting something. It was able to walk through skills such as navigating GitHub and PostGres, as well as react. While the course provided details on how to do these things, AI was able to adapt to what was happening on my computer, and answer questions. This saved me a lot of time and helped me build up the skill to be able to navigate these things on my own.

Answering a question in Class on on Discord

I didn’t attempt to use AI for either of these things because most relied on my own experience and knowledge.

Asking or answering a smart question:

I also did not attempt to use AI for these things. I think smart questions should be dependent on my own knowledge and my answers to them should be dependent on how I would answer independently.

Coding Examples:

I did find AI useful for giving coding examples to remind myself of things like maps. For example I asked “I think I should be using a map here ” and then followed it up with “please explain what that does” when it provided code.

Explaining Code:

I found AI, especially ChatGPT, useful for walking me through my own code or code that copilot had provided and explaining why that was the best approach, as well as what elements did if I was confused. If something was underlined I would be able to click and have copilot explain it, else I would copy a snippet or file int chat GPT and ask it to “explain how this variable is moving throughout this code” or something similar.

Writing code:

I typically only used AI to write code when copilot would offer solutions to my errors, and rewrite my code for me. In general I think it is important to have the skill to be able to write the code for myself and use AI as a building tool to understand, debug and explain things I don’t understand.

Documenting Code:

I did not attempt to use AI for this purpose as I thought it was important for me to do it on my own.

Quality assurance:

This was the primary use of AI for me within this course. I used ChatGPT to proofread and explain why things were going wrong in my code, and found it offered helpful suggestions for tweaks and changes that could be made.

Impact on Learning and Understanding

While I think it may be easy to get sucked into using a tool such as AI to do your work for you rather than putting time and effort into understanding and learning it on your own, I think I did a good job of using AI as a learning tool rather than a learning substitute. The way I used AI reflected my confusion around things in programming, and the AI helped me gain a deeper understanding into how everything was working. AI helped me troubleshoot pre-existing errors and prevent future ones, while also comprehensively learning the material I was expected to. I think AI is helpful as a learning tool because it is able to shape support and answers specifically to my situation. Rather than spending hours shifting through group forums and internet posts, I am able to quickly see an answer and explanation that applies to my specific problem. Overall I think AI enhanced my understanding of software engineering concepts by allowing me to efficiently find and learn new information that pertained to the projects I was working on.

Practical Applications:

I think that AI can be useful in the real world for projects, simulations or collaborative activity but should never be considered a substitute for human trial and error and human understanding. Because AI like ChatGPT is pattern recognition software, it is not currently designed to be able to provide fully working code for large scale projects and collaborative events. Being pattern recognition based machine learning means that the generative AI is not necessarily accurate either, and it may not currently possess the resources to fix itself. It is for this reason why it is only helpful to some degree for projects, but humans still must be relied upon for understanding, thinking, and trial. That being said, for these instances AI can sometimes provide solutions that you may not think of, offer new ways of solving things, and remind you of potentially forgotten skills and techniques for programming. In my opinion the intersection between programmers and artificial intelligence is inevitable, but for right now we are able to work with artificial intelligence in programming to broaden our skill set and maximize efficiency. is course, I did not know anything about UI design or front end design. I also had never worked on programming in a collaborative context. This course taught me not only essential skills in software engineering and programming, but also a new way of viewing problems, solving problems in and out of code, and collaborating with others on projects. These skills combined with the course emphasis on athletic software engineering made me not only a better programmer, but a better learner and collaborator. The skills I learned in this course will serve me well in future endeavors of programming and set me up for success in the real world. I am walking away from this course with not only an application in which I helped program and design, but also a set of skills and practices that will make me a better programmer.

Challenges and Opportunities:

An obvious challenge that I had with working with AI during this course was that it was sometimes inaccurate. This meant that I had to try and work with the AI to have it explain its own shortcomings and correct itself. In these cases it would have been better to be working with a real person’s answer. I think a potential for further integration of AI in this course would have been to have it write code snippets and then testing them, etc. But I also think that diminishes the learning that I would get from working with AI so I don’t feel entirely confident suggesting that.

Comparative Analysis:

In my experience I found supplementing traditional teaching methods with AI to be a more helpful method of studying. Throughout this course I completed the experiences, lessons, read the articles, took notes, and watched the webcasts. Despite doing all of this I was still left with questions when it came to programming and the experiences and WOD’s. As someone who is typically too nervous to speak up in class and ask questions, AI has proved to be a useful tool for supplementing my knowledge and answering questions about assignments. Being able to use AI to ask questions and get answers in real time while I was completing assignments was infinitely helpful and helped me understand those concepts better in the future. In my opinion enhancing traditional teaching methods using AI is helping move teaching into the 21st century, making further knowledge and help accessible for students at all times of the day. I think the only downside to using AI in this context is if students completely swap the traditional teaching methods and have AI complete work for them. When students do this they miss out on all engagement, knowledge retention and skill development. So all in all I think AI only is doing harm for students who rely too heavily on AI to supplement putting in actual effort in learning the traditional way as well.

Future Considerations:

I think that as AI continues to grow it will undoubtedly begin to play more of a role in not only my software engineering and other education, but also potential job prospects and opportunities. That is why I think it is important to learn how to interact with AI in a way that is useful for both my work and for my education now, so that in the future I know how to best interact with it. I think as AI becomes more popular it will reduce errors, as it gets fed more information and people begin to rely on it to replace actual work, but in the near future we should pay attention to testing and fact checking what it has to say, as well as learning from our interactions with it.

In Conclusion:

All in all, AI is a popular tool that is only expanding its usages every day. In this software engineering course AI proved useful as a learning tool in addition to a classic teaching curriculum. The real problem is when students begin to rely too much on AI, forgoing learning and supplementing their own work with AI’s copies. As we as a world move more towards AI usage integrating into the school and work force, it is essential to master correct and useful ways of interacting with AI. Though AI has its challenges, it also provides a 24/7 service that is able to answer questions and help students problem solve, explain material, and expand their knowledge. This is an invaluable resource that has the potential to lead to a smarter group of students. Overall, AI was a very valuable resource for me within this class, and I believe it will be one in the future as well. AI is useful as long as we do not rely on it to replace actual learning.