Learning Software Engineering with AI Tool Integration

20 Nov 2023

Using AI in Software Engineering Classes

ai-tools This image was generated with ChatGPT. Prompt: “generate an image for this essay [paste essay text].”

Introduction

The recent development of AI that has led to widely accessible tools has specific relevance to learning Software Engineering. When a question arises, a quick prompt to ChatGPT can save clicking through pages upon pages in StackOverflow. When typing lengthy repetitive code, CoPilot saves a lot of mindless time that can be better spent on other tasks. Recently, I had the experience of trying and failing to read the documentation for some software I was trying to install. When I asked Bard, I got detailed steps that led me to complete the installation within minutes.

Personal Experience with AI

Impact on Learning and Understanding

I have found the use of AI to be extremely beneficial in this course. From fixing my code errors, to explaining concepts that I was struggling to understand, AI has helped me in more ways than I initially thought it would. It is a lot more convenient and easy to understand when I can frame my questions in any way I want, vs Google searches that require specific language to find the results I am looking for.

Practical Applications

On a tangential topic to how it has helped in class, I have found it helpful in practicing Software Engineering outside of class. I have been working on Leetcode problems for internship interviews, and ChatGPT has helped to break down code line-by-line, and explain concepts I am fuzzy on. I have found this to help my understanding of the ideas.

Challenges and Opportunities

I think that allowing integration of AI into the Software Engineering class has been crucial to helping me understand the required concepts. AI tools are continuing to evolve rapidly, and I think there is a lot of potential for further integration. When this class started at the beginning of the semester, ChatGPT could not browse the web or receive file uploads. Now it can do both.

Comparative Analysis

One major difference I have discovered of using AI tools from traditional learning is how practical it is to learn new concepts. Where before I would have to painstakingly read textbook chapters, I can now have a conversation with AI instead. One prompt that has made a huge difference is: “explain this concept in a simpler way.” This will lead to the concepts being broken down into smaller chunks. Whenever I do not understand a single concept I am able to ask for expansion on just that issue.

Future Considerations

In a lot of classes, using AI tools can be frowned upon and considered cheating. I think Software Engineering, in particular, is a class where this is not the case. I think AI models will continue to grow and improve, providing even more potential for use in the classroom. Rather than spending time on tedious tasks, AI allows for students to learn in a convenient and fast way. Questions that would usually require an email exchange can now be asked of AI instead.

Conclusion

Learning with the use of AI in the classroom has been a very different experience than normal classes. Doing so has improved my capabilities in using AI tools in an optimal manner, and allowed for me to expand my understanding on a variety of topics. In the past, I have found myself ignoring topics I do not have a deep understanding of, since reaching a deeper understanding would require a lot of work–and most likely, reading a textbook. It is now a lot easier to learn these topics, and I find myself curious to find out more. I believe that AI should continue to be used in classes, and perhaps expanded to more in-major classes other than Software Engineering.