Artificial intelligence’s role in education is a highly debated, constantly changing, and somewhat controversial topic. While many teachers worry about the potential for plagiarism and cheating that AI offers students, there is no denying that AI will play a critical role in the future of education. In the field of software engineering in particular, the use of machine learning to aid in generating code and development is a field that requires further study.
In this class (ICS 314), I used ChatGPT for quite a few assignments and Bard a few times. This essay will delve into the specifics of the AI that I utilized and how effective and helpful it was.
I have used AI in class this semester in the following areas:
Experience WODs: I rarely utilized AI for Experience WODs in this class. As the point of these assignments was to teach a new concept, I thought it would be detrimental to use AI for them. Instead, I attempted these assignments on my own, using the example videos as guides.
In-class Practice WODs: For in class Practice WODs, I also rarely utilized AI. As these WODs were intended to prepare me for in-class WODs, I wanted to attempt them using my own skills. Utilizing AI would make it harder to gauge if I had the understanding to pass the WODs.
In-class WODs: For in-class WODs, I used AI mostly during the second half of the semester. The first few WODs were relatively basic Javascript functions that I was comfortable coding without any AI help. As the semester progressed however, I started using AI to help debug code and with generating markdown. I found that ChatGPT was very effective at debugging code but much less helpful when it came to generating markdown, Bootstrap, React, or other web-focused code.
Essays: I wrote my essays almost entirely without AI help. I wanted my essays to reflect my writing style and I have found that AI generated writing sounds inhuman at times. The only time I used AI for help with an essay was to get information about Meteor and to come up with analogies for attention grabbers.
Final project: I used AI to convert code from Typescript to non-type Javascript. Honestly, it was not too helpful in this regard. Other than that use, I did not utilize AI in the final project. I do know that my teammates used AI to generate sample projects.
Learning a concept / tutorial: I frequently utilized AI to help learn a concept. For example, I would ask ChatGPT, “what is Meteor” or “what is functional programming?” Overall, AI was very helpful in giving a list of responses that allow me to get a quick basis of understanding on the topic.
Answering a question in class or in Discord: For in class discussions, I frequently used AI to get information. I found ChatGPT quite helpful in getting a list of information that I could present in class.
Asking or answering a smart-question: I did not utilize ChatGPT when asking or answering smart questions. AI generally gives vague responses so I do not think it would be extremely helpful in getting an answer to a specific smart question.
Coding example: I used AI to give code for underscore functionality for WODs. I found that AI is quite accurate for queries of this manner.
Explaining code: I did not use AI to explain code in this class. As I am still relatively new to the software engineering field, I wanted to learn as much as possible without relying on AI to help.
Writing code: I occasionally used AI to generate code. I found that ChatGPT was much more accurate with Javascript, underscore, and algorithm related questions as compared to markdown, Bootstrap, or React prompts.
Documenting code: I did not use AI to document code.
Quality assurance: I used AI with debugging code. I found this very helpful as the errors given are often hard to understand. ChatGPT was usually able to give the exact line of code causing the error, the reason for the error, and how to address it.
Other uses in ICS 314 not listed above: Beyond the uses I have listed above, I did not use AI for this class. At this point in my education I am trying to utilize AI without becoming reliant on it.
Overall, I found AI quite helpful in getting a quick basic level of understanding of new software engineering related topics. AIs answers are much more responsive than a browser search making it a helpful tool for gathering data in a new field whether software engineering or not.
AI’s value reaches far beyond just software engineering. In fact, AI can be used for everyday tasks. From scheduling tasks, generating sample questions for a job interview, or helping with a quick math calculation, the functionality of AI seemingly has no bounds. That is not to say that AI can do everything. AI still has many limitations. However, AI’s ability to adapt at such a rapid and proficient rate is perhaps what is most astounding about it.
While AI is an asset that software engineers can capitalize on, it also presents a large challenge for those in the technology field. As AI becomes more advanced and useful, it has started taking roles that used to be filled by humans. Now, a freshly graduated software engineer has to compete in a job market that is not exclusively human. This should push these engineers to develop skills that AI cannot easily replace and become proficient at using AI themselves.
The increase in the utilization of artificial intelligence means that many tasks can be performed quicker. However, a sense of creativity and originality is lost in the process. One great example of this can be seen in AI’s writing. While AI does not normally make grammatical mistakes, its writing is often recognizable due to its inhuman and unreal feeling. One question that remains to be answered is if AI will be able to accurately replicate human interaction.
Whether or not we like it, AI is not going away any time soon. It is important that education regarding and using AI becomes normalized. While it might seem easy to ban the use of AI for assignments in grade school, doing so would be a disservice to students. There is no denying that AI will likely have an impact on their future career and not preparing them for the world of AI would not be beneficial.
Artificial intelligence is not a fad that will become obsolete in the near future. As AI becomes “smarter” and more used, it becomes more important for those in the tech industry and beyond to be comfortable with its capabilities. While it might be easier said than done, it is crucial that software engineers become a master of AI, and not mastered by it.