AI: Academic Accessibility

30 Apr 2024

I. Introduction

A year ago, if you had asked me what ChatGPT was, I would not have been able to tell you. Over the course of the year, though, I began to figure it out very quickly. AI tools like ChatGPT had started appearing everywhere. I was amazed at how quickly it had taken over so many aspects in life. Soon, new bots came out like Copilot, and I personally witnessed other uses of OpenAI in development. Just this past December, I participated in my very first hackathon. The Build4Good hackathon was centered around Machine Learning and AI, and part of the hackathon experience was being educated on some of the tools available to use. While my contribution to the project revolved around Python algorithms and the utilization of computer vision, I was amazed when I saw many teams, including my own take the OpenAI API and build tools of their own. Not only did I see AI become increasingly discussed in the media and the classroom, but I got to witness its capabilities outside the classroom. While many news articles seem to love framing AI as our doom, I believe that it is irresponsible to focus solely on the bad or frame it in such black and white terms as this fails to create nuanced thinking and healthy discussion surrounding the topic of AI. While it may help some students cheat, AI is also capable of being an additional resource or support system in academia for students who may need extra help.

II. Personal Experience with AI:

I have used AI in class this semester in the following areas:

  1. Experience WODs e.g. E18
    I didn’t really need to utilize AI for the Experience WODs as I found the screencasts explaining steps to be much more useful personally. I liked being able to walk through problems and see problem-solving strategies in action. Being able to learn problem-solving strategies and understand the whys and hows are both very critical to my learning process and comprehension.

  2. In-class Practice WODs
    Sometimes if I got stuck on a bug while working with the new material, it helped to have AI available to consult and ask where I was going wrong or misunderstanding something.

  3. In-class WODs
    I didn’t need to use AI for the WODs. Instead, I attended many practice session WODS and reviewed answers to prepare. I found it more beneficial to understand each element used in the practice WODs and homeworks and then translate it to the new WOD.

  4. Essays
    I don’t really like utilizing AI for essays, so I didn’t utilize it. I feel that AI fails to capture my true voice and feelings accurately. I believe that the best art (such as writing) is best conveyed by humans as art is moving in the way that it reflects the human experience.

  5. Final project
    I occasionally utilized AI to assist with understanding new material for the final project. I had never worked with backend development for a React app before this project, so I had a lot of questions. AI would sometimes help me answer the questions I had or point me to problems that may need addressing. I mostly relied on documentation and search engine resources, though.

  6. Learning a concept / tutorial
    I tend to learn a lot by being able to ask the right questions so AI can sometimes prove useful when I am confused. Occasionally it spits out something that makes zero sense or fake information, but many times it can at least point me in the right direction or prompt my brain in a way that gets me to a correct answer or at least closer to an answer.

  7. Answering a question in class or in Discord
    I have never needed to use it for questions in class.

  8. Asking or answering a smart-question
    By asking the right questions while researching, I didn’t really end up needing to ask questions to the Smart-Questions channel. I also didn’t need AI to answer the questions that I answered in the channel because the solutions to the problems were either solutions that I either knew from personal experience, or they were solutions that I could deduce from reading the output errors and tracing the given code.

  9. Coding example e.g. “give an example of using Underscore .pluck”
    Occasionally, documentation can be confusing and unclear to me even when I did some research. It helped to have AI available to consult as a resource when I felt I wasn’t understanding something. Even being able to just see the code in use and understand what arguments it took and what it would spit out helped me understand what code would do, especially in code written in languages that are not as explicit (ex. Javascript and Python do not make programmers declare data types). It saved time because I did not have to go hunting for the original code source (if it was even publicly available.)

  10. Explaining code
    Similarly to the previous categories, I found that it was often able to help me understand code fairly well. It was helpful to get a line-by-line analysis when I felt confused, and I could later apply those lessons to future code I encountered.

  11. Writing code
    I feel that a lot of the code I wrote in this class was made up of tools that we used or learned so I didn’t really need to rely on AI to write out code much. Sometimes if I wondered if something could be more efficient or organized better, I would inquire about it. But I didn’t always use the code that AI provided as it often had errors that I had to bugfix or other issues (for example, suspected security issues). It could usually provide a decent baseline or starting point, but I wouldn’t rely heavily on it to solve more complex issues.

  12. Documenting code
    I occasionally used it to help comment my code as it’s much faster, and it automatically adds proper formatting. I would review the comments to check that they are correct and then add them or edit them so that they suited however I preferred to organize things in my project.

  13. Quality assurance
    Sometimes AI would suggest that I try certain things that I would not have thought of due to lack of experience, but quite frankly, I wasn’t super impressed with its ability to analyze quality assurance. I think that it often didn’t take many situations into account, and I often found that I was inquiring about whether certain parts of its code were good practice (my intuition was correct that they often weren’t) or about checking for certain cases.

  14. Other uses in ICS 314 not listed above
    I did not use AI for other uses in class because I had no need to.

III. Impact on Learning and Understanding:

Personally, I would say that AI has helped my overall learning and understanding as it has been like an additional support system at times. As a student with a disability, academia has often been a space where I felt frustrated or misunderstood. Certain subjects, such as math, were taught in ways that I struggled to work with such as simply giving equations but not understanding where anything was coming from. When I would ask questions, sometimes they were met with snarky responses or my curiosity would be discouraged because it took up class time which I understand. With AI, I feel more academically supported because it is another tool that I can utilize to get more help that I may need in order to understand the subject, and once I understand it, I become more knowledgeable and competent overall. I can apply that knowledge differently because I understand it on a deeper level. I tend to learn well in small groups or 1-on-1 situations where I feel comfortable with asking questions without holding up the class. With AI, I can ask as many “why” questions and the AI will never tell me to knock it off. I’m the type of person that sometimes doesn’t identify a question I may have until I encounter a situation that may prompt the question, and AI’s convenience can really help me get the answer I need so that I can continue my lesson. While I tend to prefer getting my own answers and reasoning through things on my own, I can also acknowledge when I am stuck. At certain points, making some progress or getting a nudge in the right direction simply becomes a smarter use of time. This is incredibly important as I work a job and also have other classes which require a lot of time. This being said, I also want to note that I do not overrely on it. I use it to help build up my understanding. I often understand enough to recognize when something it spits out does not make any sense, and if I do need to use it, I prefer an AI assistant such as Bing’s Copilot which also can provide links to the resources that it gets the information from so that I can judge the credibility myself and look at additional resources if needed.

IV. Practical Applications:

As stated before, I had been able to personally witness the integration of AI into software engineering projects at the Purple Mai’a Build4Good hackathon. At the hackathon, there were a variety of projects where I got to see how it could be used to help Hawaiian communities. There were a wide variety of projects that were showcased such as text-to-speech ʻŌlelo Hawaiʻi, an algorithm that helped people invest in companies that support causes they care about, an AI chat bot that worked to connect houseless people to local support resources, a game which helped people connect with native species, and my group’s utilization of AI to help care for local coral. All of these were built in a single weekend. It was incredible to witness first-hand how versatile it was and how it could be integrated into projects to elevate their capabilities so quickly. Although AI is often associated with chat bots like ChatGPT, I like imagining its possibilities and the repurposing of AI algorithms for other causes. One story that I really enjoyed hearing about was AI being developed to identify baked goods, and it ended up being really proficient at detecting cancer cells. Though AI might be fairly young and its dangers still unknown, I think that there are also many amazing stories of responsible and heartwarming uses of AI, and I’m excited to see how it can potentially be used to help others.

V. Challenges and Opportunities:

As stated, AI is still fairly young. While the existence of AI tools such as ChatGPT are revolutionary, it’s important to view AI through a critical lens as well. It is not a fix-all, and while I believe that many news articles tend to exaggerate the apocalyptic risks of AI (at least at the current time of writing this), I do think that we need to acknowledge the very real dangers that it is currently posing. While it is still fairly decent, AI is still at risk of spreading misinformation or encouraging and suggesting incorrect software engineering practices. While it can help with learning, it’s also very important that students have a foundational understanding of computer science and research skills and that they critically think before taking whatever the AI spits out at face value. One example of this was when I was trying to figure out how to integrate the backend of my group’s final project for the course. It would sometimes suggest hardcoding the keys required to access the backend in a file that would be eventually get pushed to GitHub which would pose a security risk. While it can provide support, it is not always capable of offering the best possible support. I am curious if an AI tool such as GitHub Copilot would be better for coding specific tasks like that in comparison to bots such as ChatGPT, but I haven’t really had time to do a full comparison.
I think that AI still has potential to help support students and their learning, but it should be strictly a support tool and not an education replacement. I believe it has the potential to help students empower themselves to take charge of some aspects of their learning when used correctly. It can help make certain error messages more digestible or offer explanations at a convenience. It can also help make study tools like note summaries or offer practice problems. Like any tool, it can either help or hurt you depending on how it is used.

VI. Comparative Analysis:

I personally prefer traditional teaching methods, but I also appreciate what AI can add to my learning capabilities outside the classroom. I tend to find that I learn a lot when a variety of explanations or demonstration techniques are used in combination (for example, visual, auditory, and hands-on) since it helps me process the information and build certain pathways in my brain. But I also find that learning how to ask the right questions is also critical to how I personally learn. In this way, it’s hard to say if AI helps or hurts me. On one hand, I sometimes worry that I am not building as many connections in my brain as possible, but also, it can sometimes help me build a more complete picture and a deeper understanding, so it also allows me to help others or problem solve more independently in the future.

VII. Future Considerations:

I actually appreciated how the Software Engineering course allowed the use to AI as long as it was disclosed. As AI grows more prominent, familiarity and knowledge with AI has started to become an in-demand skill that can help people boost productivity. At the moment, it feels like AI is here to stay. Knowing this, it may be beneficial to treat responsible development with AI as more of a skill. Considering the fact that software engineering is a course that places on emphasis on professional development, having additional knowledge about how one can use AI to become a stronger developer may be beneficial to students working to join an evolving field like computer science and the professional work force. The challenge would be, of course, balancing its use as a supportive tool without having it replace learning. One may be resourceful with tools, but if someone were to become over reliant on it, it may become a weakness rather than a strength. Due to this, I would recommend more emphasis on foundations of development practices, problem-solving strategies, and responsible AI use so that students are better equipped to tackle developer related problems in the future.

VIII. Conclusion:

While AI may still be in its infancy, I would imagine that models will only improve with time as it takes a more prominent role in society. I think it’s important for everyone, especially computer science professionals who may be working with it or developing it further to be knowledgeable about the tools that they are using and creating. As there are more conversations starting surrounding ethical usage, calls for regulations and other related policies, computer scientists will be getting a prominent seat at the table in these discussions, so it’s even more critical to be aware of its capabilities and potential. That being said, I think it would be beneficial if the computer science department offered more educational opportunities surrounding AI.
Honestly though, I was pretty content with AI’s use in the software engineering course. I felt that it was fair and encouraged integrity while letting it remain an individual choice, also not attaching a taboo label or stigma on AI’s place as a developer resource. While learning foundations in a subject is timeless, it may be also be beneficial to be adaptable and willing to evolve and keep an open mind to keep up with a competitive job market. Ultimately, while AI use is a choice, I feel that developing curriculum that would work to educate the next generation of developers on how to responsibly get the most out of it if they make that choice when developing could be a valuable knowledge set to have in the long run.