Evolving Role of AI

21 Nov 2023

Introduction

The integration of AI into education, especially in Software Engineering, has transformed the way we learn. It can provide an answer from its knowledge base by simply typing anything to the search bar. However, it’s essential to remember that AI doesn’t inherently possess the knowledge; it merely processes and presents it with the use of an algorithm. Consequently, the accuracy of AI’s responses can vary. Therefore, it’s crucial to perceive AI as an assistant rather than a definitive source of information.

AI In The classroom

I was surprised when my professor for my ICS 314 class advocated the use AI for the class. It was my first time hearing that since all my other classes were saying that AI is strictly not allowed. The AI services I used in this class was ChatGPT and Phind. I mainly used Phind though because it utilized the GPT-4 model and used the internet for sources. So not only it gave better responses than the free ChatGPT I had, it gave sources that I can look through if I want to make sure what Phind is saying it correct or want to learn more about what Phind said.

AI for WODS

I did not use AI to experience WODs or in class practice WODs because I wanted to try to learn the material by myself as much as possible. Additionally the screencasts provided me enough information for me to solve them. However, for in-class WODS, when I got stuck I used AI as it was better than google searching and looking back at the screencasts.

Essays

As a writer, I often find myself pouring out ideas onto the page without much concern for structure or grammar. This approach often results in sentences that lack clarity. Therefore I put my sloppy essay into AI and ask it how I can improve on it, and I try to use those improvmenets for the next writing I do. Furthermore, if I cannot think of anything to write, I ask an AI on topics of what I can write, and it can help me formulate ideas to start. Rather than using AI to write my papers, I employ it to stimulate ideas and enhance my writing. The important thing about writing is the thought process. AI eliminates that when you copy and paste essays it writes for you.

Final Project

I turned to AI during my final project on concepts I don’t understand. In this project there are a lot of new components or new things we create that aren’t replicated in screencasts. Sometimes I lack the energy to google search so I resort to using Phind. I rarely use chatgpt for coding because I have the free version which has GPT 3.5. As I mentioned earlier, Phind uses the GPT 4 model which is much better.

Asking/Answer Questions

If I was actively working with someone I know that is online at the moment I would ask them, but if I don’t want to wait for a response I would just ask AI. For answering questions I never really answered the ones in discord, but I believe I would have probably used AI if I didn’t know the answer to their question.

Coding Example

One thing I used AI in this class for was asking for use case examples for the underscore functions. For instance, I asked “give me examples of how the map function can be used”. The code it provided me allowed me get an understanding of the functions, and I made sure the code was correct as well, which also helped improve my code analysis.

Explaining Code

There were many times I was confused about a piece of code. If I couldn’t find it through a google search or the screencast, or I didn’t feel like doing that, I would ask AI for an explanation.

Writing Code

I only used AI for writing code after I had attempted several solutions myself. When AI generated the code, I made sure to understand it thoroughly before implementing it.

Documenting Code

I utilized AI to help phrase terms in documentation. However, I write most of it myself to gain a better understanding of the code.

Quality assurance

Similar to writing code, I would only use AI when I already tried several solutions to fix the problem myself. A common problem I would have is the whole page not rendering because a component breaks. First I would try to look through the console and code and after about 30+ minutes if I still can’t find it I will provide my code in the areas I think the error occurred and ask it to debug it.

Impact on Learning and Understanding

Incorporating AI into my software engineering education accelerated skill development, especially in coding. AI tools acted as collaborative partners, giving me useful information if I couldn’t understand it. However, I feel like if the problem was too complex they gave wrong directions, so it’s best to always believe AI may be wrong.

Practical Applications

For practical usages, one time I have used AI to help draft me a 1000 word application. I have written most of it myself but sometimes I couldn’t think of any more things to write or didn’t know how to elongate ideas. AI helped me with these roadblocks quite easily and I ended up writing great applications that help me get accepted

Challenges and Opportunities

One of the challenges I faced using AI was having a hard time understanding the code it sent. The code sometimes wouldn’t line up with other parts of the codebase especially when trying to make it code something for a big project.

Future Considerations

I will continue to use AI as an assistant, asking it more about suggestions and explaining stuff rather than relying on it. Additionally I will always keep in mind it will probably be wrong especially for stuff with a lot of context needed.

Conclusion

Concluding on how AI is used in learning software engineering, it’s been a big change. AI makes learning more interesting and helps us get better at it, but can hinder us if we rely too much on it. As AI continues to evolve, it will undoubtedly reshape our learning methods.