Utilizing AI in ICS-314

20 Nov 2023

For all of ICS-314 this semester the only AI tool that I really used was ChatGPT. I did pay for the subscription as I believe that ChatGPT 4 is much superior to ChatGPT 3. ChatGPT 4 for me personally, has shown much better results than ChatGPT 3.

When starting the course I did use ChatGPT for the “Experience WODS”, not essentially to write my whole program but to ask questions and where to possibly go when stuck with an issue or learn something new that I did not know previously. Considering that the Experience WODS also had a full video showing you what you had to do, ChatGPT in this regard was used for learning new concepts about javascript or meteor.

Practice WODS I didn’t use ChatGPT unless I knew that I would have a difficult time or I was having issues and needed to troubleshoot. ChatGPT is very useful when it comes to troubleshooting as it will give you a whole plethora of possibilities for you to attempt. Yes, of course there are things you already knew you could do but also things you would never have thought to try.

For actual in-class WODS I did use ChatGPT whenever I ran into issues considering that you can’t talk to anyone in class, but ChatGPT acts like someone that you can. For the first couple of WODS using ChatGPT was pretty easy but as the WODS became more complex as time went on and it became even more challenging to have ChatGPT easily solve your problems. I don’t believe I used AI to write out my essays, only for helping me find interesting topics or ideas whenever I needed them. Although for the final project I really needed help from AI tools. Now something I believe when using ChatGPT is that you shouldn’t use it as a base for everything you create in your project. I say this because ChatGPT will do exactly what you ask it too, and sometimes that question you asked might have not been exactly what you were looking for. Think of when asking AI tools questions it’s kind of like a genie granting a wish. You’ll get it exactly what you asked for but maybe it’s not exactly what you wanted. For example, when creating a radio filter for my team’s final project, the code that ChatGPT was generating worked but it wasn’t exactly how I’d like it to be programmed.

Utilizing ChatGPT for learning concepts is one of the main reasons I pay for a ChatGPT+ subscription. Most math concepts I try to learn about I will usually try to ask if ChatGPT can explain it in terms of a video game like minecraft and usually doesn’t disappoint. I don’t think I’ve ever used ChatGPT to help me answer a question in class or on discord, I mean maybe for my other classes but not ICS-314. Now for a smart question, I would say the one time that I did use ChatGPT was for a meteor mongo error that wouldn’t let you run mongo when your meteor program was running. I still see many students struggle with this issue and I still haven’t found a proper solution for it. When it comes to coding examples, I will usually copy a line of code that I’m confused on or just copy all of the code I’m looking at and ask ChatGPT to explain the entirety of each line. This goes both for coding examples and explaining code. As I have explained already I have used ChatGPT for writing code, but for writing documentation I did not know that in your JSX files that you had to put curly braces around your comments when you’re in the body of your code. That was something that I did not know until I saw ChatGPT writing lines like so in its code. The best way I tried to troubleshoot is I write out the issue I’m having then give it the code I’m working on. Doing that usually brings the best results when trying to solve a bug or technical issue. Another way I used AI in this class was actually generating media like icons. For my team’s final project I gave it the name of our web application and then asked it to make an app icon. It turned out really nice and is currently being used.

I believe that using AI has greatly influenced my learning experience. There are a lot of pros and many cons to utilizing AI as a learning tool. For example, if you have a question about something you are unknowledgeable of then using tools like ChatGPT can be a great start if you are not able to immediately contact your instructor. Having quick and thorough responses can help a lot in the learning process as you can focus on more difficult questions that you might have for your professors since AI can’t help you all the time. Now a con would be that you can sometimes rely too much on AI, and using it as a crutch to answer homework questions or do your homework without you getting anything from it can be quite damaging to your education. Although I do believe that using AI has helped me with my understanding of software engineering.

AI has been really useful when it comes to practical applications. For example, my team ‘Team JaCKfruiT’ utilized AI to generate our logo and name for our web application. When our team faced difficulties when creating certain parts of our application, we could rely on ChatGPT to point us in the right direction.

There are many challenges and limitations when it comes to using AI in this course. AI can sometimes not always solve your problems since asking something from an AI is like asking for a genie for a wish. There are many opportunities for using AI in software engineering education, especially for pointing students in the right direction when it comes to problem solving.

Between AI and traditional learning, the major difference would be the connection you have with your instructor. You can’t really have a relationship with whatever AI tool you use “yet”. Now it depends if you have a really good instructor or a really bad instructor and the same issue can arise with AI teachers. Engagement is important but also can be artificially created in clever ways with AI. Now are traditional teachers going to be replaced with AI, I’m not completely sure. Definitely not now, in the technology sector it’s definitely not ready but with time it will get better.

In summary, AI can be a double edged sword when it comes to learning programming and programming in general. It can be super useful when you need it but you should never feel like you need it. If you become too reliant on AI tools you will probably hurt yourself and the learning process. AI isn’t the solution to every problem, but it can definitely be great in pointing you to the right part of the problem. Through this essay I feel as if I have gotten a better understanding of how I feel about how AI has helped me so much with the good and even the bad.