The role of AI in education has very mixed reviews in the sense that many instructors advise not to use any sort of AI when doing their coursework. However, with software engineering, in ICS 314 specifically, we were encouraged to take advantage of many forms of AI to aid our learning process. With this encouragement, I leaned more into using ChatGPT and looked into the benefits of Co-Pilot. The use of AI was very fundamental in my learning experience in software engineering due to its easy access allowing me to ask for help whenever I needed it.
My personal experience with AI ranged throughout the course with the following assignments:
The incorporation of AI has influenced my learning experience in ICS 314 by allowing me to have a more visual understanding of what I’m learning. When getting stuck on an issue and not knowing how to solve it, AI has been able to answer my prompts, give me step-by-step solutions, and provide a solid explanation. An example of this would be with all the new programs like Vercel and Prisma that were added to the course during this semester. AI was able to tell me what commands I needed to input into my terminal in order to properly install, create, or run something. This increased my comprehension, skill development, and problem-solving abilities all while challenging me to try and figure out a solution even if most of it was laid out for me through AI. I can confidently say that AI technologies have enhanced my understanding of software engineering concepts.
Outside of ICS 314, I have used AI to create a list of ideas based on a prompt I have given it. For example, on a final paper where we were allowed to pick any topic we wanted, I asked ChatGPT to “Give me a list of ideas relating to
A challenge that I encountered with the use of AI within ICS 314 is the limitations on what it could do in terms of fixing a code with a given prompt without the other components getting affected from the updated “fixed” code. For example, for one of the Aloha Beer WODs, I asked ChatGPT to “fix the icons on the navbar” and although their code was technically correct, when inputted into VSCode and ran, the formatting was all off and effected the whole thing making it look worse than it did before the issue was “solved”. Potential opportunities for further integration of AI in software engineering education could possibly be teaching proper ways to use AI in a way that would be the most effective. Considering that most of the time people just copy and paste instructions into an AI application and hope for the best, it may be of best interest to find ways to ask them questions that would give the best possible solution.
Traditional teaching methods definitely have its pros and cons compared to AI-enhanced approaches in software engineering. One pro is that instructors would know that the class is retaining knowledge based on if they’re able to solve an issue themselves, rather than wondering if they just copied and pasted a solution from an AI application. However, in the context of software engineering, engagement would and practical skill development would be easier to come by due to the fact that it allows students to feel more secure in what they’re learning and provides a fallback or aid to them if they feel like they need one. In traditional teaching methods, if a student doesn’t understand the content, they’re essentially on their own and risk failing more of the assignments than if they were given the option to ask an AI application for help.
I do believe that AI is the future and its development will be considered an essential part of software engineering itself. However, when it comes to software engineering education, I think that there should be a structure in how AI is taught or should there be some kind of guideline that would prevent students from shortcutting their way through their assignments rather than trying to understand the content for themselves. I like the idea of including if we used AI within our submissions when we turn in something like a WOD or an assignment. This helps the instructors to be able to identify whether AI is helping or hurting students and their progress towards getting a better understanding of software engineering.
In conclusion, the use of AI in ICS 314 was a very fundamental aspect to both me and the rest of my classmates. Although some definitely relied more on it than others, we were able to use it effectively to get us to where we are now. I am very appreciative of the opportunity to be able to use AI and not be bashed for it but rather encouraged to do so. Apart from learning about software engineering, I felt like we were able to learn about how to use AI in an effective way and allowed us to open our eyes to things we may have never been able to understand without it. Optimizing the integration of AI in future courses should depend on what the development of AI has come to. If AI progresses further than it has now, the guidelines for using them should change along with it. Everyone should also be taught to be aware of the dangers that come with relying solely on AI and its pros and cons, allowing people to decide on their own if and how they want to use it.