Artificial Intelligence (AI) has been around for a while now… well at least the idea of it. However, the first time that I actually heard of it heavily influencing education was around June of last year. I was attending an online class and we were assigned with coming up with a short brief/presentation about a topic that we wanted to research. After hearing about ChatGPT specifically, I decided that I wanted to look into it more. Although I knew that other forms of AI existed, I have only personally used ChatGPT. I have neither used Bard nor Co-Pilot.
I have used AI in class this semester in the following areas:
Experience WODs e.g. E18
I have not used AI for any of the Experience WODs. I just tried on my own and/or used the walkthrough videos provided by the instructors.
In-class Practice WODs
For the practice WODs, I took the same approach as with the real WODs. I decided that I would wait until the last few minutes, and if I still hadn’t gotten my code to work, then I would run my code through it in order to troubleshoot my code to see if I could solve the issue. I don’t recall specific issues that I used it to solve though.
In-class WODs
For the first WOD I tried to refrain from using AI. I felt as though I shouldn’t be using it because I wanted to be able to do it on my own, or at least try. However, on the second WOD, I decided that I would wait until the last few minutes, and if I still hadn’t gotten my code to work, then I would run my code through it in order to troubleshoot my code to see if I could solve the issue. While this method did not always work, it paid off on the fourth WOD. I don’t specifically remember the issue that I ran into, but on the submission I said that I used ChatGPT and finished.
Essays
I have not used AI for any of the essays. I just never thought to use it for my essays I guess because I didn’t want to lose my voice. If I were to ever use it for an essay, it would only be for spelling/grammar checks.
Final project
I have used ChatGPT for our final project. I am actually planning on using it for a current issue that I am working on right now. I want to use it to implement an image upload for a form rather than typing in an address. Also, I used it for the issue described in the learning a concept section below.
Learning a concept / tutorial
I have used ChatGPT for learning a concept. I was able to learn more about the Docker container concept. I am by no means anywhere near an expert on the topic, but I did learn something. I ran into an issue trying to redeploy our app for our final project with the “mup deploy” command. The issue was described as an issue with connecting to the local IP address. I copied the error into ChatGPT and, I’m not going to lie, it took a while for me to get to the solution. However, eventually I was instructed to use “mup status” and I found that the MongoDB container had stopped. From there I used “mup ssh”. After checking the containers with “docker ps”, I was able to restart the container with “docker stop/start mongodb”. These are all new commands that I learned.
Answering a question in class or in Discord
I have not used AI to answer a question in class or in Discord. I just googled quick questions. However, I wouldn’t be opposed to using AI.
Asking or answering a smart-question
I have not used AI to ask or answer a smart-question. I mainly just copied and pasted my code, and the error that I got. However, I probably would get better
Coding example e.g. “give an example of using Underscore .pluck”
I have not used AI to give a coding example. I just never thought to, but I potentially would.
Explaining code
I have not used AI to explain code. I just implemented the recommended fixes and if that didn’t work, I would just update with error.
Writing code
I have used ChatGPT to troubleshoot code, but not to straight up write it. I try to use it whenever I find myself stuck.
Documenting code
I have not used AI to document any code. I used and edited documentation in provided code. I don’t think I did much documentation on my own, but I think I would rather do it on my own. This way I know that I have a good understanding of what my code is doing.
Quality assurance
I believe quality assurance is what I mainly used AI for. I mainly used it as a debugging tool.
Other uses in ICS 314 not listed above
I cannot recall any other uses of AI in ICS 314 that are not listed above.
AI has had an overall positive influence on my learning experience. I believe tha it has enhanced my understanding of software engineering concepts. Even when I couldn’t directly solve my issues with it, I think I learned the most. I always felt that I either had a better understanding and/or learned something new.
I have not personally used AI in any real-world projects. However, from using it in ICS 314, I would definitely say that it would be effective in addressing real-world software engineering challenges.
One potential challenge that I didn’t want to have with using AI in this course, was becoming to reliant on it. However, I didn’t run into this issue. If anything I think that continued to use it as only using it as a debugging tool and only after I was absolutely stuck. Still, overall, I believe that the integration of AI in software engineering education is beneficial.
In regards to comparing traditional teaching methods and AI-enhance approaches in context of software engineering education, overall, I still believe that traditional is better. AI is just a good tool/resource to accompany traditional teaching. For example, knowledge retention and practical skill development are tested in the traditional methods.
I believe that AI should continue to have a role in software engineering education. It was extremely helpful for me throughout this course. However, one thing that I was afraid of was becoming too dependent on it. This is why I believe it’s important to only use it as a tool.
In conclusion, AI is a powerful tool/resource that I feel should continue to be used in the Software Engineering course. While, from personal use, I don’t necessarily recommend it when in a time crunch like a WOD, I do think it’s a great resource. Also, I do think that unless you’re extremely proficient at using it, I believe that it’s extremely important to use it as a tool and not try to have it do all the work for you. Not just to make sure that you can do it on your own.