AI in Education

21 Nov 2023

Introduction

AI in education can be a touchy subject because it is often grouped with things like cheating and academic misconduct. However, I think that AI can be an extremely helpful tool in education as it can help students understand concepts in different ways. The field of software engineering is where there are a lot of small details and intricacies that are hard to memorize or even get taught. Using a language model such as ChatGPT or a pair programming AI like Co-Pilot can really help the user learn if used in that way. Personally, I have used ChatGPT and Co-Pilot quite a few times to answer any questions I may have or fix small bugs in where I don’t notice where the error may be. Overall, it saves a lot of time in debugging and trying to figure out how things work.

Personal Experience with AI

1. Experience WODS

I have not used any AI tools to experience WODs mostly because I had the desire to learn about how to do certain things and figure it out myself. Additionally, the experience WODs usually come with a video tutorial that walks you through how to do it step by step which is more than enough to complete the experience.

2. In-class Practice WODs

I believe I have used AI for a couple of in-class practice WODs. This is because there were a couple of occasions where I was completely stuck and didn’t realize the errors in my code. So it is sort of a last resort to see what is going wrong if I can’t notice it myself. I also have not felt the need to use AI because these assignments are not graded and there is not necessarily any punishment for not completing them so I try to treat it as a learning process instead of trying to complete it as fast as possible.

3. In-class WODs

I have used mostly Co-pilot for things like auto-filling tedious code snippets. For example, during the Underscore modules, there were times I realized I had to use certain functions and Co-pilot would automatically complete it after I gave it a prompt of what I wanted. I mostly used this to speed up what I would be doing myself instead of just solving it without understanding.

4. Essays

I have not used AI for my essays mostly because I never felt the need to. Although the essays may be tedious to do, they are in no sense difficult. So I think putting in a little time is good enough instead of having to resort to some AI-generated essay.

5. Final Project

For our final project, I have used ChatGPT quite a bit to answer various questions I have. Whether it be explaining how to do a certain thing, writing code, or fixing bugs. It has been extremely helpful and definitely saved me a lot of time.

6. Learning a Concept / Tutorial

I use AI to learn a concept quite frequently. Whenever I don’t understand a topic or concept, asking AI to explain it to me is my go-to option. This is because of how flexible it is and it being able to provide examples as well as step-by-step

7. Answering a question in class or in Discord

I have not answered any questions in class or in Discord. Usually, there is someone much more knowledgeable who answers the questions way before I even see them so I don’t think there is a need for AI.

8. Asking or answering a smart-question

I have never found the need to ask a smart-question. Most of the time I just search up what issue I may be having and I get helpful responses most of the time.

9. Coding example

I have used ChatGPT quite a lot for coding examples. Sometimes I would want an example to see how a certain function works and AI quite often times gives good step-by-step instructions and descriptions.

10. Explaining code

I have also used AI quite a lot for this. For example, we may be given a hundred lines or so of code, and being able to paste it into ChatGPT to explain it in a few sentences is quite helpful.

11. Writing code

I have only used AI to write code for things I have no idea how to do and have already tried to do myself. Usually, I tend to want to figure things out myself since I learn it better but there are times when I am at a complete loss. That is when I resort to ChatGPT or Co-pilot to generate something that I look over and understand before I use it.

12. Documenting code

I have not thought about doing code documentation using AI. Usually, I just do this myself as it allows me to understand the code a lot more in order for me to write comments about it.

13. Quality assurance

I mostly use this for fixing bugs and errors that I have no idea where the error could be. For example, if I am writing some algorithm and I start at the wrong index, ChatGPT can spot it almost instantly which saves me the time and headache of trying to search for it. As for fixing things like ESLint errors, IntelliJ has built-in functionalities that automatically fix them for us.

14. Other uses in ICS 314 not listed

Aside from the above-mentioned cases, I have not used AI in any other way.

Impact on Learning and Understanding

I personally avoid using AI to just get a solution. Most of the time when I use AI, it is to understand the problem and provide me with various options on how to solve the problem. I feel this way is quite beneficial to learning as it can be treated as a supplement to the things you learn in class.

Practical Applications

One practical application I use AI for is in my VIP class. Here, we are tasked with creating some ‘vending machine’ that essentially dispenses collected live data depending on the user’s requests. Most of the time, I ask it how I would go an approach implementing a certain feature or what things I need for it.

Challenges and Opportunities

AI can be used in an extremely wide range of topics. As students, there is a strong temptation to just ask ChatGPT how to do something or even just spit out an answer. However, it is important to note that ChatGPT may often be incorrect when dealing with more specialized topics that have little information. IF the user is unaware of the false information, they are led to believe it is correct and that can cause a lot more harm down the line. This is why I believe it is a good supplement to what you have already learned in class and can be used as reinforcement.

Comparative Analysis

Personally, I still think the traditional instructor and class teaching style is more effective. It provides some sort of engagement with others which I think helps a lot in learning. Additionally, the traditional teaching method allows for situations like reaching out to a teacher or classmate and providing some sort of interaction that can benefit learning. We compare this to using a language model like ChatGPT which it is not as engaging as it can only display text on a screen.

Future Considerations

I think AI has a significant role in the future of software engineering and society in general. It is still quite early and thus has a lot of improvements to make. An example of this is being inaccurate at times as well as not being able to answer questions a real person would be able to answer. This can all be solved with time as the technology advances.

Conclusion

In conclusion, AI is very powerful too if used properly, and can be detrimental to learning if not. Personally, I have found the use of AI to be extremely beneficial in helping me learn and understand new concepts and I think being able to utilize it that way is very powerful.