Use of A.I in Software Engineering

21 Nov 2023

A.I

Use of A.I in Software Engineering

During my fall 2023 semester, our ICS 314 class was given the choice to use A.I in a variety of different ways. During this semester, I experienced using a few A.I tools for the first time, such as Github Copilot and ChatGPT. I found these tools to be extremely useful at times, but they were not a solution for every problem I came across.

WODS

During the semester we had "WODS", which were assignments to help us apply techniques we learned throughout the semester. Experience WODs were homework assignments to get familiar with new techniques, in-class practice WODs prepared us for upcoming quizzes, and in-class WODs were the quizzes given every week to test our abilities to use what we learned. When I first heard that we were allowed to use the A.I during all of our work, I felt hesitant, as I thought that using A.I I would not be learning anything, and simply copying and pasting code. I decided that throughout the semester, I would avoid using tools like ChatGPT to solve problems in the homework assignments. When completing the in-class practice and quiz WODS, I found that GitHub Copilot was extremely helpful when I had to write repetitive code and imports. It was also very useful for correcting mistakes in my code. Since our WOD quizzes were times, using ChatGPT to find and explain errors in my code saved me a lot of time. ChatGPT provides good explanations for mistakes and explains how to correct them well. However, ChatGPT could not solve every problem that I came across. For these tools to be useful, I believe that you would need to have some basic knowledge of what you are working with, but is very useful for using new tools.

Essays

Before taking this course, I would have said that I have never used A.I to write an essay, but learning what machine learning truly is, I realize that I have relied on tools such as Grammarly and Autocorrect for as long as I can remember. I think that people in general do not realize how much we utilize A.I in our daily lives, and there is a stigma around its existence. However, just like the WODs, I feel that using A.I assist in my essay writing helps to correct mistakes and improve grammar uses, making essays more legible and professional.

Final Project

For our final project, we were given an assignment to create a website that directly benefits the UH Manoa community. This was the one project I felt that I used A.I the most with. I often ran into problems that simply could not be taught in one semester, and problems that would be too specific to use our "smart question" discord chat. For example, In our project, one problem that we came across was trying to create two different NavBars to be used in two different situations. After not finding a solution online, ChatGPT explained that this problem could be solved by using the function useLocation. Not only did we learn about a new function, but also received a helpful explanation. Not only using new functions, but ChatGPT was helpful when wanting to fix some CSS code. However, I feel that researching myself was more helpful for styling the website.

Documentation

One thing that I need to get better with when coding is documentation. When asking questions in ChatGPT, I often received documentation in the code which I incorporated into my own projects. Although infrequent, there were times when GitHub Copilot also assisted in documentation, which was extremely helpful when trying to write code under a time constraint.

What I Would Change

Although A.I became extremely helpful during the semester, there were times I feel I was overly reliant, and I ended up wasting a lot of time. I think that if I were to do anything different this semester, I would rely less on A.I and more on my classmates. In our class discord, we had acess to "Smart Question" chat which allowed students to ask each other questions and be active as a community. I think my biggest regret this semester was not engagign in this chatt, where many of my questions could have been answered, while also gaining a relationship with my classmates. I found myself trying to find answers to questions myself, rather than using valuable tools right infront of me; my teachers, TAs, and classmates.

Impact on Learning and Understanding

During my time in this class, I feel that using A.I has helped me a lot in understand library functions, especially during the final project. I think that one of the downsides is that it could potentially have a negative impact on problem solving abilites. If A.I is used constantly as a tool for problem solving, it may become a setback instead of a learning tool

Practical Applications

Of course, A.I is not an answer for every problem you occur. A.I may be able to answer simple problems within coding assignments, but the more complicate the problem gets, the more context the A.I would need. At that point, it is no longer convienent, and it is much more helpful to ask a real person to review your work.

Comparative Analysis and the Future

I think that incorporating the use in A.I in education is important in respect to technology today. Most people use some sort of A.I program to assist their education experience. I think that instead of instructures discoraging its use, teaching students how to incorportate it in their education eperience ethically is is a better solution. Students can incorporate their own ideas and solutions and enhance their experience with A.I ethically. In the future, I think its use will become even more dominate, so it is better now to teach students how to use it ethically. This will not only enhance the education experience, but prepare students for real life scenarios.

Conclusion

Personally, I believe that there are many benefits of encouraging A.I use in the classroom. As technology advances, more students and companies are incorporating these technologies into their worklife. However, there are unethical ways to use A.I, and it is important to understand the difference of using it as a tool to help and using it to rely on creating all of your work.