AI is one of the most polarizing topics in today’s education system. If you told me a semester ago that we wouldn’t just be allowed to use AI in a coding class, but even encouraged, I would’ve had reservations about its impact on genuine learning and student engagement. I did my best to avoid using AI in this class, but desperate times sometimes called for desperate measures, leading me to fall back on ChatGPT as a crutch. While I did find AI useful at times, there were moments where it would lead me in circles and I would wonder if my time would have been better spent reading documentation, watching videos, or just asking a friend. While AI is a powerful tool in the context of a classroom, I believe it should be used with caution. Our brains get stronger from the weight of not understanding, and AI can lift this weight off our shoulders, making solving a problem far too easy. If someone relies too much on AI, there will be a time where it fails them, and they won’t be prepared. It is important to find the balance between using AI to enhance our learning and making it do the work for us.
Here’s how I have used AI in class this semester in the following areas:
Experience WODs e.g. E18
I had no reason to use AI for the Experience WODs. These WODs were essential building blocks for any in-class WODs, and I found them very helpful to do on my own.
In-class Practice WODs
Again, these WODs were ungraded and purely for practice, so there was no incentive to use AI. If I ran into any problems, I would reference the Experience WODs, and the answers would typically become clear. If I didn’t finish the WOD, I would treat it as a learning moment for the in-class WOD and review where I went wrong.
In-class WODs
I rarely had to use AI for the in-class WODs. The Experience and Practice WODs prepared me well enough to avoid using AI. There were a couple of times where I had issues with my environment or had a syntax error/typo in my code, and as time wound down I had to quickly ask ChatGPT what was going wrong with my environment or where the syntax errors/typos were.
Essays
Unfortunately, I got a bit lazy with some of my essays. I would sometimes give ChatGPT a prompt and it would give me a good place to start. Sometimes I would even tell it to finish a sentence that I couldn’t find the right ending to. As my work load started getting heavier, my time management skills collapsed, and my sleeping hours got shorter, I used ChatGPT to make things easier for myself. I always felt as if I were missing out on a chance to express my voice. I had a pattern of using ChatGPT on one essay, then not using it on the next for the sake of exercising my voice and creativity.
Final project
For the final project, I’ve been relying a bit too much on ChatGPT. I wish I spent more time doing actual research on the backend aspects of Meteor and React. ChatGPT has helped me understand many concepts here, but it has also led me to confusion. I’ve been finding myself looking elsewhere for help, specifically in the templates, documentation, and my friends who are more experienced with backend concepts.
Learning a concept / tutorial
I would often use ChatGPT here to clarify a concept. Sometimes I would tell it to explain to me as if I were a kindergartner, and would condense a confusing concept into something more digestible. I think that this is where ChatGPT is at its best, but I still believe that if you can find a more credible source, you should utilize it.
Answering a question in class or in Discord
In these cases, I would typically only answer if I knew the answer right away from previous experience. Otherwise, I felt no need to go searching for answers. It was only when Professor Port outright told us to ask ChatGPT a question that I would bite and see what the AI says.
Asking or answering a smart-question
I followed the same logic here as when answering a question in class or in Discord.
Coding example e.g. “give an example of using Underscore .pluck”
I didn’t ask ChatGPT to give me coding examples unless it was for writing essays. Looking back, I could see this being useful for learning certain libraries like Underscore.
Explaining code
This was useful whenever there were long blocks of code. ChatGPT did a good job at breaking the code down into digestible parts.
Writing code
I’ve only asked ChatGPT to write code for the final project. It normally isn’t totally right, so it was necessary for me to proofread the code.
Documenting code
I don’t recall using AI for documenting code.
Quality assurance
If something went wrong in my code, I would ask ChatGPT to help with debugging.
Other uses in ICS 314 not listed above
I can’t think of other uses that are not listed above.
My experience with AI in the classroom has been mixed in terms of its impact on learning and understanding. On one hand, AI has been a valuable resource for quickly clarifying concepts, providing coding examples, and breaking down complex code segments. The ability to receive explanations tailored to my level of understanding, such as asking ChatGPT to explain concepts as if I were a kindergartner, has been particularly beneficial. Additionally, AI has assisted in quality assurance by aiding in debugging code and providing alternative perspectives on problem-solving approaches.
However, there are concerns regarding overreliance on AI leading to a reduction in genuine learning and critical thinking skills. There were instances where I found myself using AI as a shortcut rather than engaging in deeper exploration or problem-solving. This reliance on AI, especially in essay writing, may have hindered the development of my own voice and creativity. Furthermore, while AI can provide quick answers, it may not always foster a deeper understanding of underlying concepts or encourage independent exploration.
The use of AI can be applied to many fields of coding outside of ICS 314. For people who have deep knowledge in their respective coding languages, AI can be used to deal with the tedious sides of coding. ChatGPT can give a sort of first draft of what a programmer wants to produce, then the programmer can proofread or modify the code to their liking. I could see myself using AI to change code to match my own coding style, making it easier for me to interpret.
While the incorporation of AI into the course has brought some benefits, it has also presented some challenges. One challenge is the risk of overreliance on AI, which may lead to a loss in critical thinking skills and independent problem-solving. I am also concerned about the accuracy and reliability of AI-generated solutions, especially for more complex problems. By promoting a balanced approach to learning and providing guidance on responsible AI usage, educators can help students leverage AI as a complementary tool to enhance their learning experience.
Comparing my experience with AI to traditional learning methods highlights the advantages and limitations of both approaches. While AI provides quick access to information and assistance, it may lack the depth and nuance of human interaction. Traditional learning methods, on the other hand, emphasize active engagement, collaboration, and deeper exploration of concepts. A blended approach that combines the strengths of AI with traditional teaching methods may offer the most effective learning experience.
For the future, it is important to continue exploring the potential of AI in education while addressing associated challenges. Educators should receive training in effectively integrating AI into the classroom and guiding students to ue AI responsibly.
AI has emerged as a powerful tool in education, offering various benefits in terms of accessibility, personalized learning, and efficiency, but we need to be careful to avoid the potential pitfalls and ensure that it complements rather than replaces traditional teaching methods. By responsibly embracing AI, educators can harness its potential to enhance learning and prepare students for success in an increasingly AI-driven world.