A Reflection on AI in ICS 314

09 May 2025

I. Introduction

The role of Artificial Intelligence in education has been heavily debated for the past few years. Artificial Intelligence can harm education by solving problems for students, which negatively impacts learning. However, it can also help students better understand how something works or how something can be described. Artificial Intelligence has to be used correctly to benefit education and learning. Software engineering, as a whole, helps tremendously with debugging and finding solutions to simple problems. In ICS 314, I used AI tools like ChatGPT and GitHub Copilot to help me better understand how certain aspects of software engineering worked. These tools helped me quickly identify problems in my code and offered simple solutions that I could apply in the future. They also introduced me to new ways to code certain features.

II. Personal Experience with AI:

  1. Experience WODs

    While I solved most of these WODs primarily independently, I used AI to help me debug problems in my code. Using AI also helped me better understand where to start when tackling certain issues in the WODs, which later helped me with the final project.

  2. In-class Practice WODs

Most of these WODs were solved without using AI, mainly since I felt that the in-class WODs were just for practice, and that doing them without using AI would better help me develop healthy habits and tendencies when coding.

  1. In-class WODs

    I used AI to help me with most of these WODs, mainly since they were timed and accounted for a significant portion of our overall grade. I mainly used AI in this case to help me with debugging.

  2. Essays

    I did not use AI to help me with any of the essays, since I feel like using AI in essays takes away the writer’s authentic voice and tone when writing about something. I also felt like it wasn’t very helpful in general.

  3. Final project

    I used AI in the final project to help me accomplish things that I had never tried before or was uncomfortable with. For example, AI helped me better understand how to implement a search bar feature to find certain words in databases.

  4. Learning a concept/tutorial

    Tools like GitHub Copilot helped me better understand how to access and edit databases, and they also helped me check whether or not users are logged in.

  5. Answering a question in class or in Discord

    I never used AI to answer any questions in Discord, mainly because I didn’t answer any questions in Discord. I also didn’t use AI to answer questions in class.

  6. Asking or answering a smart-question

    I never used AI to ask or answer any smart questions because I never asked or answered a smart question.

  7. Coding example

    When working on my final project, I asked ChatGPT to show me how to use CSS to make certain components turn gray when hovered over. It then gave me an example of a component with the CSS I asked for.

  8. Explaining code

    I used AI to help me better understand some of the code in the walkthrough videos on the WODs.

  9. Writing code

    I used AI to rewrite certain parts of code where I made small errors.

  10. Documenting code

    I sometimes used AI to document parts of code so that I wouldn’t forget its purpose when returning to it later.

  11. Quality assurance

    I used AI most often here, since I often ran into simple errors that ChatGPT and GitHub Copilot were able to solve for me. Most of these errors involved ESLint.

  12. Other uses in ICS 314 not listed

    I also sometimes used AI in this class to help me give myself more tasks for the final project, since I had a hard time coming up with new ideas.

III. Impact on Learning and Understanding:

Overall, incorporating AI has benefited my learning experience by giving me access to a tutor 24/7. It has helped me greatly in comprehending certain aspects of coding that seemed too difficult to understand. It also helped me develop better coding habits by showing me simple solutions to common problems in my code, which also helped me with problem-solving. AI technologies have enhanced my understanding of software engineering concepts by providing me with quick explanations and examples of certain concepts.

IV. Practical Applications:

Outside of ICS 314 and software engineering, AI can help students better understand certain topics. For example, AI helped me understand certain topics in my Calculus 1 and 2 classes by giving me example problems to work on.

V. Challenges and Opportunities:

Within 314, I could not use AI to help me edit multiple files at once. Also, it was inaccurate at times when working with databases. These were not bad limitations, though, since they made me think more about how to come up with a solution. AI could be further integrated into software engineering by encouraging students to use it only for help and not for writing entire files of code.

VI. Comparative Analysis:

Compared with traditional teaching methods, AI-enhanced approaches in teaching are faster and less complicated to understand. However, traditional teaching methods can feel more rewarding, and if AI-enhanced approaches to education aren’t done correctly, students will not retain any knowledge or learn anything. Students also don’t develop practical skills if they rely entirely on AI to solve their problems, which is a problem that traditional teaching methods don’t have.

VII. Future Considerations:

I feel that AI will continue to be relevant in software engineering education since it’s a valuable resource for people who have trouble understanding it. While it can be difficult to use when editing multiple pages, it helps with code comprehension. AI usage in software engineering education could be improved by making it so that AI only helps guide users to solutions, rather than writing code for them.

VIII. Conclusion:

From my use of AI in ICS 314, I can see that AI is a valuable tool when used correctly. However, an overreliance on AI can harm students and their understanding of concepts in ICS 314, as AI can write entire files of code by itself. An emphasis should be put on using AI to help primarily with comprehension rather than writing solutions. Having guidelines for when to use AI or ask for help might assist in integrating AI in future courses, since it’s very easy for students to fall into the hole of relying on AI for everything.