Jarvis, Deploy the Final Project

08 May 2026

AI has become a major part of education, especially in software engineering, because it can help students understand confusing concepts, debug code, generate examples, and think through implementation steps. In ICS 314, AI was especially relevant because the course required a mix of coding, documentation, testing, project planning, and reflection. Software engineering is not only about writing code, but also about understanding requirements, communicating clearly, testing carefully, and improving code quality. AI was useful in several of these areas because it gave me another way to ask questions and work through problems when I was stuck.

The main AI tool I used was ChatGPT. I mostly used it for explanations, debugging help, code examples, writing support, and understanding software engineering concepts. I did not use AI as a replacement for doing the work, but more as a support tool when I needed help getting unstuck or organizing my thoughts.

Personal Experience


Experience WODs

For Experience WODs, I used AI mostly when I needed help understanding the task or getting a clearer idea of what the instructions were asking me to do. A representative prompt I used was:
Explain this WOD requirement in simpler steps and tell me what I should do first.

Breaking the problem down into smaller steps was helpful. However, it was not always enough to complete the WOD by itself because the actual code still had to match the specific WOD requirements. The benefit was that it helped me start faster, but the cost was that I still had to verify everything manually.

In-Class Practice WODs

For in-class practice WODs, I used AI less directly because practice WODs were meant to help me build speed and familiarity. When I did use AI, it was usually after the practice to understand what I did wrong. A prompt I often would use would be:
I got stuck on xyz part of the WOD. Explain what concept I was missing without just giving me the final answer.

This was useful because it helped me learn from mistakes instead of only copying a solution. The downside was that using AI during practice could slow me down if I spent too much time reading explanations instead of trying the problem myself.

In-Class WODs

For actual in-class WODs, I tried not to depend on AI because those were timed and meant to test what I could do on my own. If I used AI at all, it was usually afterward to review the concept. A prompt I might use after the WOD was:
Explain why this xyz did not show up correctly and what I should have.

And when I did use AI during the WODs, it often slowed me down because I spent too much time reading explanations instead of trying the problem myself. It was also often wrong, which ate up the remaining time I was trying to save because I had to verify the errors.

Essays

For essays, I used AI to help organize my ideas, improve grammar, and make my writing sound more natural and professional. A representative prompt I used was:
Make this paragraph sound more human and professional, but never ever change my main ideas.

This was one of the more useful ways I used AI. It helped me clean up awkward sentences and improve transitions. The cost was that AI sometimes made the writing too polished, so I had to revise it until it still sounded like me.

Final Project

For the final project, AI was useful for debugging, implementation planning, and understanding errors. I used it when I got stuck on things like file uploads, search features, filters, deployment, and page functionality. A representative prompt was:

I am working on a Next.js project and this feature is not working. Explain what could be wrong and what I should check first.

AI helped me save time, especially because I was balancing this project with other classes. However, I still had to test the suggestions, adjust the code to fit the project, and make sure the final result actually worked. AI helped with direction, but it did not remove the need to understand the code.

Learning a Concept or Tutorial

I used AI often when learning a concept or needing a tutorial-style explanation. For example, if I was confused about React state, Tailwind styling, ESLint errors, or how a database-related feature worked, I asked AI to explain it step by step. A prompt I used was:
Explain this concept like I am new to it, then give me a small example and explain each line.

This was very helpful because AI could adjust the explanation to my level. The main benefit was that I could ask follow-up questions without feeling embarrassed. The downside was that sometimes the explanation was too general, so I had to ask more specific questions.

Answering a Question in Class or Discord

I did not rely heavily on AI to answer questions in class or Discord because I wanted to avoid giving an answer I did not fully understand. If I used AI, it was mainly to check whether my understanding was correct before responding.I did not want to just copy an AI response into Discord because that could be misleading or break a project if the response was wrong.

Asking or Answering a Smart Question

AI helped me write better questions when I was stuck. Sometimes I knew something was wrong, but I did not know how to explain the problem clearly. A prompt I used was:
Turn this debugging problem into a clear smart question. Include what I tried, what I expected, and what actually happened.

This was useful because it made my questions more organized. It helped me include the important details instead of just saying, “It does not work.” The benefit was better communication, but I still had to provide the actual context and code.

Coding Example

I used AI to generate small coding examples when I needed to understand syntax or a library feature. For example, I might ask:
Give me a simple example of using map in JavaScript to display a list of items in React.

This was useful because examples helped me understand how a concept worked in practice. However, I had to be careful because AI examples are often simplified and do not always match the exact structure of the ICS 314 project. I used them as references, not final answers.

Explaining Code

AI was very useful for explaining code that I did not fully understand. A prompt I used was:
Explain this code line by line and tell me what each part is doing.

This helped me understand files that had unfamiliar syntax or logic. It was especially helpful with React components, TypeScript, and Tailwind class names. The cost was that sometimes AI assumed too much or gave a broad explanation, so I had to ask follow-up questions to get a clearer answer.

Writing Code

I used AI to help write or revise small pieces of code, especially when I knew what I wanted but was unsure about the syntax or structure. A prompt I used was:
Write a basic React component for this feature, but keep it simple and explain what I need to change for my project.

AI was helpful for getting a starting point, but I rarely accepted code exactly as-is. I had to edit it, test it, and make sure it fit the project. The benefit was speed, but the risk was that AI could generate code that looked correct but did not actually work in my specific project.

Documenting Code

For documentation, I used AI to help make explanations clearer. A prompt I used was:
Help me write a short comment or documentation section explaining what this function does.

This was helpful because documentation can be hard to write clearly, especially when I understand the code but do not know how to explain it. AI helped me make the wording cleaner. However, I still had to check that the documentation matched the actual behavior of the code.

Quality Assurance

AI was useful for quality assurance, especially when checking errors, ESLint warnings, or code that was not behaving correctly. A prompt I used was:
What is wrong with this code, and how can I fix the ESLint errors without changing the intended behavior?

This was one of the most useful applications of AI because it helped me identify possible mistakes faster. However, I learned that AI is not always right. Sometimes it suggests fixes that create new problems or do not match the project requirements, so I still had to test everything carefully.

Learning and Understanding

AI had a positive impact on my learning because it gave me another way to understand software engineering concepts. Instead of only reading documentation or waiting until I could ask someone for help, I could ask AI to explain a topic in different ways. This helped with comprehension, especially when I needed a step-by-step explanation or a simpler version of a technical idea.

At the same time, AI also challenged my learning because it was easy to become too dependent on it. If I accepted an answer too quickly, I might get the code working without fully understanding why it worked. Because of that, I had to be intentional about asking AI to explain the reasoning behind the solution. The most useful AI responses were not the ones that simply gave me code, but the ones that helped me understand the mistake and learn how to fix it myself.

Applications

Outside of individual assignments, AI was useful in practical software engineering work, especially during the final project. It helped with debugging, planning steps, creating documentation, and thinking through features. In a real project, there are many moments where a developer gets stuck on an error or needs to quickly understand a tool, and AI can help reduce the time spent searching without direction.

However, AI was not a complete solution. Real software engineering still requires testing, teamwork, communication, and judgment. For example, AI could suggest how to implement a file upload feature, but I still had to make sure it worked in the actual project, matched the rest of the codebase, and did not break other features. AI was most effective when I treated it like an assistant, not like the final authority.

AI Challenges

One challenge I encountered with AI was that it sometimes gave answers that sounded confident but were in fact incorrect for my specific situation. This was especially true when the problem depended on project structure, package versions, or course-specific requirements. Another challenge was that AI could make writing sound too generic or robotic, so I often had to revise the response to make it sound more natural.

There are also many opportunities for AI in software engineering education. AI can help students learn concepts at their own pace, generate practice examples, explain errors, and improve documentation. However, students should also be taught how to use AI responsibly. This includes checking the output, understanding the code, citing or disclosing the use of AI, and not replacing actual learning with copying and pasting.

Traditional teaching methods, such as lectures, readings, in-class practice, and instructor feedback, are still important because they provide structure and accountability. They also help make sure students learn the correct concepts in the right order. However, AI-enhanced learning gives students more immediate support. If I am stuck late at night or confused about a specific error, AI can give me an explanation right away.

In terms of engagement, AI can make learning more interactive because I can ask follow-up questions and request examples. For knowledge retention, traditional practice is still stronger because I remember concepts better when I solve problems myself. For practical skill development, the best approach is a combination of both. AI can help explain and guide, but hands-on coding, debugging, and testing are what actually build skill.

Future of AI in Education

In the future, I think AI will become a normal part of software engineering education. Students will likely use AI to debug, learn new frameworks, generate test/edge cases, and improve documentation. Courses should not ignore AI and instead, they should teach students how to use it properly and honestly.

A suggestion would be to include assignments that ask students to compare an AI-generated solution with their own solution. This would help students learn how to evaluate AI output instead of blindly trusting it. Another useful practice would be requiring students to explain what they accepted from AI, what they changed, and why. This would make AI use more transparent and help students focus on understanding.

AI was a helpful tool in ICS 314, but it worked best when I used it carefully. It helped me understand confusing concepts, debug code, write clearer explanations, and manage my time during the final project. It was especially useful when I was stuck or needed a different explanation of a software engineering topic. At the same time, AI had limitations. It could give incorrect answers, produce generic writing, or suggest code that did not fit the project breaking it. I had to review, test, and revise its output and my main takeaway is that AI can support learning, but it should not replace the process of thinking through problems. In future courses, AI should be treated as a tool that helps students learn more effectively, as long as students are still expected to understand and take responsibility for their work.