The Power of AI

12 May 2025

Introduction

Artificial intelligence, also known as AI, has been used in education to help students with solving problems and giving feedback. In the field of Software engineering, AI has assisted software developers with generating code, debugging, documenting, and even software designing, making it a helpful tool for software developers. Throughout ICS314, I have been taking advantage of AI to improve my understanding of a complex concept, outlining what my code needs, and troubleshooting my errors.

Personal Experience with AI

Experience WODs I didn’t use AI because there was usually a video at the end that provided a clear explanation. However, there were some cases where the video was outdated, the professor was using some other platform to code, or the syntax was different, so I would have to use AI to have that explained to me. For example, during the functional programmer WODs, the professor used syntax that I didn’t understand. In these cases, I would ask ChatGPT by copying the code and explaining it to me. Even though it took a lot of time with trial and error, I still completed the WOD with the help of AI.

In-class Practice WODs I choose not to use AI since the in-class practice WODs were very similar to the experience WODs, and I wanted to reinforce my understanding.

In-class WODs I used AI when some of the WODs were confusing and the instructions were unclear to me. For example, in the Next.js WODs, I was having trouble running some of the commands, such as npm prisma db seed. Unfortunately, the use of AI didn’t always help solve the problem, which ended up in me getting a bad grade for the WOD.

Essays I didn’t use AI for my essays. However, if I did, it was probably used to check for spelling errors so that my essay would be error-free.

Final project For the Final Project, I used AI to lay out a page and give feedback or ideas to get me started. For instance, I was tasked with creating a schedule page, so I would ask ChatGPT what I would need on the schedule page and how I should start coding it. This allowed me to save time significantly, and without the use of ChatGPT, I wouldn’t know where to start.

Learning a concept/tutorial If I didn’t understand a concept, I would ask ChatGPT to explain it to me. For example, if I didn’t understand how to utilize the Bootstrap/React components, I would ask ChatGPT how to use them with examples. Asking ChatGPT provided a clearer explanation and offered examples that I could use in my code.

Answering a question in class or on Discord In class or on Discord, I never answered a question, so I didn’t use any AI. If anything, I would be the one asking the question because I have issues with something.

Asking or answering a smart question Whenever I got stuck on something, I would ask AI a smart question so that I could get it quickly resolved. For example, I would tell ChatGPT what I have done already, the issue that I am getting, and copy and paste my code. However, doing this wasn’t useful because the problem wouldn’t get solved, so I would end up having to answer a question in the smart question channel, ask the TA for help, or go to office hours to get it fixed.

Coding example Coding examples helped me understand how to write code better because it provided a reference. For instance, in the example given, “give an example of using underscore .pluck”. The coding example will help provide accurate code that can be used, which will help reduce the time spent searching documentation.

Explaining code After doing the experience WOD, if I didn’t understand something in the code, I would copy and paste the code into ChatGPT and ask it to explain the code line by line. For example, if I don’t understand this code

import "bootstrap/dist/css/bootstrap.min.css";
import { Container } from "react-bootstrap";

export default function Home() {
  return (
    <main>
      <Container>
        <h1 className="text-center">Island Snow!</h1>
      </Container>
    </main>
  );
}

I would copy and paste it into ChatGPT and ask it to explain the code line by line. Doing this will allow me to understand the code, which will help me understand similar code in the future.

Writing code If I didn’t know where to begin, I would ask ChatGPT to lay out the code for me. For example, if I wanted to create a landing page, I would ask ChatGPT to lay out a landing page for me. This was incredibly helpful and efficient because it saved me from typing 20-30 minutes of code. However, I would still have to adjust the code to get it where I want it to be.

Documenting code I didn’t focus on documenting my code because I usually understood what I wrote., Moving forward, I think I should start documenting my code because there are benefits in doing so, such as saving time debugging or relearning your code, and other people can understand it.

Quality assurance Whenever I came across an error, I would usually copy and paste the error into ChatGPT and ask what was wrong and what I could do to fix the issue. In the example given, “ What’s wrong with this code?” is what I would usually ask ChatGPT. Most of the time, AI will explain what is wrong and what I could do to fix it, but there are some cases where the error doesn’t get fixed, which becomes a hassle. For ESLint, I came across no issues because I could simply fix them since the problem was usually a trailing space or a new line error.

Other uses in ICS 314 not listed I have not used AI in other ways in ICS314 that are not listed. The main reasons are that I probably won’t learn as much if I keep using AI, and most of the time, AI isn’t that accurate.

Impact on Learning and Understanding

The incorporation of AI into my learning experience has significantly influenced my comprehension, skill development, and problem-solving abilities both positively and negatively. Incorporating AI has made my learning experience much easier due to how quickly it provides solutions, examples, and explanations. However, frequently using AI may result in me learning less when compared to studying or doing assignments without it. Furthermore, AI has helped with my comprehension through the explanations and examples provided to me. Although AI has helped me so much, I feel that my skills aren’t developing as well as doing an assignment without AI, which is why I have to keep practicing to do well. The same thing goes for problem solving, my problem-solving skills aren’t getting better if I just constantly ask for the solution. Instead of asking for the solution, I tend to ask AI smart questions to guide my learning and maintain a problem-solving mindset.

Practical Applications

Outside of ICS 314, the use of AI has been used in many real-world projects, simulations, or collaborative activities. For example, I’ve seen AI being used in healthcare. In healthcare, AI has been used to assist in diagnosis, drug discovery, and personalized medicine. The advantage of using AI in healthcare is that it speeds up diagnosis by analyzing medical images much faster than humans, reduces costs, and enables precise medication. However, there are some downsides to using AI in healthcare, such as data being leaked, and humans need to keep watch to ensure patient safety. AI in healthcare improves efficiency and accuracy, but human oversight and strong data protection might be necessary to ensure safety and fairness.

Challenges and Opportunities

Within the course, the challenges or limitations I encountered are that AI is not always gonna give you the right answer, or the solution AI provides is correct but doesn’t work because it is not what you’re looking for. For example, if I were to fix an error in my code, I would copy and paste it into ChatGPT, and the code provided doesn’t end up working, so I would end up asking questions until it fixes which is time-consuming. Despite the challenges, there are some potential opportunities for further integration of AI in software engineering education. I believe that AI can be used as a learning tool/assistant. For example, AI could generate tutorials or exercises that help students with what they struggle with. AI could also be used to give quick feedback and explain things. These are just some examples, there are definitely more that AI can do in software engineering education. Comparative Analysis: Even though AI has helped me and many others, I believe that traditional teaching methods are better than AI. For me, I usually learn better using traditional methods because engaging with someone other than AI makes learning much more effective. Face-to-face engagement with instructors and peers creates emotional engagement, which is something that AI lacks. For knowledge retention, traditional teaching methods are much more effective because you get to practice what you learn by doing the assignments given to you, which then helps retain the information. Professors would also tend to give out quizzes and exams to test the students’ understanding, which causes the students to study for them. However, I can see where AI could be good for knowledge retention. For example, I’ve seen videos where you can upload the topic you are learning, and AI would generate a practice exam for you to study. Ultimately, the most effective approach depends on the student’s needs and preferences. In the future, I can see an education where students will use both traditional teaching methods and AI to maximize their learning.

Future Considerations

As AI continues to evolve, its role in software engineering education will continue to expand, but not replace traditional teaching. Instead, AI will assist students in giving feedback, explanations of complex codes, and help students in areas where they lack. One thing that AI can work on is the feedback it gives because it is not always correct, so maybe AI can provide multiple options for students to choose from. A challenge that comes with using AI is that students may end up relying on AI to solve basic problems too much, which causes students to not learn anything. To possibly fix this problem, AI can offer hints rather than the answer.

Conclusion

Throughout ICS 314, AI has been a helpful, resourceful tool that has significantly enhanced my learning experience. It gave instant feedback on my code, generated starter templates for me to use, and offered alternate solutions when I got stuck. However, I learned that relying on AI constantly is not helpful because AI is not always accurate. Moving forward, I will continue to use AI wisely. I’ll continue to ask AI for feedback, maintain my problem-solving skills, and apply critical thinking skills to ensure that I’m using AI effectively and intelligently in my software engineering journey