
Artificial Intelligence has become a major part of modern education, especially in software engineering. Tools like ChatGPT, GitHub Copilot, Google Bard, and other LLM-based assistants provide instant explanations, code examples, debugging help, and guidance on complex concepts.
In ICS 314, I used AI frequently while learning functional programming, debugging ESLint errors, working on WODs, experimenting with frameworks, and building our final project Run & Route Hub. AI became a personal tutor that was available 24/7 and helped me learn faster while still challenging me to understand the material myself.
Below, I reflect on every required course element. For each item I explain how I used AI, what prompt I asked, and how helpful it actually was (or why I chose not to use it).
I used ChatGPT to review concepts before starting, not to generate the answer.
Example prompt: “Explain how to use underscore’s pluck and map in a simple example.”
Usefulness: Good for warm-up, but not fully solving the WOD. The answers were sometimes too slow or not aligned with ICS 314 requirements.
Sometimes I asked AI to quickly remind me of JavaScript syntax under pressure.
Prompt: “What’s the quickest way to filter an array of objects by property?”
Usefulness: Helpful for refreshing memory but I still wrote solutions manually.
I did not use AI during timed WODs because the goal is speed and understanding.
Reason: switching screens slows me down and can break flow.
I used ChatGPT for outline brainstorming but wrote the content myself.
Prompt: “Give me examples of how coding standards help teamwork.”
Usefulness: Great for idea generation, but I rewrote everything in my own tone.
AI was extremely helpful for debugging React, Next.js routing, and Prisma issues. Examples:
Usefulness: Very high. Saved hours of debugging time, but still required me to understand and modify the code manually.
AI explained React hooks, authentication, Prisma schemas, and RDBMS concepts more clearly than documentation sometimes.
Prompt: “Explain NextAuth JWT callbacks in simple terms.”
Usefulness: Excellent as a teacher.
If I was confused about a phrase or technical concept, I asked ChatGPT privately first so I could ask a clearer question in class.
Prompt: “What does ‘idempotent function’ mean with an example?”
Usefulness: Helps with confidence before asking humans.
AI helped me form better questions.
Prompt: “Rewrite this question to be more detailed: ‘My fetch request returns undefined.’”
Usefulness: Strong — helped me move from vague to smart questions with proper context.
Prompt: “Give a simple working example of underscore’s .pluck using an array of objects.”
AI returned a correct example, and I modified it to match ICS style.
Usefulness: Very good for quick reminders.
AI helped me understand unfamiliar code, like complex arrow functions.
Prompt: “Explain this map/filter chain step-by-step.”
Usefulness: Excellent.
AI helped write small helper functions (e.g., converting time-of-day filters or Prisma mapping).
However, for project code I always reviewed and edited manually.
Usefulness: Medium–high.
AI produced useful JSDoc and comments.
Prompt: “Add documentation comments to this function.”
Usefulness: Very high and time-saving.
I used AI constantly to decode ESLint errors.
Prompt: “Explain this ESLint error: import/prefer-default-export.”
Usefulness: Extremely high — AI often solved issues faster than searching online.
AI significantly improved my learning speed. Instead of spending 30 minutes searching documentation, I could get a focused explanation in seconds. It also deepened my understanding by letting me ask follow-up questions like a real tutor.
BUT AI also forced me to think more carefully, because sometimes the first answer was wrong or slightly off. This made me better at debugging and verifying correctness myself—an important software engineering skill.
I used AI in:
AI made problem solving faster but required me to remain responsible for accuracy.
Traditional methods:
AI-enhanced methods:
Both approaches together create the best learning environment.
AI will become even more integrated into software engineering workflows.
I expect:
The challenge: maintaining strong fundamental skills while using AI ethically and responsibly.
AI has been one of the most impactful tools in my ICS 314 learning experience. It helped me debug, learn concepts faster, prepare for WODs, improve writing, and build our final project. At the same time, it challenged me to verify answers myself and stay accountable for my own understanding.
Overall, AI strengthened my confidence as a software engineering student and made me more efficient, but it never replaced the need for real problem-solving skills. With careful use, AI can make ICS 314 more accessible, more interactive, and more engaging for future students.