Reflecting on My Use of AI in ICS 314

16 Dec 2025

Reflecting on My Use of AI in ICS 314

I. Introduction

Artificial Intelligence has rapidly become a common tool in education, especially in technical fields like software engineering. In ICS 314, AI tools were not only permitted but encouraged as part of the learning process. Throughout the course, I primarily used ChatGPT as an AI assistant, occasionally alongside AI-powered IDE features such as autocomplete and linting suggestions. These tools influenced how I approached problem-solving, learned new concepts, and reflected on my own understanding of software engineering principles.

Rather than replacing learning, AI served as a supplemental resource that helped me explore ideas, debug issues, and reflect more deeply on course material. This essay reflects on how I used AI in ICS 314, where it was helpful, where it was limited, and how it shaped my learning experience overall.


II. Personal Experience with AI in ICS 314

Below, I address each course element listed in the assignment and describe how AI was (or was not) used.

1. Experience WODs (e.g., E18)

For Experience WODs, I used AI primarily to help me get started when I felt stuck. For example, during a functional programming WOD, I asked ChatGPT:

“Write a function using underscore.js to implement the following instructions…”

AI helped me understand the structure of a solution, but the output was rarely correct on the first attempt. I still needed to adapt the code to meet the exact WOD requirements. AI was useful for orientation, but not as a final solution.

2. In-class Practice WODs

During in-class practice WODs, I used AI sparingly. Because these were meant to reinforce immediate learning, I often tried to solve them independently first. When I did use AI, it was usually to confirm whether my approach made sense rather than to generate full solutions.

3. In-class WODs

For timed in-class WODs, I generally avoided using AI. I felt that relying too heavily on AI during these exercises could weaken my ability to reason quickly under pressure. When I did consult AI, it was for syntax clarification rather than logic.

4. Essays

AI was very helpful for essays. I used ChatGPT to brainstorm outlines, improve clarity, and revise wording. For example, I asked:

“Help me rewrite this paragraph to be clearer but still in my voice.”

While AI helped polish my writing, I ensured that all ideas and reflections remained my own.

5. Final Project

For the final project, AI was used frequently but carefully. I asked questions about design patterns, React structure, and best practices, such as:

“What is a clean way to organize components for this feature?”

AI helped accelerate development, but I still needed to integrate, refactor, and debug everything myself.

6. Learning a Concept / Tutorial

When learning new concepts, AI functioned like an on-demand tutor. For example:

“Explain functional programming in JavaScript with simple examples.”

This was one of the most effective uses of AI, especially when documentation felt overwhelming.

7. Answering a Question in Class or on Discord

I sometimes used AI to validate my understanding before answering questions publicly. This helped me avoid spreading incorrect information and boosted my confidence when participating.

8. Asking or Answering a Smart Question

AI helped me refine vague questions into more precise ones. For example, instead of asking “Why doesn’t this work?”, I learned to ask targeted questions after discussing the issue with AI first.

9. Coding Examples

For coding examples, such as using _.pluck, I asked:

“Give an example of using underscore.js pluck with an array of objects.”

These examples were helpful starting points but still required adaptation.

10. Explaining Code

AI was useful for explaining unfamiliar code snippets. Asking “Explain what this code does line by line” helped reinforce my understanding.

11. Writing Code

AI-assisted code generation saved time, but it was never a complete solution. Most generated code required debugging or restructuring to fit the project.

12. Documenting Code

I used AI to help write documentation comments and README explanations. This improved clarity and consistency.

13. Quality Assurance

One of the most useful applications was debugging. Prompts like:

“What’s wrong with this code?” or “Fix these ESLint errors”
helped identify issues faster, though I still needed to understand and apply the fixes myself.

14. Other Uses in ICS 314

AI was also helpful for effort estimation reflections, project planning, and generating test cases. These uses supported project management rather than direct coding.


III. Impact on Learning and Understanding

AI significantly enhanced my learning by reducing friction when encountering new concepts. Instead of getting stuck for long periods, I could quickly clarify misunderstandings and move forward. However, I also learned that over-reliance on AI could reduce deep thinking if I was not careful. The key was using AI as a guide, not a crutch.


IV. Practical Applications Outside ICS 314

Outside the course, I have used AI in personal and academic projects to brainstorm designs, debug code, and write documentation. These experiences reinforced the idea that AI is becoming a standard tool in real-world software engineering workflows.


V. Challenges and Opportunities

One challenge was knowing when not to use AI. Sometimes AI produced confident but incorrect answers, requiring careful verification. A major opportunity lies in teaching students how to critically evaluate AI output rather than accept it blindly.


VI. Comparative Analysis

Compared to traditional learning methods, AI-enhanced learning is more interactive and immediate. While lectures and readings provide foundational knowledge, AI allows for rapid experimentation and personalized clarification. However, traditional methods remain essential for building discipline and conceptual depth.


VII. Future Considerations

In the future, AI will likely become even more integrated into software engineering education. Courses should emphasize ethical use, verification skills, and prompt engineering so students can use AI responsibly and effectively.


VIII. Conclusion

Overall, AI played a meaningful and positive role in my experience with ICS 314. It enhanced my productivity, supported my learning, and encouraged deeper reflection when used responsibly. Rather than replacing learning, AI amplified it. With proper guidance and critical thinking, AI can be a powerful ally in software engineering education.