From the start of college, the use of AI was strictly forbidden in every course I took. One small trace of AI use in your work and BANG your grade for that class or even your time as a college student is over. This taboo remained in all of my courses except ICS 314. In this course, we were encouraged to use AI in order to aid us with our software engineering work. In general, AI tools such as ChatGPT, Bard, and Grammarly are useful for getting quick tips, instructions, or explanations on a certain topic.
I have used AI in class this semester in the following areas:
Experience WODs (Workout-Of-The-Day) are assignments given to us that introduce new software engineering techniques. For most of these WODs, we were given a video that guided us on how to do the WOD correctly. Thanks to these videos, there was no point in using AI to help me.
In-class Practice WODs are a bit like the Experience WODs but a bit more difficult. Due to the similarities it has with the Experience WODs in regard to instructions, I could apply what I learned from the Experience WODs into the practice WODs. Again, I had no intention of using AI.
Now this is when I began to struggle. In-class WODs test students on their ability to apply what they learned from the Experience WODs and complete a difficult task in a certain amount of time. There were two instances where I felt like I really did not know what to do. Time was running out and the best chance at completing the task was to use AI. I used ChatGPT for both of the times I used AI, but for one of them, ChatGPT was not helping at all. From what I remember, I had a syntax error and ChatGPT kept on giving me a solution that resulted in the same error. With ChatGPT letting me down, I migrated to the Bard AI which solved my problem. From this experience, I learned that if you want the best possible solution to your problem, ask both ChatGPT and Bard. Compare their answers and see which one you understand better and which works best for you.
For all of the essays I have written in this class, I used AI. As of writing this reflection, I have realized that Grammarly is an AI tool. Grammarly helps keep the grammar in your essay in tip-top shape. When writing essays, I do not recommend AI to write the essay for you. I only used AI to check the grammar in my work.
When we began working on the final project, my browser search history was basically all ChatGPT and Bard. AI was my right-hand man during this whole process of building a website. Building a website is fun, but it sure is frustrating at times when one thing is not working. With the help of AI, I was able to solve some complicated problems when working on the project. These problems are too specific for Google to help out. As of right now, I have an issue in the code that is too complicated for even AI to figure out. I asked both ChatGPT and Bard for tips and reasons, but to no prevail.
Honestly, I only remember using AI to give me a quick definition of the concept of design Patterns. I had to write an essay about it, but I did not have time to watch an entire video on the concept. AI was able to give a good definition along with examples of what Design Patterns are.
During class discussions, our professor encourages us to use AI to answer given questions regarding aspects of software engineering. I was able to learn plenty due to AI’s straightforward answers. When I would give it a list of questions, AI would return a list of answers.
In the class Discord, people would submit smart-questions in a chat. I have to admit that when I see a question that was sent to the chat, I do not bother reading it. My mindset was that someone else could answer it or they would find the answer in time. I should stop this horrible mindset. I am currently working on a team project and that mindset that I had is unacceptable. I did not bother asking a question as well so no AI was used for this scenario.
When using AI, I like to give it background information on what I am working on. For example, I wanted to create a leveling system for my final project. I would tell the AI what I want to do and some code of the project that correlates to what I am doing. In this case, I would give the AI the code that shows the user’s profile. I would then ask AI how I could add a system where that calculates the user’s level and displays it on their profile. Additionally, I would ask the AI for an opinion on whether I should create the function on the same file or a separate one. I ended up doing it on a separate file
I mostly used AI to explain code while working on the final project. In some of the files in the project, I do not fully understand what is going on. Instead of pestering my group member into explaining what their code means, I use ChatGPT to give me a brief or detailed explanation of what the code or file is doing.
In my WODs and for most of the final project, AI helped with writing code. Of course, I want to write the code myself, but when I ask AI for tips, they straight up give me code that works. I make sure to understand every code I get from AI before actually using it.
There was never a point where I had to ask AI to help document code.
AI is very useful when it comes to quality. Grammarly can help with the quality of my essays while ChatGPT or Bard can help with the quality of my code. When I say the quality of my code, I mean that it helps with the formatting.
As seen above, those were the only uses of AI in this course.
AI is a double-edged sword. You can learn a lot from AI or not learn anything. It is all determined by how you use it. From my time using AI in this course, I’ve used AI negatively and used it positively. There were a few times in my final project where I was losing my mind and let AI do the work for me. This is a bad example of using AI as a learning tool. Instead, it is better to treat AI as your personal tutor. Most of the time, I would ask AI questions on how to get closer to the answer that I am working towards.
As I said previously, AI is your own personal tutor. Once I graduate college, there will still be new concepts and techniques to learn about. AI is a good tool for learning about these new things. Furthermore, as AI improves in the future, it can be applied to very specific real-world issues. It could be used to plan the construction of bridges, create your schedule, or even create an entire application.
In this course, I observed that AI is not so good when creating applications. There is an issue in my final project that AI can’t seem to figure out. When integrating AI into this course, I recommend making sure that everyone is using AI correctly. To correctly use AI is to ask the AI questions, not let AI solve the problem for you. When asking AI for help on huge projects, it is better to give them a large amount of background information on what you are doing before asking them for help.
Traditional and AI-enhanced teaching methods are both good, but it depends on the context of software engineering education. When learning about the concepts present in software engineering, I recommend using AI. AI provides straightforward answers along with examples. When learning how to acutally do some software engineering such as programming or html, I recommend traditional as a priority. Most of the time, the professor would provide an in-depth guide on how to do a certain thing. If you are unable to understand the guide or the guide is not good enough, then use AI.
As society progresses, so does AI. The use of AI as tool for software engineering education should be mandatory. As programmers, we should be accustomed to the use of AI since we are the ones who will create them and even improve on them in the future. This class helped me learn how to use AI appropiately. This class should continue using AI as a tool, but make sure that there should be a lesson on how to correctly use AI.
AI is something that everyone has to accept. As it improves, it becomes inevitable that students use it to aid their education. ICS 314 was a very important class. Not just for teaching me about software engineering, but AI as well. Without AI, my entire experience in this class would’ve been a whole different story. AI is a powerful tool, but we must remember to not abuse its power. Once AI becomes accepted by other courses, we must make sure that AI is used correctly in a way in which everyone is actually learning.