Inexperienced AI User Talks About AI

20 Nov 2023

Artificial Intelligence is a versatile tool that can be taken advantage of by students to obtain answers for their homework assignments or to complete their entire assignment within seconds, like an essay (although you generally shouldn’t be doing that). For Software Engineering, it could be used to get the code you need in order to achieve whatever it is you need to write. However, despite how useful AI can be towards increasing your productivity, at the time of writing this, I’ve only used it 4 times during my time here in ICS 314, where 3 of the times were completely unrelated to the class.

Personal Experience With AI

As previously mentioned, I’ve used AI for almost none of the assignments we were given in this class, including the WODs, experiences, and essays, simply because it hasn’t crossed my mind to do so and since there exists other options apart from using ChatGPT. In the event that I couldn’t figure out the issues I was having during a WOD assignment, I opted to look something up on Google out of habit, whether it be an old forum post or the documentation of a React component or underscore function. As per the assignment instructions, I will talk about the different things AI could’ve been used for in this class and why I did or did not opt to use it and what I chose to do instead.

Experience WODs e.g. E18

For the experience WODs, I did not use AI simply because we were given a demonstration video to watch after attempting it ourselves in order to ensure that we were on the correct track towards getting our solutions. I believe that each video was sufficient at explaining the material, so there was no need to search for additional sources.

In-class Practice WODs

Generally, the experience WODs were assigned and due before we were given the in-class practice WODs. In my opinion, both were equal in difficulty and essentially covered the exact same material, so as long as you did the experience WODs and understood what you were doing, the in-class practice WODs shouldn’t be hard to pull off. If there were a few things I didn’t remember how to do, like the documentation for implementing a container fluid in React Bootstrap (which is <Container fluid> rather than <div class="container-fluid"> like in regular Bootstrap), I’d do a quick Google search out of habit.

In-class WODs

Similar to the relationship between the in-class and experience WODs, the “real” WODs given to us during the second class of the week were very similar to the practice WOD that was assigned to us earlier in the week. Based on how each week went throughout this semester, I found that as long as I did well on the experience and in-class WODs and made sure to understand the solutions for both of them, then it shouldn’t be hard to apply what I learned to the “real” WOD.

Essays

I haven’t considered using AI for my essays since I usually have the time to do them myself anyway. If I ever need to search something up, it’s because I feel like I absolutely cannot achieve whatever it is I need done on my own.

Final project

The only assignment in this class that I’ve used AI for is the final project, which is for a reason you’re probably not thinking of: the title of my teams’ web application. Our project idea is a service that allows UH Manoa students to borrow listed items on the site from other students so as to not spend money on something you’ll probably only need temporarily. Since we didn’t have any ideas on what to call it, we asked ChatGPT, “Come up with a name for an item lending service where users can list items they’re willing to lend other people for a certain period of time or request items from others”, which it came up with names like “ShareItHub”, “LendCycle”, “BorrowBuddy”, and so on. Even though they were pretty decent names, we decided not to use any of them. However, this serves as an example of how AI can be advantageous over a Google search since you can ask it questions that normally would only be able to be answered by another human being.

Learning a concept / tutorial

The concepts we need to know in order to do well in this class is available to us through the videos, readings, and tutorials we were given to us via the ICS 314 course website. In the event that something was unclear or when doing an assignment later on, then a quick Google search proved to be sufficient enough.

Answering a question in class or in Discord/Asking or answering a smart-question

I haven’t used AI for any of these things during my time here in 314. As I’ve mentioned a couple times previously, if I need the answer to something, I’ll get what I need through Google or I’ll ask a friend.

Coding example e.g. “give an example of using Underscore .pluck”/Explaining/Writing/Documenting Code

For the most part, a lot of the code we’ve written and the functions we are required to know how to use are pretty straightforward, especially with documentation that’s easily accessible on Google. Along with external online sources, if something wasn’t clicking for me, I’d refer to the sources provided on the course website, such as the demonstration videos for the homework assignments.

Quality assurance

Although I haven’t tried it myself, I imagine that AI would be useful in detecting bugs in small snippets of code. Though, I believe that many of the errors/bugs I had were easily detectable with a bit of tracing.

Other uses in ICS 314 not listed

Other than asking ChatGPT for name ideas, I have yet to use AI for this class.

Impact on Learning and Understanding

Although I can’t speak from personal experience, I think that the use of AI has its good and bad points. If a student over relies on AI to complete their assignments and don’t bother to understand the solutions they’re given, then it raises concern on whether they will become competent or if they’ll develop sufficient problem solving skills that are needed for the field. On the other hand, if a student takes the time to understand the answer they’re given and apply what they’ve learned to future assignments, then the use of AI becomes no different than learning something through sources you can find on Google. Though, with the resource given directly to you through the ChatGPT chat box, it becomes much better than going through multiple different search results.

Practical Applications

As I’ve brought up many times already, I’ve used ChatGPT to name our project. Even though we didn’t use any of the suggestions it gave us, considering that they were fairly decent, I believe that AI can be used for simple tasks like this. If you have a lack of creativity for naming things, why not consider using AI to come up with something instead?

Challenges and Opportunities

One limitation I’ve noticed is that with each time you ask it the same question, it may or may not give you the same result from before. It’s not much of a drawback, but I’ve learned that being specific in your question is important to get the best results, just like when you search things up on Google.

In my opinion, it doesn’t seem like a bad idea for students to continue using AI in software engineering education considering that it can increase your overall productivity. For example, if something in your code isn’t working as intended and you can’t seem to pinpoint the exact problem, why not ask ChatGPT where the issue is and how to fix it? But more importantly, as long as its used in a way that improves your education rather than hindering it. In other words, it’s important for students to take in the information and learn from it rather than having the answers given to them without comprehending it.

Comparative Analysis

Similar to an instructor explaining a new concept to the class, AI can potentially achieve the same result if you accurately specify your needs. Generally, tools like ChatGPT will give you trustworthy results, but the more specialized the topic of the question becomes, the more unsure you should become of what it’s telling you. In fact, sometimes it might not even know the answer. Though, if none of those were issues we had to worry about, I imagine AI to be a better version of Google in terms of obtaining reliable information. Since these issues shouldn’t be ignored, those who utilize these AI tools should be aware of their drawbacks.

Future Considerations

As of now, AI can be a useful tool to give bits of information on a certain subject and proof read your code, though I’m not exactly sure of the extent of its power when it comes to writing code. In general, I believe that the use of AI should be completely up to the student. Even without AI, the same lack of effort can be seen in students who get all their answers from another student who’ve already done the assignment. But if it makes the learning process easier or increases your overall productivity, why not take advantage of it? As I’ve said numerous times in this essay, as long as you take the time to understand what you use, it shouldn’t be a problem. For this reason, the addition of AI as a tool in software engineering education isn’t an issue in my eyes.

Conclusion

Although I haven’t used AI as much, I think that it could be helpful in a couple of areas in software engineering as it is now. However, using it wisely is especially important in order to develop your skills as a software engineer. In conclusion, AI can be viewed as a useful tool by students and instructors alike and whether students use it effectively should be up to their own volition.