My Copilot
14 Dec 2025
I. Introduction
Throughout ICS 314, I had the opportunity to utilize AI in every aspect. From the class WODs to the final projects, AI is a tool I need to be more successful in the future. For the WODs, I mainly used ChatGPT since it has a faster processing time, but for the final project, I used GitHub Copilot since it can iterate through all the files and give me the most optimal suggestions.
When I use AI, it does not replace my thinking and planning process, as I treat it like my assistant while I work. I feel more productive and hit fewer obstacles with the help of AI, as I do not need to physically handle the little, nitty-gritty syntax errors and do not need to manually find solutions to the annoying ESLint errors or bugs to ensure the functionality of my components.
II. Personal Experience with AI:
- Experience WODs e.g. E18
During the WODs that I completed at home, I did not use AI. If I am stuck, I would watch the videos, since I want to practice the basic and needed skills on my own first, so I can understand what to expect when AI gives me suggestions. Since the instructions of some experienced WODs are outdated, sometimes I would need to use AI to understand more about the requirements, especially when I get stuck, and there are no demonstration videos. Sometimes I would ask AI to explain the error messages when running my command lines to help explain and resolve those problems. I believe that it is important to learn and practice the concepts on my own first, since I want to build and improve my foundational knowledge.
I remember one time, when the class started to get used to using VSCode and GitHub, and we had to install npm through the terminal, I had a hard time understanding and installing, since my computer terminal indicated that it was installed, but the VSCode terminal said that it was not. I spent a lot of time worrying and asking AI to try to solve this issue, but it did not help at all. After that, I asked my professor to help with the issue, and even then, it took a pretty long time for him to find out what the issue was, since the problem is not common.
- In-class Practice WODs
During the practice WODs, I always try my best to apply what I learned from the at-home experience without relying on AI. Usually, there was not enough time to complete the practice WOD in class. I would try my best the first time, and the second time I would use AI. By doing this, it was obvious to me that AI is a big help, since I do not need to manually type out everything and the repetitive test cases, and I just need to validate the changes/suggestions AI makes. With AI, I definitely feel more productive with my work.
- In-class WODs
Throughout the in-class WODs, I mainly used AI to get me started, as I would input and prompt the requirements' summary as well as what I want as a result into the search engine, and look at what it gives me to get going from there. I also used AI to generate test cases, such as the unexpected and expected ones, and to help me debug. I also found it super helpful to use AI to check the logic of my code and ensure that it can accommodate the possible edge cases. Another way I used AI not just in this class, but even in my daily life, is that I would input a picture, and it would give me text that I can just copy and paste instead of manually typing everything out. I really enjoy having AI help me with the nitty-gritty tasks, since I do not have to focus on the little but strict details, so I can have more time to think about the bigger picture of problems.
- Essays
I never used AI for essays contents/quality throughout the course. After each essay, I would only use Grammarly to fix my grammars or spelling errors. All the essays are reflections, and I did not have a hard time finding ideas since I got to learn a lot throughout the semester, not only technical skills, but also personal skills. I have a lot to reflect on and write about, so I do not need an AI assistant. I also found that it is not authentic to copy and paste AI-generated words and sentences, so I would avoid it at all costs. Even though my reflection may not sound as good as the AI version, I would prefer that since my own reflection is authentic. One of the important requirements for these essays is that you write for the world, not just for grading. I believe that my raw thoughts and opinions would be more interesting and realistic for readers/graders, since they are not too formal and technical but relatable.
- Final project
Throughout the final project, I used AI (GitHub Copilot) for most of the issues. There was functionality on the website that I have no idea how to implement or even get started on, so I would ask Copilot to give me a suggestion based on the files. I found that it is extremely helpful for me because with the assistance and explanation of AI, I was very productive with my work. I believe that because I got to be in charge of the planning and creative part, while Copilot would give me suggestions and explain the code. After looking over the explanation and code suggestion, I would see if the changes in what file are valid or not. Sometimes, I realize that I may be too vague or wrote too much in my prompt, so I would rewrite it in small sections with clear goals and context. Sometimes, I would see that the changes Copilot suggests are wrong, so I had to fix them manually or reprompt tell Copilot that its changes are wrong. This shows me the importance of the human eye examination and especially solid foundation skills, because without human verification, AI-generated code could make mistakes and misunderstandings about the project's requirements and users' needs.
I found it very helpful that Copilot can also help with the command line and debugging if needed. Since using Copilot during the project, I found out that the command **npm run build** is very helpful since it helps me validate my change before committing and attempting to merge in order to avoid any conflict with Vercel deployment. Until now, I still use that command to test if my changes are functional and ready to push to the remote server or not.
- Learning a concept / tutorial
Usually, I enjoy the old-fashioned way when it comes to learn a concept. I would search it up on Google or YouTube, since I learn better when I follow a tutorial and explanation from another person. In ICS 314 specifically, and especially for the final project, not everything on YouTube is helpful, so I asked Copilot to assist me in learning about new ways to implement a function. I really like how Copilot has been helping me with the project, since the explanations are personalized and applicable to the project itself. Usually, I would try to look on Google and YouTube first, but if I cannot find anything relevant to the project, I would ask Copilot.
- Answering a question in class or in Discord
During class, when the professor explains topics on software engineering, he encourages us to use AI to look up the answers. I would search up, but since I do not have a slight understanding of the concepts, AI's answers do not make sense to me. This reminds me of the importance of foundation knowledge, since if I do not have a concrete base of knowledge, AI would be meaningless. After some of my classmates told the professor AI's answers, he said that sometimes the answers would be correct, but most of the time, the answers were usually wrong or too vague. This verifies that AI is a great tool when it is used correctly by a knowledgeable person who knows exactly what they are looking for. Prompting the questions is also a very useful skill nowadays with AI, because without provided context from the user, AI's answers can sound "lost" or vague, which can become a mistake or misunderstanding.
- Asking or answering a smart-question
This relates to a previous essay about smart questions and how to ask them. When I ask a question, I would not 100% rely on AI's response. I would use it as a way to get started on my research, either using Google, YouTube, Stack Overflow, or my friends who are in the class. I learned that even before asking questions, there should be some research done on the topic before asking, since it may be a question that has an answer somewhere or someone has already posted about it.
Usually in ICS 314, my friends from class are the ones who would ask me questions, especially about the experience WODs. Since the instruction is outdated, when I work on these WODs, it would take me a while, either to understand the requirement or complete it by running some checks with the terminal. One example is the experience of deployment on Vercel, as the instruction does not explicitly tell us what kind of database to use (Neon, Supabase, etc.). This took me a while since I needed to make sure that I closely followed the instructions up to that step, and did some research about which one to choose as well. I remembered that this took a bit long and I had to ask ChatGPT a lot since the instructions are vague. A day after I finished the assignment, my friends would ask me if I had done the experience and how I completed it. I told them what I remembered and which database I chose, but I also told them to as an AI since that was what I did. I think AI is a great tool to help resolve problems like these.
- Coding example, e.g., “give an example of using Underscore .pluck”
In the middle of the course, when I first learn about JSX, the combination of HTML and Typescript, there were unfamiliar concepts, and that was when I used AI to give me examples the most. It took me quite a long time to get used to this "weird" combination of the two languages. I would do the experience WODs and copy that chunk of code into AI for it to explain the logic of the code, as well as the syntax. Since it was hard for me, even with the instruction video, I would have to use ChatGPT to ensure my knowledge about JSX. I believe that AI helps break down a big chunk of code with a little bit by bit explanation and example.
- Explaining code
Just like coding examples, I use AI to explain code frequently, especially during the final project, where many functionalities that I did not learn in class needed to be implemented. I still used Copilot to explain some of its code suggestions for me during the project, such as implementing the API, since I did not learn that from the course itself.
- Writing code
During my final project, most of the code changes were AI generated, except for when I caught mistakes, then I would manually modify, apply, and test the code. Since I did not learn how to implement some components and functionality from the class, I relied on AI-generated code a lot. Even though most of the writing code tasks are AI's, I did all of the planning and verifying, making sure that Copilot understands my request and the project's requirements, so that it can avoid overwriting or breaking my teammates' working code.
Throughout the overall course, I would say that I used AI for generating code for half of the time, mainly on the in-class WODs and the final project, while experience WODs and essays are all manually done.
- Documenting code
During the in-class WODs, when I used AI to help me come up with edge cases, the code would come up with documentation, so I would use that in my submission. During the final project, when AI suggested code, it also generated documentation, but very vague. During the first milestone, where most of the project's components are hard-coded, I would manually write comments about what functionalities to replace those placeholders so that when I come back and implement working components, I would know where I should put them.
- Quality assurance
I used AI for all my debugging and fixing purposes throughout the class. I found this very helpful since there would be errors that I am not sure of or have never seen before, so I am unfamiliar with them and do not know how to fix them. I usually get AI to explain to me first, then have it attempt to fix it. Errors such as replacing single quotes with double quotes, unused imports, and maximum length on line length are all fixed by Copilot. Since I have been using AI for all my debugging and error fixing/checking, I learned from Copilot to run **npm run build** before committing, pushing my change, and merging so that I can ensure there are no other problems with my changes that may conflict with other aspects, such as deploying on Vercel.
- Other uses in ICS 314 not listed
Another way I use AI is not just in ICS 314 alone, is to calculate my grade, since the instructor does not enable the show overall grade option in Lamaku. I would download a PDF of my grade page, upload it to ChatGPT, give it the score percentage breakdown of the course, then ask it about the grade I am having right now in the class. Sometimes, I would also use it to help me calculate what grade I should have for the finals so that my overall grade would be above a 93% for an A.
III. Impact on Learning and Understanding:
Throughout the course, I really like the usage of AI and how it has been helping me in my studies and work. I realized that I have become a lot more productive and motivated with the help of GitHub Copilot, since it is like an assistant who helps me with little, nitty-gritty tasks. Not only that, I think a part of my motivation is that using AI is a way to get me started on my creativity during the project. With Copilot’s personalized suggestions and explanations, I feel a lot more encouraged to learn more about the connection between my part of the project and my teammates, helping me learn more about other aspects of the web application.
IV. Practical Applications:
I believe that AI is an excellent tool for practical application for everyone, despite their level of knowledge. If you are new to a concept, AI will help you learn and understand with personalized answers if you provide it with enough context. If you are advanced and knowledgeable about the topic, AI will take you further than that, as it will help you complete the nitty-gritty part so you can spend more time and effort on the creative part of your work. I think AI is an extremely powerful tool if it is used the right way.
V. Challenges and Opportunities:
A challenge I can see for myself is that I am afraid that I may become too reliant on AI. During the final project, I noticed that a lot my the implementation of my website needs are not taught in the class, so I had to rely on AI to explain to me about those concepts and help me implement those functionalities. I am scared that because of time constraints or output demands, AI would move faster, and my ability to learn and adapt, which could result in me not having a knowledge foundation. I also see this in my teammates, who would blindly accept AI-suggested code and break other working components of the website. The difference between relying on AI to do everything and using AI to improve is distinguished by a thin thread.
VI. Comparative Analysis:
For me, I still prefer the traditional teaching methods because I learn better when I can relate to others as well as communicate through human interaction. I value the effort and time of the instructor, and I think that motivates me to be more engaged and remember the material longer through personal feedback as well as advice. I believe that for me, traditional teaching is irreplaceable when it comes to learning a new topic and gaining experience. AI is a great tool for reviewing and getting started on a project because it provides a summary of the important details in the topics, as well as giving suggestions on how to get the “creative juice flowing”. I frequently use AI as a study companion, and I find that I do not find AI helpful for me in learning new concepts. As I mentioned before, the first thing I would do when encountering an unfamiliar topic is search it up on YouTube, since I prefer human interaction and instructions more, as asking AI would be my last resort.
VII. Future Considerations:
I believe that in the future, AI will be used and seen everywhere, even in small businesses, and that everyone will benefit from it. I think that AI will play a big role in education, even in kindergarten. I imagine that each classroom would have an AI assistant instead of substitutes, and students can ask any questions they want about their assigned work. Even though AI can substitute, it cannot replace real teachers, just like in university. AI can be used as a tool, but it cannot replace important roles such as educators.
VIII. Conclusion:
ICS 314 taught me a lot of things, not just technical skills, but also soft, but as important skills, such as ethics, collaboration, time and project management, as well as helping me look at the future and my career path differently. I have also thought that even though AI is “taking over” the field, basic, manual skills such as planning are no longer needed. The usage of AI in this course proves my assumption wrong and redirects me to think more realistically and positively about the future.
According to Indeed, in aviation terms, “A co-pilot, also sometimes called the first officer, helps the primary pilot or captain on a flight operate the airplane and maintain navigation.” Now, I know why my favourite AI agent is named “Copilot”, because it is just a helper, because not every flight (task, projects, work) requires a co-pilot (AI tool), but every flight needs a captain (you and me). A captain is responsible for understanding the aircraft and routes, making decisions, ensuring a safe takeoff and landing, and safety of the passengers. In the same way, we as software developers must remain in control of our work and use AI as a tool to assist rather than relying on it to lead.