Meet the Prompt Engineer

10 May 2026

I. Introduction

Throughout my Computer Science journey at the University of Hawaii at Manoa, I have become increasingly comfortable with using artificial intelligence (AI), with ICS 314 being the class where I spent the most time utilizing AI. There were four types of AI models that I utilized throughout this class to better help understand the concepts and topics related to software engineering. These AI models are: Claude, ChatGPT, Gemini, GitHub Copilot. This may seem a lot, but each model had a specific job during my journey in ICS 314, ranging from understanding why certain code snippets work to revealing coding solutions after many failed attempts. I can’t guarantee that I understand every concept in software engineering but I did learn how to use AI effectively in order to enhance my learning.

II. Personal Experience with AI

There was a lot of material to cover during the 4-5 months of the semester, trying to learn everything there is to know about software engineering. Therefore, here is a comprehensive list of how I used AI in ICS 314:

Experience WODs

For those who have not taken ICS 314 at UH Manoa or didn’t read my essay titled TypeScript is just JavaScript with Extra Steps, WOD’s are shorthand for Workouts of the Day, where students use one or more skills to solve a certain problem within a reasonable time limit. For instance, a WOD could be using your knowledge of Bootstrap 5 and React to translate a certain piece of Bootstrap code into React code. For this section specifically, I am only going to talk about the take home WODs where they are assigned and due by the date and time. For me, this was kind of a low stress situation since it is take-home and it is usually due during the weekends when my mind is clearer. I rarely used AI during these take-home WODs, but there was one specific WOD that forced me to use AI. This WOD was E48C: Bowfolios.

To summarize, experience number 48C (E48C) was to use this Bowfolios template and modify it so that it has another tab on the navbar to give you a random portfolio out of the other portfolios from the profiles page. I was not sure if it was just me, but I was very confused because of how the WOD instructions were out-of-date with old database commands and very vague instructions. It was obvious that I failed my first attempt, so before I did my second attempt, I looked at the WOD solution attached to the WOD, and sure enough, it was outdated. There were directories that did not exist on the template and outdated commands that caused errors when I try to do it. I resort to using Claude to help find alternative/updated commands in order to finish my second attempt at doing the WOD. Overall, my main issue and my resort to using Claude was how the Bowfolios page did not even load up during the prelude of the WOD. Even that took me a few hours to get the Bowfolios page loaded up.

In-class Practice WODs

The in-class practice WODs are very similar to the take-home WODs mentioned in the previous section, but they are in-person, where it is used as a mock practice run to help you prepare for the actual in-class WODs (discussed in the next section). Again, this is a low stress situation where even if you did not finish within the time frame, you still get full credit for completing it. These types of WODs were a little harder since they closely mimic the actual in-class WODs. I used AI, along with the attached WOD solutions at the end of class, to better understand what I missed and what concepts I still need to learn. Having AI as a learning tool helped me solidify my knowledge to fill in the gaps on parts that I failed to understand during the week’s topics.

In-class WODs

The in-class WODs are the WODs that count, meaning the correctness of your solutions, as well as your time, is measured to produce an overall grade for that WOD. I always had a strategy for these types of WODs where I used Gemini to summarize the long WOD instructions, then used it to produce scaffolding code. After that, I try my best to finish the WOD without using AI, where if the timer is almost up, then I will use AI again to produce code based on the WOD requirements. After I turned in the WOD assignment, I reflected on my use of AI, where I used it again to see why this specific code works and compared it to the WOD solutions at the end of class.

Essays

For essays, I don’t use AI since I want my writing to feel personal in a way where I can control how much humor, personalization, and understanding each essay has. The only time that I would use AI would mostly be for spell and grammar check, along with finding the right words and thesaurus look-up . Other than that, I never frequently use AI in essays.

Final project

For our final project, we were basically free to create anything we wanted, where you had to create some sort of website to help out the UH community. Me and three other students decided to create a digitized bulletin board where students can add events to a main All Events page where if they see an event they like, the users are able to like the event as well as adding it to their own page in the Your Events page. Everything looks good during the planning page, but implementing it was the hard part. We assigned various issues and spread the work evenly among our group, where I like to think of these issues as individual WODs, where you are timed on how to implement them. The thing is that since we have a lot of freedom, there were little to no instructions on how to implement them, so we would have to create WOD instructions on our own then time ourselves, which was kind of hard to do. It made sense that AI was used during the development of our project since I realized there were some implementations and techniques that we did not cover in class, which would cause our effort estimation time to go way up during non-coding times for research purposes, and how AI was able to integrate snippets of code into our final project.

Learning a concept / tutorial

I mostly use Claude to help me in learning such concepts since it was really good in explain things and breaking it down to various levels of understanding. For instance, there was an assignment where we were supposed to create a mock-up of a webpage of our choice, which was really fun to do since I had the ability to learn more about Bootstrap 5. For my webpage, I decided to recreate the Jade Dynasty Homepage where I was mostly struggling with formatting in terms of moving images and text to their respective places. I asked Claude about this, and it gave me a bunch of CSS code, including how to use CSS flexbox. I was familiar with CSS flexbox, but not enough to be able to move images and text around like a pro. I ask Claude to explain it to me at different levels of understanding, ranging from high school understanding to a 5th-grade understanding. Overall, Claude used a bunch of analogies that really solidified my knowledge of using more CSS flexbox in the future.

Answering a question in class or in Discord

For this section, I really never use it to answer a question in class or in Discord since I genuine want that human interaction. Of course, it will make me look smart, but a part of me really wants to struggle in class, have other students tell me that I am wrong, and see various perspectives come together for everyone to reach a level of understanding that we could have never achieved if someone always knew the right answer.

Asking or answering a smart question

This is similar to the previous section, in which I never used AI to try to ask SMART questions. I really want to learn in this class where if there are certain parts that I am confused about, I want to try and speak on my mind and convey what I want to do. If you always have someone who does things for you, you will never learn where I want to have this ability to be asking better and SMART questions so that I could sound more formal and professional during coding interviews and during onboarding processes.

Coding example

I have really never thought of using AI to produce coding examples since I felt like it could be a waste of time trying to understand a concept through different code snippets. Of course, this is all just my opinion, but perhaps this could be really useful in doing LeetCode problems, as well as other algorithmic problems like dynamic programming or finding the shortest path.

Explaining code

As mentioned in previous sections, these AI models helped me time and time again in breaking down big concepts into smaller ideas. I mentioned how Claude was really good in creating simple analogies to help make the concepts stick with you, which really helped me overall in learning the concept.

Writing code

This is where AI helped me a lot in terms of writing code. Every time I get stuck, either during a WOD or on the final project, there is always AI as a last resort to help come to the rescue and write sections of code for me. Of course, I don’t use AI to just finish an assignment, I also use it to enhance my understanding. After all, software engineering has become one of my favorite topics in computer science, where I hope one day, I could look for a career in software or in any related field. There are parts of me where I want to restrict the AI model to just give me the scaffolding of the code so that I could figure it out myself, while the other part of me want to ask AI to write code based on a detailed description on what this section of code should do. For the final project, I used it to ensure that everything is connected in order for it to work. For instance, when creating the edit form for our event cards, I always double-check with Claude or ChatGPT to ensure everything is connected. If it is not, then they will either fill in the code for me. After that, I used it again to double-check if this can be deployed from Vercel. If not then, they will fill in the code for me to ensure everything works before I check it with my group mates, then merge it to main so that Vercel can deploy it.

Documenting code

I really have not used AI in terms of documenting code, but Claude specifically did help in generating summaries of what files were changed, what where deleted, and what was edited, to where Claude provided brief reports on the reason for these changes. If you needed additional clarification, Claude was always there to explain the changes that were made. This even boosts my understanding to be able to explain the changes to my group mates as well.

Quality assurance

I rarely used AI for quality assurance since we had ESLint to help fix our code, but in an event that I can’t understand what the ESLint errors were saying, there was AI helped me a lot to explain that error for me.

Other uses in ICS 314 not listed

Other uses in ICS 314 that were not listed mostly include research. I used Gemini, and it’s helpful feature of tab monitoring to help me understand long pages of documentation. For instance, the Bootstrap 5, React, Postgres, and Prisma documentations were kind of hard to read where, with the help of Gemini, I was able to understand what certain features/commands are which I was able to implement during the WODs and even the final project.

III. Impact on Learning and Understanding

AI has most definitely influenced my learning experience throughout ICS 314. Due to the amount of materials covered in a short amount of time, AI has helped me find ways to retain that knowledge, all the while trying to juggle multiple classes alongside ICS 314. It helped me develop lifelong skills needed in a competitive industry field where AI is integrated almost everywhere in daily life. However, I notice that using AI caused me to develop less in my problem-solving abilities since time was the main factor that prevented me from learning more. Things like other assignments that are due for my other classes caused me to rely on AI to help speed up my understanding and processing in order to turn assignments in on time for the course. Using AI thus reduced my ability to problem-solve and debug code, which is a critical skill as a software engineer and a computer science major.

IV. Practical Applications

AI is a marvelous piece of technological work that can help expand our horizons more than ever before. Massive amounts of data can be put through artificial intelligence to create better predictions in terms of weather, financial purposes, maintenance, and even the behaviors of some people. What takes humans days or even years to process data can be shrunken into a matter of days or even hours to produce output that potentially could be more accurate than a human can. The possibilities are endless with AI being used in almost every form of occupation, including government institutions, military, businesses, educational institutions, and even for personal use as well.

V. Challenges and Opportunities

As mentioned before, time was the limiting factor that prevented me from unlocking my full potential in learning more about software engineering. Balancing courses all the while preparing for WODs, learning Bootstrap 5, and creating databases is no joke. There is a lot of things on my mind for which I need to allocate space on what stuff I need to retain and stuff that I need to drop. It was no easy feat, but using AI helped me get through this. Breaking things down, creating simple analogies, and even acronyms, made software engineering a little easier to manage while balancing my courses. With time as the limited factor, it helped speed the process in debugging and problem solving, which caused me to become a little rusty in those areas of skill. If there was an error within the code, I usually ask Claude for guidance since I did not have time to debug code due to how my non-ICS 314 classes had assignments to turn in or that I had a midterm the following day. Giving such an opportunity to allow AI in ICS 314 kind of caused me to prioritize the class less, since I know AI can finish these assignments in a few minutes. Thus, it would be in my best interest to focus on my assignments that are longer to take and require more thinking.

Overall, there is potential in using AI in software engineering education, where it could even be taught in an asynchronous setting to help users understand the material better when they are free to do so. If I learned a lot in software engineering using AI, then it can definitely help to future students taking any software engineering course.

VI. Comparative Analysis

Some software engineering concepts can be easy to learn, while others might be hard to do. It all comes down to your preferred way of learning, either through traditional teaching methods or through an AI-enhanced approach. Either way, both methods provide great learning opportunities where I felt like it is up to the student on how they want to learn and which method teaches them best.

Traditional teaching methods in the context of software engineering involve in-person collaboration, lectures, screencasts, and presentations, which have been the stable method of teaching for many years. This type of teaching is really good for human-to-human interaction, giving students time to foster team-building skills, which AI lacks. Even though it is a slow process, it provides benefits such as building critical and problem-solving skills needed in the industry. Not only that, but having those student-to-student or student-to-teacher connections provides lasting relationships and social skills required in the IT industry. However, in order to gain these skills, it requires human interaction factored within it. What I mean is that, if a student is shy and does not speak up, it can make them feel left out and eventually fall behind, where not having these foundational skills could lead to even more difficulty down the road, especially in high school and college, where it builds upon foundational knowledge from previous grade levels. All in all, it is a classic teaching method that is starting to fall behind compared to its new AI-driven education.

As AI becomes integrated into everyday life, it makes sense to have an AI-driven education, especially in terms of software engineering. This AI approach can make it so that everyone can learn software engineering at a beginner level, increasing everyone’s digital literacy skills in a rapid AI-driven industry. We are getting close to the point where single users can build entire websites with the help of AI. Of course, this would cause software engineering to be more of an individual job with less engagement rather than a team as it once stood. AI-driven education can even be personalized in a way where it could build courses with constant repetition to ensure concepts stick, then use what you know to create labs for practical applications of the concepts. All in all, AI-driven education, in a way, makes life pretty easy, where everyone can learn the basics of software engineering, and everyone can learn new skills in a matter of weeks.

VII. Future Considerations

AI in Software Engineering education is going to change rapidly, so it is up to the education system itself to update its curriculum accordingly to keep up with rapid technological changes. I like to think of Software Engineering as a language that is about to go extinct, where it will soon be replaced by AI website creators like Lovable or Wix. However, I have a feeling that software engineering has the potential to still be around once AI becomes a more reliable and accurate tool. AI could just be another part of the process in software engineering, where it can be used to accelerate development, where these engineers could verify the AI generated code and modify it so that it meets expectations, especially in the security field, where sensitive information needs to be stored securely. Granted, one could just vibe code and mention on their resume regarding full-stack development, but regardless, we should have ways to work around AI, using it as a tool to build new skills and foundational knowledge for the next generation.

VIII. Conclusion

Overall, the use of artificial intelligence in software engineering was pretty helpful, especially during times of confusion, as well as helping to accelerate the development process. Without it, I would probably have spent countless nights expediting homework assignments and researching a lot just to learn the basics. There is no way around not integrating AI into future courses, so the best way is to just work with it, using it as a tool rather than an enemy. For this course, we should have an AI module regarding how AI should be used in the course. Of course, people know how to use AI, where you simply enter a prompt and the AI just magically does the work for you. However, this module should include specific examples of why AI doesn’t work in specific cases. I know we did something similar in the unit testing module, where we had AI generate a piece of code, then use it to create test cases. However, we realized that it had holes in the test cases as it did not factor in edge cases nor any other special cases of that matter. This is why having this module will help factor in these cases where asking good and descriptive questions can lead to a more reliable output of AI-generated code.