First or Last Resort: Utilizing AI as a Tool

20 Nov 2023

What is AI in Education?

AI’s transformative impact on the world of education revolutionized various aspects of learning. AI can aid in many educational functions such as detecting plagiarism, offering guidance on a given topic, providing feedback, etc. However, a stigma arises when AI is perceived as a solution rather than a tool. For example, (website) is utilized to write essays for students. <sarcasm>This method saves a lot of precious time for a student who wants to avoid writing countless pages in a writing class.</sarcasm> Using AI as a solution for writing an entire essay is not the way to go. Instead, AI should be utilized as a tool. Rather than writing an entire essay, AI can be used to expand and spark new ideas.

In addition, AI seems to have two sides of opinions, those of reject and those of accept. Moreover, I thought all professors would condemn AI. When I read the themes in the ICS 314 (Software Engineering I) course description, I was surprised to see that AI tools like ChatGPT and GitHub Copilot are embraced in software engineering. As the course progressed, I finally understood why AI is accepted and even encouraged.

Experiencing AI (ChatGPT) in ICS 314

Before taking ICS 314, I attached AI with a stigma because I believed that relying on AI contributed to academic dishonesty and that students who use AI truly did not understand the material. Thus, I avoided AI until the start of ICS 314. How did I start using AI, specifically ChatGPT? Well, I will explain my experiences down below but after using ChatGPT for the first time, I have no guilt or regrets.

WODS – Experience, In-class Practice, & In-class

Overall, I did not use ChatGPT as much as I expected with the WODs. I’m not saying the WODs were easy, however. With the experience WODs, I did not use ChatGPT due to the provided resources and instructor videos. Moreover, I relied more on the instructor’s solutions than ChatGPT’s solutions. Especially when the experience WODs are just practice, I accept failure (exceeding the DNF time), and I would rather learn from my mistakes by referring to the instructor’s videos and then trying again. In-class practice WODs were similar to the experience WODs except that sometimes there was not enough time to go over the solutions; if solutions were not provided for the practice WODs, I would refer to ChatGPT and compare my solutions to find a more efficient and simpler method.

Because the in-class WODs are pass or fail, I stressed a lot before and during the WOD. On the first WOD, I told my classmate that I was nervous, and she said, “Just use ChatGPT,” and my nerves loosened up. Before every WOD, I always told myself, “If I’m cutting close to the DNF time, I will use AI as my last resort.” Knowing that I had a backup plan for that situation, my stress weighed significantly less. To my surprise, I did not use ChatGPT for my in-class WODs. With the experience and in-class practice WODs, I would not use ChatGPT during the WOD but I would use it after to compare my solutions.

Essays

Depending on the circumstance, I tend to avoid using ChatGPT when writing essays, because I believe using ChatGPT will lack the authenticity of the writer. However, with informative essays, I use ChatGPT to spark a few ideas. Writing is not my strong subject, and I am prone to writer’s block. ChatGPT helps with giving me a start with my essay, especially this one! I did not know where to start with my introduction, so I asked, “AI applications for education,” and here I am still writing.

Final Project

As of now, I have not used AI for the final project because it is still the beginning phase of the project. However, I am sure that I will need to rely on ChatGPT, especially with implementing functions that I have not learned in class.

Learning a Concept/Tutorial

ChatGPT is a useful tool for learning because it is like a personal tutor. I can ask a question, receive an immediate solution, and ask another follow-up question. However, I would only learn simple concepts from ChatGPT. With complex concepts, I need a human to explain and illustrate the material. ChatGPT lacks a drawing feature and I am someone who learns best through illustrations and diagrams.

Questions

Before using ChatGPT, I would spend a lot of time scrolling through Stack Overflow or Google search to find the specific solution to my question. I appreciate how ChatGPT is personalized for me. Usually when I search for a question on Google search, solutions to similar questions will appear but not solutions to my exact question. ChatGPT directly responds to my question. Although the solutions that ChatGPT provides may not be 100% accurate, I save a lot of time looking for a solution.

Providing Coding Examples, Explaining and Writing Code

With HTML, I would ask for coding examples based on what I want. Though Bootstrap provides many examples, ChatGPT provides a more detailed example of what I want. In addition, while learning Underscore functions, I referred to the underscore web page a lot, but the examples provided on the webpage confused my small brain. I would transition to ChatGPT to explain the code more in-depth, and I appreciate how ChatGPT breaks down each line and component of code. ChatGPT is also versatile such that it can change the explanation of the code until I fully understand.

Documenting Code, Quality Assurance, and Other Uses in ICS 314 not Listed

I have not documented code but when I do, I would rather document my code because I understand my code enough to explain it thoroughly. For quality assurance, I never used ChatGPT because I would refer to the ESLint errors in IntelliJ. Lastly, I have not encountered other uses in ICS 314 that have not been mentioned above.

Impact on Learning and Understanding

Technology is meant to make our lives easier not harder, right? Without AI, I would not get enough sleep. AI positively impacts my learning and production experience, providing explanations and examples within seconds. Because AI can readily give the full solution, the learning process may backfire depending on how the tool is used. I have to periodically ask myself if I understand the code because sometimes, I catch myself in a trance of copying and pasting. I tend to get overwhelmed by long, complex prompts and I do not know where to begin, so AI provides a jump start.

Practical Applications

For software engineering, AI speeds up the process of production and debugging, which gives more time for producing new ideas! There are many uses of AI outside of ICS 314. Although AI and software engineers go hand-in-hand, AI is not limited to software engineers or people in technology; almost everyone with an Apple iPhone interacts with AI (Siri) without even knowing. Snapchat released a new feature of a personal AI friend so the user can talk to the “My AI” as a friend, interesting yet strange… To be honest, I used ChatGPT to help me write the first portion of this essay but then ChatGPT crashed, so I asked “My AI” friend on Snapchat to give me a few pointers!

Challenges & Opportunities

I am not familiar with the other AI sources like GitHub Copilot or Bard to discuss the overall limitations of AI in software engineering. However, I noticed a few minor limitations with ChatGPT. For example, ChatGPT does not provide references from outside sources, so sometimes I would question the credibility of each response. I have not encountered any major limitations or challenges with using AI throughout my ICS 314 journey. I believe that ChatGPT has the capability of answering any given prompt, but the answers provided may not always be what I am looking for. Therefore, ChatGPT is beneficial for straightforward problems but with a complex problem, the problem needs to be broken down into simpler components.

I can’t think of specific opportunities for further integrating AI in software engineering education, but I appreciate my software engineering class embracing the use of AI. Because ICS 314 contains a heavy workload, utilizing AI as an assistance transforms software engineering education into a more enjoyable and manageable environment.

Comparative Analysis

I prefer traditional teaching methods due to the learning structure, and I’m not the best at efficiently learning on my own and teaching myself. With the flipped classroom style in ICS 314, I used AI in addition to the resources provided by the instructors for my learning experience. Admittedly, I have not fully grasped some of the concepts in class. For example, I should be familiar with most of the Bootstrap and Underscore functions, but I tell myself, “I can learn another day and if I need to find a specific function, I’ll just ask ChatGPT.” This is a bad learning mindset. I sometimes forget that AI is a tool and not a solution provider. Because AI is accessible and convenient, a habit of pushing assignments aside or letting AI do all the work can occur to students using AI. On the other hand, with traditional teaching methods, students are forced to dedicate the time to learn. Contrary to traditional teaching methods, AI provides opportunities for people who want to learn but cannot afford an education. As previously mentioned, AI is like a personalized tutor. Overall, depending on how AI is used for learning, AI can be either beneficial or detrimental.

Future Considerations

Because AI will continue to evolve, I question whether there will be more or less opportunities in the technology field. Knowing AI can do the job, will programmers or software engineers still be in demand? In terms of software engineering education, I believe the future of AI will provide more opportunities than challenges for students. More students are interested in technology and software engineering, but there might not be enough professors to accommodate the students. Rather than waitlisting students for a class, a flipped classroom style with AI assisting the students can be an alternative.

Conclusion

Overall, AI rerouted my learning journey in the best way. Either my first or last resort, AI assisted me with my ICS 314 projects, WODs, essays, and assignments. Despite the stigma received, AI does not have an end and will continue to evolve. Rather than giving the cold shoulder to AI, students and instructors need to embrace AI and learn how to integrate AI into the learning environment instead. AI offers opportunities to students in terms of learning and jobs. Therefore, I support integrating AI in the Software Engineering course, but AI should be taught as a tool and not as a solution.