AI has certainly taken the world by storm. It’s an incredibly powerful tool in multiple fields, but its prevalence is especially well-known in the education and software engineering industry. As AI gets progressively more efficient and effective, the weight that it holds within the industry could potentially become overwhelming. Some see it as a quick fix for their programming syntax errors, and others as a tool for writing entire narrative essays. As such, there are some clear ethical evaluations to be made, but AI is still a tool that could lighten the burden for many individuals.
I have used AI in class this semester in the following areas:
I did not use ChatGPT or AI for any of the experience WODs. I feel as though that in each experience WOD, it’s necessary to embrace the feeling of the unknown and get the answer yourself. In the event that you still don’t know how to complete the experience WOD, most of the experience WODs provide a solution video which would make the necessity for ChatGPT or AI obsolete.
I never used ChatGPT or AI for any of the in-class practice WODs. Of course, I could not solve all of them in an instant, and in the event that I got stuck, I would look through the associated experience WOD for this in-class practice WOD. As such, prior material/experiences made the in-class practice WODs easier. We were also allowed to work with a partner step-by-step which made it easier to not rely on ChatGPT or AI.
For all in-class WODs, I did not use ChatGPT or any AI. It was mainly a personal thing, where I felt as though using AI once would incentivize me to use it again for the next WOD, gradually relying more on AI rather than my own skill. There was also the risk that AI may provide you with feedback that is not helpful, which I thought would be a waste of time. This is especially true when the pressure from the timer begins settling in, where one may not be able to formulate their question to ChatGPT effectively. However, I prepared myself thoroughly by going to every practice WOD provided by the TAs instead of relying on AI, so I did not encounter any problems with the in-class WODs.
Essays are interesting because there really isn’t that much harm that comes with using AI to correct grammar, rephrasing sentences, or perhaps finding a more appropriate word. I find it more natural to write essays myself, even if my grammar or diction is not on par with AI. At times, my bland or poor word choice may be present, but includes a bit more of my individuality.
Fortunately, I haven’t found the need to use ChatGPT or AI for the final project. Instead, I relied on documentation, YouTube, and online guides whenever I would hit a roadblock. For the majority of the project’s components that I was responsible for, I knew how I would start tackling those parts due to sufficient materials/experiences throughout the ICS 314 course. The final project is also done in a team setting, where teammates are able to help each other. I certainly have asked my teammates for some assistance at times, and they could have used AI to help me, meaning I could have indirectly used AI.
I found that the experience WODs were sufficient enough for me to understand the topics, especially with the video solutions that were included. In the case that a new framework was introduced, the documentation was readily available and was more than enough to understand the basics of that given framework. There were some experience WODs that did not provide a video solution, but those particular WODs essentially gave step-by-step instructions to complete the experience.
I didn’t answer any questions in class, as they were coincidentally answered right after the thought popped into my head. I also haven’t found the need to check the course’s Discord channel except for mandatory announcements/prompts and a rare glimpse at the smart-questions. As such, I did not use ChatGPT or AI when answering questions in class or in Discord.
As I said in the previous question, I did not really use the Discord except for the mandatory announcements/prompts. Consequently, I did not ask or answer smart-questions, but I did check the channel when I found an issue with an experience WOD. If it was a common, intrinsic issue that others were also running into, then I would be able to resolve the issue quickly. However, if others did not ask the issue I was having, I would assume I did something wrong and continue trying to solve it on my own. Regarding smart-questions and the smart-questions channel, I did not use ChatGPT or AI to ask or answer them.
I did not use ChatGPT or AI to provide myself with coding examples. I found all the resources provided to be sufficient enough to understand most, and if I still did not understand the topic for an extended period of time, then I would depend on YouTube. Prior to this course, I have tried using ChatGPT for code snippets to see what it would produce and found more often than not that the code would not work as intended. The only exception would be incredibly trivial code and prompts.
Being introduced to new code would typically be accompanied by a video explanation (i.e. experience WOD solution videos), so the thought never crossed my mind to use ChatGPT or AI to explain code. Even then, the code for this class was not too difficult to grasp with time and code written by anyone should have comments that sufficiently explains the code in a concise and understandable manner. Thus, I never encountered a reason to use ChatGPT or AI to explain code.
As I have mentioned before, I don’t use ChatGPT or AI in any production of code, as it is prone to errors. Struggling with the production of your own code allows for a better understanding and learning experience. I personally enjoy creating something myself and seeing the products of such, it makes the experience much more worthwhile and satisfying.
As stated in Section 10, code written by anyone should have comments written by the person who produced it. Sure, ChatGPT or AI could also write comments when prompted to, but it is likely that the code does not function properly or the comments do not accurately reflect the code’s functionality. Documenting code should be done by the individual who did it. This expresses and reinforces understanding for that individual and makes it easier for others to collaborate/use your code.
I did not use ChatGPT or AI for quality assurance. The closest semblance of such would be the ESLint that constantly kept an eye on my code, and would already do a great job of catching any errors. Seeing as ESLint acted as my quality assurance, I did not find the need to use AI for that reason. However, I could definitely see the usefulness of ChatGPT or AI for this, especially for syntax errors.
I have not used ChatGPT or AI at all in ICS 314. As such, there were no other uses of AI in ICS 314 outside of the prompts already covered.
As I never used ChatGPT or AI throughout the semester for ICS 314, naturally it did not have a large impact on my learning or understanding. However, I do admit that AI is an incredibly powerful tool that could enhance people’s learning experience. Especially in the software engineering field where you may encounter problems that people are not readily available to help you solve, AI could assist in that struggle.
On the flip side, ChatGPT could also hinder your own learning process by wasting time, as mentioned in prompts 3 and 11 in my personal experience with AI section. Having a strong understanding of the basics and fundamentals with software engineering, or any field for that matter, allows ChatGPT and AI to enhance comprehension and new perspectives. Not having those fundamentals can make your reliance on AI hinder your comprehension of the new topics, and oftentimes removes the challenge to engage critical thinking.
In academics (not including ICS 314), I have used ChatGPT and AI to find academic sources relevant to my topics, almost acting as a more efficient search engine. When writing an informative essay, ChatGPT can be used to find a new perspective. For example, when writing an informative essay on the psychology and benefits of incorporating regular breaks in your study sessions, it could be difficult finding sources on such a niche topic. Using ChatGPT to find sources that may indirectly relate to the topic strengthens the structure and points of the essay.
Outside of academics, I have used ChatGPT for many things such as making decisions. Of course, not very important decisions, but decisions nonetheless. Do you ever have those afternoons where you do not know if you want to get a burger or noodles? Being indecisive in those moments can make your stomach grumble for a while longer, but having ChatGPT make a decision about those unimportant things can be unexpectedly fun.
I have not used AI in this course, but there are still multiple challenges that come with AI. The most prominent challenge that I found was that AI provides incorrect information despite believing it’s undeniably true. Not only is this frustrating, especially when you can easily tell that it is wrong, but it does not get you anywhere. At times, it could provide lines and lines of mathematical steps to follow, but accidentally adding an additional digit or an unprompted operation while still convinced that it is correct. AI also has the natural challenge of poorly reflecting the users’ knowledge of a topic. I actually have encountered a class where the syllabus explicitly states that the use of AI is prohibited. I imagine that if you were to use AI for all assignments, you would likely pass if you crammed before each heavily weighted exam. However, you would not really retain any information and the assessments would not actually be assessing your knowledge, but rather a large database with a plethora of information.
Despite these challenges, AI has extraordinary potential, not just in the software engineering field, but in most fields that it is applied to. Despite being relatively recent, it has already left its mark, and it is only getting more accurate and efficient as time goes on. I imagine that AI will get to the point where it can construct an entire curriculum based on actual academic sources and textbooks. On a smaller scale, it has the potential to organize a person’s daily life to be the most doable for that individual, catering to their own personal needs. On a larger scale, public health policy makers can quickly grab factually correct disease prevention information from their database and compare it with other communities.
For traditional teaching methods, students depend on the resources provided by the teachers and professors. This includes in-person lectures, textbooks listed in the syllabus, and study guides. Those lectures can get up to 3 hours long, the textbooks can be full of unnecessary fluff related to the course, and study guides could just simply be misleading, having nothing to do with the content of the actual exam/test. AI can do a quicker dive into these textbooks, almost like a “word search” for topics and main ideas, and can create study guides for such topics. The lectures would likely just be word documents with references and attachments to other sources and videos on YouTube to watch, accessible whenever your most productive hours are. Many students are already in favor of asynchronous as opposed to synchronous classes, and AI would allow you to do so. Especially since professors or teachers are rather difficult to get hold of, an AI would always be present to answer your questions. Since it would be a self-taught classroom (as it is likely asynchronous), knowledge retention would depend on the individual taking the course. However, there are still many students that prefer synchronous classes. We are social animals, and having that human connection is vital, especially in a team-oriented environment such as the software engineering industry. Having a mix of professor/teacher-led courses with deliberate inclusion of AI has the potential of being incredibly effective.
Aside from future considerations that I mentioned in the previous sections, AI seems to have the potential to be the core of education and software engineering. We do have the occasional challenges that are accompanied with AI, but removing those challenges (i.e. incorrect facts) will certainly progress AI. Perhaps instead of general AI, there could be a scholastic AI company that has a collection of AI specifically catered toward certain topics to avoid producing false information. On the topic of educational AI, having AI be an integral part of the coding standard could also be a future consideration. For example, having code that is easily presentable, understandable, and modifiable by AI could represent code that has passed a future programming standard.
As we can see, everyone’s eyes are on AI, and its growth and impact in the software engineering and education field are only going to get larger. As it is still developing, I imagine that the issues I find as of now will eventually disappear given time. Having a conveniently quick source of filtered information is always welcome, especially as a scholar, but as of right now, AI still has its flaws. Although the pace in which AI has been developing is a bit worrying, I look forward to the advancements that it can make for people around the world.