AI in the Classroom: Cheating or Learning?

20 Nov 2023

I. Introduction:

This year was a big step for AI tools to play a prevalent role in the learning process, particularly in Software Engineering. In ICS 314, I found AI tools to be exceptionally helpful in learning about a coding concept, debugging my code, and getting a better understanding of why an algorithm may work. ICS 314 was a fast paced course where students had to learn a new coding language and frameworks in a limited amount of time. Tools like ChatGPT can provide a well-detailed explanation of difficult coding concepts and problems that students may bump into during their Software Engineering journey.

II. Personal Experience with AI:

1. Experience WODS:

The experience WODs that were given in this course were very helpful in introducing new Javascript, HTML, and CSS concepts. In E18, I was very unfamiliar with underscore functions. It was also one of the more challenging concepts in this course due to the amount of underscore functions and parameters that you have to memorize. Because of my unfamiliarity with underscore functions, I found that using ChatGPT to solve these Experience WODs to be very helpful for beginners in Javascript. ChatGPT creates coded solutions that are very easy to read and understandable for the user. Sometimes ChatGPT provides coded solutions that can be shortened and simplified, however, I find that these long solutions are easier to learn from for beginners.

2. In-class Practice WODs:

For the In-class practice WODs, I did not use any AI while trying to solve the problem on my first attempt. These WODs are meant to be worked on with other students in the class, so using AI wouldn’t be as beneficial to my learning or other students’ learning. I took the time to do these in-class WODs to work with my classmates and see how they would approach the problem. After I solved the in-class WODs, I would then use ChatGPT to see if there was another solution to the problem.

3. In-Class WODs:

For the graded in-class WODs, I did not use AI tools to write any code for me. Given that this is a Computer Science class, I believe that attempting to create a solution on your own knowledge first is essential for improving your coding skills. Although these WODs can be stressful and challenging, I think taking the easy way out is hurting your learning more than helping you. It’s tempting to paste in ChatGPT, “In Javascript, write code that follows these instructions: .” Avoiding the use of AI tools to write my code during these in-class WODs has motivated me to prepare thoroughly and understand these concepts before every class on Wednesday.

4. Essays:

For the essays, I refrained from using AI tools because the majority of the essay prompts relied on my own experience. ChatGPT wouldn’t have been helpful as these essays were prompted on individual opinions and experiences—something that AI tools cannot replicate. However, I do believe that AI tools can be used to reword paragraphs and correct grammatical mistakes.

5. Final Project:

I found ChatGPT to be a good resource when working on the final project. Being a beginner to React and Meteor, I felt a lack of sufficient practice with React components and databases. While working on my project, I had difficulties with state hooks, and ChatGPT was there to give me clear explanations and examples. Thanks to ChatGPT, I believe I gained a better understanding of React components and their usage.

6. Learning a concept/tutorial:

ChatGPT and other AI tools are helpful resources for getting better responses and explanations on a concept that was taught in class. I found ChatGPT to be particularly useful in giving examples for these concepts, especially when I couldn’t find a better explanation on other websites.

7. Answering a question in class or in discord:

In our ICS 314 class, we have a lot of class discussions. I find that using AI tools to answer these questions to be very helpful. Majority of the time, ChatGPT will give a clear explanation and examples so that the user can gain a full understanding of the solution.

8. Asking a smart-question:

I haven’t used AI to ask any smart questions. I think questions are more personalized to yourself and on what you don’t understand. I think using AI this way won’t really help you because AI has no information on the things that you don’t understand in ICS 314 or in any type of course. AI is a better tool for answering questions than asking them.

9. Coding example:

I have used AI tools to give out coding examples. One of the ways that I have used ChatGPT was to give example code for React components like setState() and useState(). I think learning React and Meteor was the most challenging part of this course because of how different it is to coding in my previous classes. Having ChatGPT write out coding examples allowed me to improve my understanding of these concepts.

10. Explaining code:

I have used AI tools to explain code to me. When I was learning how to use React components, I found myself asking ChatGPT, “Explain this piece of code to me: (Code).” This usage of ChatGPT was an efficient way of learning; saving me time and contributing significantly to my learning in this course.

11. Writing code:

I have not used AI to write code for me because sometimes ChatGPT would give out code that is not the best solution for my project. For example, copying and pasting code into my final project was not the best option for me because the AI generated solution would not be compatible for the 5 other files within my project. For big coding projects, I think you are better off learning concepts that can guide you to the right solution.

12. Documenting code:

I have used AI tools to document code for my final project. In our final project, there were multiple files that we had to look through and comment out. Manually commenting all of our code was very time consuming. ChatGPT’s code documentation was remarkably clear and concise for other users to understand. I used ChatGPT with this template: “Comment out this code: (Code).” Personally, I find ChatGPT’s documentation to be superior to mine!

13. Quality assurance:

I have not used AI tools for quality assurance because I think figuring out your own errors is part of your learning process in ICS 314. Learning how to fix your own ESLint and coding errors should be a skill that you should practice in your own Software Engineering career. However, if you find yourself spending too much time on fixing these errors, then I think AI is a great option for help.

14. Other uses in ICS 314 not listed:

I think using AI for anything related to ICS 314 shouldn’t be discouraged in this course. AI tools like ChatGPT can really help you understand difficult concepts in a short amount of time. However, I think students should use AI tools wisely in order to help with their learning. These tools should not be used to just get the right answer and move on with the course. AI tools should help you solve problems and teach you new concepts.

III. Impact on Learning and Understanding

AI tools had a positive impact on my learning experience, when trying to gain a better explanation on difficult concepts. Instead of spending hours on finding the right website to read, ChatGPT can produce an explanation within seconds. AI tools can have a negative impact on my learning experience when I heavily rely on this application for answers to all of my problems. With any type of AI, there is always a limit on what it can do and its ability to solve problems accurately. Sometimes ChatGPT can’t find all of the correct answers to your coding problems or questions.

IV. Practical Applications:

AI tools can be used in many ways outside of ICS 314. In my group’s HACC project, we were given the problem of creating a ChatBot that answers students’ and faculties’ most frequently asked questions related to Information Technology Services (ITS). We used AI tools in order to obtain all of the information from ITS documents and to produce a simple response that answers users requests. By using AI tools to solve these problems, we are able to reduce the amount of help desk calls and allow users to get answers within seconds. This was an effective solution to the problem because users are able to get ITS assistance anytime and anywhere. This service is available 24/7 and allows our school to not heavily rely on help desk assistants to answer simple questions that are found within the ITS website and articles.

V. Challenges and Opportunities

The challenges that I have faced with AI, is the accuracy of the answers. When I ask ChatGPT for explanations about certain concepts, I would try to research it on Google and find if that statement was made on other websites. Sometimes I would not be able to find any information on ChatGPT’s explanation, which makes me question its credibility.

VI. Comparative Analysis:

Although it may seem like AI can be the answer to all of your problems, I still think traditional teaching methods like class discussions and getting assistance from your professor is still important. It is important to learn from others because they may use AI tools differently and sometimes more effectively. Other students may think of a different solution from ChatGPT’s answer, or debug an error more efficiently. ChatGPT can’t always give you the correct answers or solutions. In situations where AI creates conflicts, I think asking your peers and instructors is a great option.

VII. Future Considerations:

AI in software engineering education can really help software engineers understand different concepts quicker and more efficiently. When used properly, students are able to become an overall better coder and expand their knowledge by looking at different solutions. The weak point of AI is the credibility of their responses. By improving the accuracy of responses and preventing artificial hallucination, I think AI tools can be powerful in education.

VIII. Conclusion

Ever since ChatGPT was released to the public, I have been using this AI tool to help me with not only ICS 314, but with my other courses as well. With the popular use of AI, I still think students should use this tool wisely. Although it may seem very easy to copy and paste the response that ChatGPT produced, this can do more harm than good to your education. AI is a powerful tool to find solutions to your problems and questions, however, if you are not learning anything by using it, then you are using this tool wrong!