AI in Education

21 Nov 2023

Image of ChatGPT

AI in Education

In ICS 314 we are allowed to utilize AI’s such as ChatGPT and GitHub CoPilot while developing and creating code to solve problems. In the beginning of the semester, we were introduced to the notion that it’s a good idea for us to use these products on our WODs and assignments. The reason for it is, it’s important that we get familiar with these AI’s because they allow programmers, like ourselves, to create programs quicker and more efficiently. Even once we get into the workforce AI is being incorporated in professional development work. It’s also helpful for teaching a programmer a new language, like JavaScript, and the concepts like using underscore functions, HTML, CSS, Bootstrap 5, React, and Meteor.

Personal Experience with AI

Throughout the semester, I’ve been using ChatGPT to help me solve almost all the problems that we’re given in class. Below I’ll use a list of course elements to describe what I’ve used ChatGPT for.

  1. Experience WODs e.g. E18
    • For the experience WODs I would ask ChatGPT to give me an outline on how to solve the problem and if I couldn’t figure it out after an hour of trying it then I would watch the solution video and ask ChatGPT to solve it for me just to see how the professor and an AI robot would do it differently.
  2. In-class Practice WODs
    • For the in-class practice WODs I used what I learned in the experiences and try to solve the problems myself and I found that the experience WODs we’re sufficient for me to learn what I needed to understand what the question asks me to do. However, sometimes I needed help figuring out where I’m going wrong in my code and ask ChatGPT what’s wrong with my code and give it the prompt.
  3. In-class WODs
    • For the in-class WODs I found the experiences, solution videos, and practices I had gone through before the in-class WODs were sufficient enough for me to solve the problems but when I did run into situations where I was running out of time, I would ask ChatGPT to help me solve the rest of the problem.
  4. Essays
    • I never needed to use ChatGPT when I created essays because I don’t have any issues with writing an essay.
  5. Final project
    • I haven’t needed to use ChatGPT so far with the final project because the recent meteor experiences, E49 - E54, are good enough for me to build on those to create the web application we’re going for.
  6. Learning a concept / tutorial
    • I never really asked ChatGPT to help me learn a concept we were learning in class because the lecture videos we had and finding some other online resources we’re good for me to look for.
  7. Answering a question in class or in Discord
    • I never used ChatGPT on how to ask my questions in class or in Discord because most of my questions could be solved online or if I asked ChatGPT itself.
  8. Asking or answering a smart question
    • I never used ChatGPT to ask or answer a smart question because when I asked questions in there it was because there was no solution I could find online or with ChatGPT. When I answered questions, it was from my personal experiences that got me through a similar or same issue someone else was having so they didn’t have to struggle as long as I did.
  9. Coding example
    • When we were first learning about JavaScript, it was also my first time learning the language so I had asked ChatGPT to show me example code such as how do you write a program that calculates the Fibonacci sequence, just so I can see how to write in JavaScript. This is because before entering this class I mostly use C and C++ and I was used to using the many different syntaxes there are, so I was surprised to find that JavaScript has a really different style of writing.
  10. Explaining code
    • Whenever I came across code that I didn’t want to spend the time trying to read through it an understand it, I’d copy it into ChatGPT and ask it to explain to me what is going on because it’s a lot faster and its explanation’s we’re well throughout and simplified.
  11. Writing code
    • I did ask ChatGPT to write code for me but only when I really needed the help or if I was running out of time in an in-class WOD because I believe it’s important to learn and develop skills on my own, but I didn’t want my grade to go down because I took too long to solve a problem.
  12. Documenting code
    • I never asked ChatGPT to document code because that is something I do for myself because it tells me that I understand the code and what’s going on in it.
  13. Quality assurance
    • I did not use ChatGPT to solve me ESLint errors. Those we’re simple to follow and debug when I got them.
  14. Other uses in ICS 314 not listed
    • All use cases, for at least me, were listed.

Impact on learning

I’ve used it in a variety of ways, such as asking it to debug my code and figure out what I’m missing, explain to me how certain concepts such as classes in JavaScript differ from classes in C++, how to use underscore, what include statements am I missing from my bootstrap code, and so on. From my experiences I do believe using AI such as ChatGPT can greatly improve one’s comprehension and problem-solving skills because if you don’t quite understand something you’re learning and need to be explained it in another way then ChatGPT is great in that regard because it explains things in a simpler way. I also do believe AI is helpful for skill development but there’s an issue that could arise where you might become too reliant on it and if you didn’t try and struggle learning it and gave up early to use ChatGPT then you might not be developing the skills to solve the problem regardless of if you know what needs to be done.

For me I feel like ChatGPT has made me feel like I’ve really enhanced and challenged myself while learning the software engineering concepts, we’ve gone over this semester. I feel like when it came to the experience, practice, and in-class WODs I really tried my best to struggle first to teach myself some important skills that an AI can’t give you but when I’m really stuck it’s good to know that there’s an AI that can help me get unstuck and explain to me in a way I understand so that I can concretely wrap my head around the issue.

Practical Applications

Since the release and growth in popularity of ChatGPT and other kinds of AI models, there’s been an explosion of use cases for them. One use case is in our social medias such as Snapchat. They’ve released a feature on their that gives every user a personal AI chat-bot you can talk to, play games with, get recommendations, and answer any questions you have. It’s essentially ChatGPT with some extra features. There’s also AI that can generate pictures and create replicas of voices. In many ways AI like ChatGPT have, in my onion, become a glorified google search because not only does it currently contain, somewhat outdated by now, recent, and relevant information that it uses to give you a response.

Challenges and Opportunities

I didn’t come across any challenges or limitations in ChatGPT throughout the course. If you asked it the right question and gave it the prompt, it would answer your questions correctly.

Comparative Analysis

Traditional teaching methods would resort to using google to find examples or similar questions to yours and incorporate what you find and learn there to solve your problem. It involves a lot of struggling through trial and error. Whereas AI-enhanced approach essentially gives you a 24/7 answer guide to anything you ask. As far as engagement, knowledge retention, and skill development, you can’t really gain these skills by using AI. You must incorporate more of the traditional learning methodology if you really want to form your own skills.

Future Considerations

I believe as time goes on, AI is an inevitable incorporation to every profession out there. It’s defiantly a neat tool to learn about in school and use it so you know its limitations and that could be an area for personal development because at some point you must be better than the AI to be relevant. I do think though that if we continue the use of AI in education, students’ needs to learn, and value struggling through concepts and assignments to improve their sown skills and retain more about what you learned.

Conclusion

In conclusion I’ve used ChatGPT throughout the course in our experience, practice, and in-class WODs. ChatGPT has helped me enhanced my understanding of software engineering concepts and challenged me to learn the material, struggle with it and then when enough time has been put into struggling and you’ve exhausted all the options that don’t involve AI then you should use AI to get a better understanding. I’ve learned that ChatGPT should use as a tool and not as your first resort when things get tough because without working a problem out yourself, you’ll never develop the skills necessary in software development. However, it is a wonderful tool for programmers to use to reduce programming time and be more efficient.