Keeping up With AI

19 Nov 2023

Introduction

AI, specifically within education, gets a bad rep. Of course there’s good reason for a lot of this negative reputation, whether that be plagiarizing whole essays or students using resources like ChatGPT to get out of doing work themselves. I do think, though, that within the context of education there is so much more that AI can do to expand learning outside of the classroom than what many people realize. In relation to Software Engineering, I can see AI being of great use when it comes to using resources that one is not familiar with, whether that be asking questions about frameworks or tools like Bootstrap or React, or even debugging code.

Within ICS 314 I have used ChatGPT on several occasions to help with homework bugs but more often than not I found myself asking it to explain concepts to me when I did not understand what was going on.

My Personal Experience with AI

Prior to ICS 314 using AI was something really unfamiliar to me. Despite its easy access and use, as well as people around me frequently relying on it, I never found myself in a position where I really needed or wanted to use AI. Mostly I attribute this to my education style growing up, but I can also see how the use of AI in education comes with advantages and disadvantages.

I think that when most people think of using AI for schoolwork or education the first thing that comes to mind is cheating or plagiarism. However, I have found the most useful aspects of using AI tools like ChatGPT comes with its ability to explain and further upon topics I am unfamiliar with and give answers to questions that might not be readily available in such a short amount of time. For many assignments at the beginning of the course I found myself not wanting to rely on AI, however it soon became a very useful tool.

  1. For Experience WODS, practice coding assignments focusing on solving a problem in Javascript, especially when I was attempting solutions without the video provided, I got stuck in a lot of areas. I think this was mostly due to being unfamiliar with a lot of content, specifically the Underscore functions. So here I used ChatGPT every once in a while asking questions like the difference between _.filter and _.reduce.
  2. Most of the time for In-Class Practice WODS, practice coding assignments but done during class time, I did not need to use AI. I directly attribute this to doing the homeworks until I understood them, that way I already understood most of the concepts going into classwork.
  3. In-Class WODS, coding assignments graded like quizzes in class, oftentimes had me too stressed out to start asking ChatGPT for solutions. Earlier in the class I realized that I could get by pretty well without AI when I went to all the TA practice WODS because many of the techniques and functions used were similar. This applied when the course shifted into UI design as well, especially since many WODS were built off of previous work.
  4. I have never been one to use AI in writing assignments and this applied to the essays in this class as well. I find writing to be something relaxing so I opt to just do it myself.
  5. For the Final Project, my group is not super far into it but I am predicting the use of AI. I think there are a lot of parts of code that we have not directly learned in class that we want to implement so I know that AI will be helpful in teaching how to do new things.
  6. In learning concepts I used ChatGPT a lot. Instead of Googling a question I have and searching through loosely related forum posts or Youtube videos, I have found so much more success and time saved in simply asking AI. I can be specific in what I need help in as well as ask follow up questions or ask it to provide me with websites with further explanation. It has been very helpful in this class specifically.
  7. In terms of answering other people’s questions, if I don’t have the answer I just won’t say anything. There’s no need for AI here.
  8. The same idea extends here from the point above. Asking questions in #smart-questions over ChatGPT is useful, however, when it comes to specific bugs that other students may also be dealing with or found a solution to.
  9. Coding examples, like asking AI to show how to use an Underscore function, is something I frequently ask for help with in ChatGPT. I think that beyond reading documentation behind functions, seeing examples of how it can be implemented in different ways lets me better understand when I should be using it and is very helpful in learning new topics.
  10. In explaining code I used ChatGPT a lot. Specifically when I could not get the solution so I would try to one from the video and still didn’t understand. I would stick that code into ChatGPT and have it explain what was happening and then ask follow up questions. I found it extremely convenient and helpful. An example of this was me asking, “the black box is not showing up on the background image, how do I fix this?” while trying to fix html for one of the UI assignments.
  11. I don’t really like asking AI to straight up write code for me. I think that stylistically it looks ugly a lot of the time and it also uses functions or techniques I am just not familiar with so that confuses me even more. I think it’s more useful to try writing my own, and if it doesn’t work plug it into AI and ask how I can fix it.
  12. I do not have a lot of experience in documenting code, but I feel that if I am the one writing the code, I would be better equipped to be documenting something I am familiar with rather than having a bot do it.
  13. Quality assurance is something I think goes along with debugging and is a very good way to use AI in Software development. I have definitely asked ChatGPT questions about why a certain line of code is causing errors or how I can fix a chunk of code.
  14. Aside from these tasks, I can’t really think of anything else I used AI for in this class.

Impact on Learning and Understanding

In my personal learning experience AI has had the most impact in helping me answer questions that I would otherwise have no one to ask about. In my opinion that is the most valuable aspect of AI. It is the access to information in an instant without having to scrape through web page after web page trying to fix a simple bug or something like that. That being said, I can see this leading to a decline in problem solving abilities when used the wrong way. I myself am not good at controlling myself yet but I do recognize that the way of thinking that develops through learning to code is one of the most important things you need to learn. Turning to AI at every single issue can create shortcuts that can lead to a lower standard of thinking and take away from the development of skills and understanding one might otherwise have.

I believe the most important thing to keep in mind when using AI is to find balance. To know when a problem can or should be solved individually and when it will be more convenient and okay to turn to AI for help.

Practical Applications

I recently participated in HACC, Hawaii Annual Coding Challenge, and it was my first time ever doing a coding project outside of schoolwork. The main issues I ran into was just not knowing how to implement a lot of things I wanted to have work. For that I turned to ChatGPT to teach me how to do things like create a functioning search bar or implement translation features. It was effective in getting the job done and I think that practically, in the world outside of education, this has a lot of uses.

Challenges and Opportunities

I wouldn’t say this was really a challenge but I did find that different AI tools worked differently for me. I tried using Bard at the beginning of the semester but found it couldn’t give me working solutions for many of the questions I was asking it compared to ChatGPT which could pretty much solve anything. I didn’t realize there was a discrepancy like this between different bots but it was interesting to see how each one spit out answers separately.

In terms of opportunities to further AI use in software development, I think it was a good idea for this class to encourage students to make use of AI. It is here in the world and not leaving anytime soon so learning how to take advantage of it and use it in the right way is something important to have.

Comparative Analysis

Compared to traditional educational methods, the incorporation of AI into the classroom introduces a new way of teaching and learning. I think that it opens doors for more individual learning as it gives students access to so much more information so easily and so quickly. I can see this tool lowering engagement in students, though, as they can get used to having any information in an instant whenever they need it. The patience and diligence that would develop in a traditional classroom setting may never develop the same once a student starts to rely on AI. I do believe that a cool upside of AI, however, is the ability to ask it to make problems for you. To ask practice questions on a topic or create a mock up test. This is akin to having a teacher provide a practice exam but I think it’s a really impactful way to improve studying with AI.

Future Considerations

As I said earlier, I do not believe AI is ever not going to be a part of this world. Especially in a field that was responsible for developing said artificial intelligence, I believe it is especially important for us to be the ones to understand it the best. I am sure there will always be room for improvement, to have AI answer one more question, or learn one more fact, and in that it will continuously be growing with us in the world. I think that the challenge then comes with keeping up with AI, in both ethically and practically using it.

Conclusion

ICS 314 threw me into the world of using AI in my learning journey and that is something I am truly thankful for. The more I started to use it the more I began to think about the impact it will have on the world around me. I really do think that in order to prevent artificial intelligence from taking away from the development of skills and knowledge that would be had in a world without it, it is absolutely necessary to know the right ways to use AI. Of course everyone has different needs and uses when it comes to AI, however, the ethics and necessity of it will always play a factor. Knowing when to turn to AI and when to rely on one’s own skills and knowledge can be a hard line to draw when there can be information so readily available. However, it is those who understand that balance who will be able to learn and understand alongside AI, not trudge behind it just hoping to catch up.