Is AI really that bad?

06 May 2024



I. Introduction

I went to the doctor’s today, and one of the first things she asked me was, “What major are you?” I told her that I am a Computer Science major at UH Manoa. Like many people of her generation, she was intrigued and asked me about AI. She told me about the many negatives of AI, especially when using it in school. She told me that she never really understood what AI meant, and she’s always seen it as a negative thing on social media.

It was interesting how little she knew about it despite reading all these articles about it. She told me she never understood how AI use can be considered plagiarism, yet it “isn’t anyone’s work that you’re stealing.” This reminded me of my professor’s talk about AI use in class. I wanted to share my experience and analyze how AI, more specifically ChatGPT, affected me academically.

II. Personal Experience with AI:

I have used AI in class this semester in the following areas:

1) Experience WODs e.g. E18

I had no experience using AI for the homework WODs. I relied on the videos when needed since there was almost always a video tutorial for every WOD.

2) In-class Practice WODs

When we did in-class practice WODs, I didn’t use AI. I thought it would’ve been bad or weird because it was a whole different scenario because I was not working alone. I thought surely one of us would know what to do. And most of the time, it was true. Honestly, it never occurred to me that we could still use AI for the in-class practice WODs as groups.

3) In-class WODs

For in-class WODs, I used it when I needed to. At the beginning of each section, like JDoodle, React, Bootstrap, and Meteor, I always did well for the basic concepts or the first WOD of every section. However, regarding the deeper concepts, I needed to use AI. With the amount of time we had, it was important to focus on doing it correctly in that small amount of time, especially for JDoodle with the new libraries we learned. In terms of IntelliJ codes, I was doing sufficient using my old resources rather than AI. AI would be more difficult since most of the WODs on IntelliJ included multiple files in different languages. When I used AI, it was either giving it the entire prompt to write the whole solution or saying, “fix my code,” and it usually would.

4) Essays

In terms of essays, I rarely or did not use AI at all. AI would make it harder to change my creativity, so I wrote my essays myself.

5) Final project

As of right now, I have not used AI for the final project. Making the AI do exactly what I need would be harder since multiple files and imports are used.

6) Learning a concept/tutorial

I did not use AI when learning new concepts. Since more concept practices involved a video playthrough, I used that instead.

7) Answering a question in class or in Discord

I did not use AI or Discord to answer a question in class. I simply didn’t answer the question if I did not know the answer.

8) Asking or answering a smart question

If there was a smart question I possibly knew the answer to, I gave the suggestion. This is usually the case if the same problem happened to me, but I happened to fix it and did not use an AI to answer a smart question on the Discord server.

9) Coding example e.g. “give an example of using Underscore .pluck”

Yes, because the Underscore library was still a bit confusing for me. There were examples provided on the library website, but when it came to applying larger code, it was hard. Just trying to remember the syntax was difficult for me.

10) Explaining code

I did not use AI to explain my own code.

11) Writing code

Yes, I’ve used it to write code mainly for the WODs as the time pressure got to me.

12) Documenting code

I did not use AI to document my code. I felt like there was no use in documenting my code using AI.

13) Quality assurance

I do not use AI to ensure the quality of the code. If the code works, I don’t see why I need to redo it for quality assurance. In terms of essays, I use Grammarly Premium for simple grammar errors or to rephrase my sentences that may seem wordy.

14) Other uses in ICS 314 not listed above

I used AI to help answer the debate we had on the last day of class with Alyssia. I initially disagreed with the company hiring the man, but using ChatGPT helped me in some ways. I used AI by sharing the scenario and asking for pros and cons to support the company.

III. Impact on Learning and Understanding:

I’ve never used AI for writing code until this semester when two of my classes allowed it and taught us the importance and positive aspects of using AI for code. I feel like I always lack the memorization skills to remember syntax exactly, so AI has definitely been a great use for that. Since AI won’t always have the correct solution, it also helped me learn how to read through “other people’s” code and understand it, or most importantly, learn how to revise it to satisfy the prompt. It made me feel more comfortable reading code other than mine and being able to understand it. AI helped me excel better than I thought I could in software engineering. Pushing away my problem with syntax allows me to advance my overall software engineering skills and understanding of how to develop software.

IV. Practical Applications:

I do not really see the use of having an AI create the algorithms or overall work for real-world applications other than for writing. I believe AI has been strongly effective for the longest time in the tech world from one of the most used AI, spell checking. Almost every typing program, such as Word and Google Docs, had a spell-checking feature for as long as I’ve been using a computer. Something as simple as spell checking allows non-fluent speakers to write better and catches everyone’s simple mistakes in writing words. In the coding world, many coding programs also have spelling checks and a syntax database for the languages used. This helps software engineers by saving time and showing their mistakes instead of having to manually reread all their code to find any syntax errors.

V. Challenges and Opportunities:

When I first tried using AI for this class, especially for the WODs, it was a little difficult because I didn’t know what the AI’s code really meant. Like it was great that it worked, but it felt like I wasn’t learning anything since I was essentially just copying and pasting. I also learned that the current free ChatGPT is run through an old database as it does not know many languages. I remember freaking out a little bit because I was struggling when we first learned react because of the big change it had. Using AI will definitely lower your code comprehension if you don’t try to learn from it. Although this could be used the wrong way, I believe AI providing the sources, or in this case, language libraries would be beneficial for users to learn. It may cause some people to reference the libraries more than using AI to write their code overall if they are willing to learn.

VI. Comparative Analysis:

It seems that the traditional way of teaching software engineering was always creating repetition and hands-on projects. Meanwhile, AI-enhanced approaches are designed personally, making the student learn effectively with high retention and understanding of the student’s needs. Although I like the traditional way of teaching because of the hands-on projects, I see the limitations where the person may not develop their skills as efficiently since they only revolve around one project at a time. I also can relate a lot to the low retention rate for the traditional way, as I forget soon after the project/class is over. As for engagement, I will definitely not put as much effort into learning if I do not feel connected or engaged with the project given. However, AI does prove useful in its own way, as I learned that some AI approaches aim for high engagement, high retention, and maybe even skill development. The best part of using AI for learning is the personalization. If it’s optimized for me, it would feel a lot more engaging and entertaining. Since I enjoy the subject, I will most likely remember it more than I did traditionally. As for skill development, though, I wouldn’t be too sure other than through auto-graders that immediately show if you are right or wrong and explain it.

VII. Future Considerations:

AI in software engineering education may have benefits for students. If the main goal is to maintain long-term skills, then it might be a plus, as AI will always be in our future. If personalized learning is developed enough for a larger and more varied user base, this could be a huge breakthrough in learning efficiency with long-term retention. However, this could be a problem for software engineers who teach as they are potentially losing their jobs. It would also be hard to grade if every single student had an entirely different learning style and project, making it very inefficient if there was no auto-grader. I used Zybook (the closest program I’ve used to learning with AI) for two coding classes so far, and I also feel like I haven’t learned up to my potential. Immediate feedback with the answer included does not help the student learn. Instead, especially for rushers, students may keep clicking on every answer until it is correct. So, AI-learning may be bad for tests like multiple-choice questions. However, Zybook Labs, where you have to make code to meet each condition, is definitely a good learning experience as it helps you keep track of what conditions you did right and wrong without telling you to just put in your work.

VIII. Conclusion:

AI can be tricky to use if you want students to learn. Some may use it to “cheat” the system and pass the course. Others might use it to understand concepts. Using AI has its benefits and limitations, but personally, I believe it’s up to the student to decide how they want to experience software engineering. A good way to possibly ensure a student is learning even if they use AI is to do evaluation checks like the WODs but perhaps make practice WODs less intimidating by allowing students to either work by themselves or work with their entire team and really add the engagement level. If you make students more engaged and talk their answers out in class, this would minimize the AI’s reliability and ensure they are still thinking critically. I believe the most important thing to care about is whether the students can still think critically themselves without having to find answers through AI.