
It seems to be that AI will act as a new foundation in education. The practice of AI is everywhere, in every market, job, etc. This phenomenon is further highlighted in Software Engineering. A software engineer’s job is to find the most efficient way to code something. This process can be made much easier by the use of AI. Artificial intelligence is used by Software Engineers for a variety of reasons, from bug fixing, simple formatting, function implementations, etc. Essentially, the presence of AI in the current market is vast, and will only continue to grow and develop. Thus, the job of educators is to teach the new generation on how to properly utilize AI. Throughout my college career, I have used AI tools such as ChatGPT, Co-Pilot, and Figma.
For the experience WODs, I used a mixture of ChatGPT and Co-Pilot to do the hard work, such as coding and math. Then, by applying my human knowledge of the expected output, I either tweaked the functions or rewrote aspects of the code.
Reflecting back on it, AI was somewhat useful, but not enough for it to fully complete the WOD. For instance, during class we’d discuss the WOD and what was to be expected. Then, I’d give a segment of the WOD instructions to AI and ask them to generate a code skeleton, e.g.”Create code for this.” However, the generated code was either incomplete, excessive, or simply missing the target. As a result, I’d have to rewrite the entire code, or prompt AI again. I overall benefited by learning how to utilize AI properly, but negatively felt as if I was too dependent on AI and hadn’t properly learned the concept.
Regarding In-class Practice WODs and regular WODs, I kept my AI use to a minimum, using AI only for trivial things, or when I needed help understanding something. This was so that I forced myself to understand a concept and how to use it. I’d ask AI, “What does this mean?”, or “Fix the ESLint errors.” Overall, I felt I had benefited a lot from the method, I’d both understand the concept, while reducing coding time by having AI do the non-complex things.
For essays, I only used AI to fix my grammatical errors. I found that using AI to write a whole essay just sounds too robotic; it doesn’t have MY voice in it. AI would just write too linearly, and not have me think about the subject.
But when compared to my final project, I used AI heavily. From ESLint fixing, to application functions, and webpage design, I used AI for almost everything. For instance, I’d tell Co-Pilot “Fix the ESLint errors.” or “Help me implement x function.” This benefitted me greatly, by both reducing my own coding time, and helping me implement things I wouldn’t have been able to create myself. Furthermore, Figma was a huge timesaver in front-end design. It designed clean, stylish pages almost instantly, saving me countless hours, which allowed me to put more time towards features and back-end development. I’d ask Figma “Create x page.”
For learning a concept / tutorial, I used AI to help me understand. I’d learn about the concept through readings and practice, and ask AI when I had any questions or needed clarification. I’d ask things such as, “What does this mean?”
I personally have never answered or asked a smart-question in Discord, nor do I think AI would be of much help if the question wasn’t technical. This also applies to myself answering a question in-class or via Discord. I’d try to think of an answer myself.
Coding wise, I’d use AI to give me examples of usage, explaining what the code does, writing code, documenting code, etc. AI is a very, very useful tool when it comes to actually coding. It writes code almost instantly, has knowledge that far exceeds mine, and is able to explain what something is and what it does clearly. However, the problem is that AI is AI, it doesn’t really know the exact thing something is asking for. If something were to be unclear, it would either generate a whole bunch of unnecessary code, or something inadequate. I’d ask questions like, “What does this mean?”, “How do I implement this?”, or “Document the code.”
Coming into software engineering, I thought myself as not prepared enough. I didn’t know enough coding languages, data structures, functions, etc. However, this class and its use of AI taught me that software engineering is really the thought process behind the coding, not so much the technical part. With the use of AI tools, I’m able to compensate for my lack of technical knowledge, and instead apply creative-thinking and software engineering skills to find solutions. The use of AI in this class has altered my way of thinking about coding. Instead of thinking about the technical aspects of coding, I’m now thinking about how it should be implemented, which way it should be designed, etc. Essentially, AI technology has both enhanced and changed my perspective of software engineering concepts.
I have only really used AI to help me understand concepts within my other classes, not so much project-related use. However, with AI as a tool, I feel I am more able to tackle self-projects by myself. While AI by itself is not totally efficient at completing a project, I feel it definitely speeds up the process.
A big limitation for use of AI within the course was actually the pay-wall. For instance, in VSCode you’d reach a Co-Pilot prompt limit in the free model. And in Github, you’d have to pay for Pro if you wanted AI help. Otherwise, AI didn’t feel as limited. However, I’d recommend the introduction to various AI softwares within a classroom. For web design, you can teach how to prompt and utilize Figma. For debugging and overall help, you can use the in-built Co-Pilot.
Traditional teaching methods in software engineering rely on lectures, textbooks, and fixed assignments that move at the same pace for all students. While this structure provides a strong foundation, it limits student engagement, especially when concepts become abstract or difficult. Knowledge retention in these settings often depends on memorization rather than continuous practice. On the other hand, AI-enhanced approaches allow educators to support students based on their individual learning needs. AI acts as a second-hand educator, an adaptive tool that enables students to practice material, receive instant feedback, and ask questions at any time. In software engineering education, this accessibility improves engagement by allowing students to actively experiment with code rather than simply writing it.
AI will only grow bigger and smarter, which means it will keep taking up a more important role in software engineering education. Because the market is trending towards AI, the use and practice of AI in education will increase, helping students become used to working with it. Potential advancements could be a one-on-one AI for each student, tailoring to their specific needs and classes. However, a challenge could be the overreliance on AI, and the replacement of educators, and even critical-thinking needed for students.
Overall, my experience using AI in this software engineering course has shown me that AI is most effective when used as a supporting tool rather than a replacement for learning. Throughout the course, AI helped reduce time spent on repetitive or non-critical tasks such as formatting, debugging, and code documentation, which allowed me to focus more on design decisions, problem solving, and understanding how different components of a system fit together. At the same time, relying too heavily on AI, such as during experience WODs showed that overdependence can weaken understanding if not managed. This course helped shift my perspective on software engineering from simply writing “correct” code to thinking critically about structure, implementation, and efficiency. AI played a major role in that shift by acting as an on-demand assistant that clarified concepts, provided examples, and accelerated development. Moving forward, AI integration in software engineering courses should emphasize responsible and strategic use. Educators could provide clearer guidelines on when AI is appropriate, encourage students to explain or modify AI-generated code, and introduce multiple AI tools so students can learn how to choose the right one for a given task. By treating AI as a learning aid rather than a shortcut, future courses can better prepare students for an industry where AI is not optional, but understanding and critical thinking remain essential.