Will AI destroy education as we know it?

06 May 2024

I. Introduction

In the emerging age of AI tools such as ChatGPT or Bing Copilot, many aspects of technology are constantly having to readapt to changes caused by artificial intelligence tools. Since technology has such a huge importance in work and education, many people face changes in their daily workflows and educational journeys.

Language models such as ChatGPT and Bing copilot are not only good at natural human languages; they are also great at programming languages. In the education field, ChatGPT has completely affected how computer science and engineering students study programming and software in general.

AI tools can be used to generate all kinds of code, including typical algorithms, and even full games. These capabilities can be far reaching, and they are often able to complete many computer science assignments that require the answering of programming prompts. In my own experience, I have used it to solve very trivial algorithms; ones that you may see in an introductory course in computer science. I have also used these tools to troubleshoot and debug possible errors in code, and have prompted AI tools to program snippets that get a specific output.

However, these tools can have many limitations. For one, they are not able to see the entirety of large projects. For example, if a software assignment deals with anything more than multiple files that link together, ChatGPT has a difficult time making sure that all the required modules and prerequisite software is taken care of.

AI tools can’t help with development environments yet, which is a large part of software development itself. In ICS 314, setting up development environments and running large, bulky javascript platforms are a major skill to learn in the class. ChatGPT can only help with the steps required to set up these environments, but cannot actually execute them.

In ICS 314, the extent of my use for AI tools has only gone as far as producing examples of functions that may be used for the in class WODS and for inspiration in formatting certain written assignments.

II. Personal Experience with AI:

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

  1. Experience WODs e.g. E18

    • For the Experience WODS, we were tasked with various software assignments that eventually built up to the skill level required to start making full-stack software. These all had solutions at the end of the assignment. At the beginning, the experience were mostly small pieces of code. These prompts were actually possible to have AI tools solve, but I never used any AI tools, since all the experiences had solutions at the end. As the semester went on, the experiences got more complex, spanning more files and running on more complex development environments. On these assignments, it was not as possible to use AI tools, since the development process got so complex. Still, using AI tools was not necessary due to the solutions at the end of each experience.
  2. In-class Practice WODs
    • For the in class practice WODs, I would use ChatGPT once or twice for the assignments. In these times I have used ChatGPT, I used it as a last resort for solving a WOD prompt, whenever I was not able to get the correct output. Underscores practice WOD, I asked ChatGPT the prompt “Write a class that would fulfill the following requirements: (WOD requirements).” In an in class practice WOD for the Underscores framework, I asked ChatGPT to “create functions for the following requirements listed here: (description for each output needed for each function in WOD).” Outside of these instances, I usually was able to solve the in class practice WOD, or would just simply be fine with failing the practice WOD.
  3. In-class WODs
    • For the real in class WODs, I used AI tools twice to provide notes/examples and to debug my WOD submission. One instance where I used ChatGPT was to create examples of multiple Underscores functions in the Javascript 3 WOD. In another instance, in the Coding Standards WOD, I used ChatGPT to look for any bugs in my code in regards to Underscore, which instructed me to add a return to the underscore function, helping me get the right output.
  4. Essays
    • For writing essays, there was extremely little use of AI, since most of the prompts required a personal opinion on the various subjects or asked for personal anecdotes. Because of the personal nature of all of the essay prompts, I really just typed out every single answer to every prompt asked in ICS 314 essays.
  5. Final project
    • For the Final Project, there were many instances where I used AI to write ideas, debug code, and even make certain implementations. Firstly, I used ChatGPT to generate a template for the entry for my custom final project idea about a restroom rating app. While I did not get to choose the restroom rating app as my final project idea, I used ChatGPT to help with my implementation of a rating system in my Manoa food rating final project for ICS 314. Specifically, I used it for creating a star display function for the rating system. I prompted it to create a simple frontend star display of the star rating, giving it my code I used for the rating input function in the Manoa food rating final project.
  6. Learning a concept / tutorial
    • I never used ChatGPT for learning concepts that were covered in ICS314. This is because I only ever learned concepts through the learning experiences, which always provided examples and solutions themselves. To learn concepts, I mainly completed the experiences, which allowed me to “learn by doing.” Because I never used AI for these experiences and only used experiences to learn concepts, I never used AI for learning concepts or for tutorials.
  7. Answering a question in class or in Discord
    • Throughout the semester, I never answered a question in class or in Discord, and therefore, had no opportunity to use AI in this task.
  8. Asking or answering a smart-question
    • I actually never asked or answered anything in smart-questions in the Discord (besides asking one clarifying question), and therefore, had absolutely no opportunity to use AI in this task. In asking my clarifying question in response to smart question, I never asked AI to help me ask the clarifying question.
  9. Coding example e.g. “give an example of using Underscore .pluck”
    • As mentioned under the in class WOD section, I actually used ChatGPT to give several examples of the use of several Underscore functions. Specifically, I asked ChatGPT to provide coding examples for use in the Javascript 3 in person WOD.
  10. Explaining code
    • I never used AI tools in any tasks related to explaining code, since most code explanations and concepts that I was exposed to was already covered in solutions introduced throughout the different modules throughout ICS 314.
  11. Writing code
    • I used ChatGPT to write code in the final project, since I needed a quick implementation for the rating system in my Manoa rating final project. Specifically, I asked ChatGPT how to convert a star input system into a star display system.
  12. Documenting code
    • The main place that I documented code was contained in the final project of ICS 314. In this final project, I never employed the use of AI to document the code because all of the explanations of the code and all of the progress explained was extremely specific to plans outlining the overall system design. Because of these very specific ideas for implementing the overall project, I never used AI tools, since they would not be able to grasp the overall idea like the members would.
  13. Quality assurance
    • For quality assurance for the Javascript 3 WOD, I used ChatGPT to make sure my code was quality and usable. In other quality assurance aspects in ICS314 such as in the final project, I never used AI. I made a personal choice to write test cases manually in the final project, since I wanted to have full control over what I wanted to test.
  14. Other uses in ICS 314 not listed above
    • The above uses covered all of the uses of AI throughout all of ICS 314. In general, I used AI very sparingly throughout ICS 314, using it to do some basic examples and to write/debug very small algorithms.

III. Impact on Learning and Understanding:

AI has generally only affected my learning and understanding of the ICS 314 material in a positive way. This is because I only used it to make small changes to some simple passages of code required of me for the WODs or in the final project. I used ChatGPT for writing notes/examples for Javascript 3, which was mostly done to save time in writing the notes for reference. My use of AI in actual development was only limited to very small portions of the overall project. In my use of AI in the rating system, there was really only one algorithm that ChatGPT developed for the rating system. For the overall system design and feature implementation of the final project in ICS 314, I manually wrote the code.

Since the overall goal of ICS 314 was to get a well rounded experience on developing full stack software, my limited use of ChatGPT in small algorithms has not made any effect on the overall takeaway from my experience of ICS 314. In terms of the things I expected to take away from ICS 314, I experienced it without any AI tools.

IV. Practical Applications:

Outside of ICS 314, AI tools have many types of applications in many different contexts. In one instance, I have personally used AI tools in my programming tasks in my internship. In my development of the ride quality assessment and in my comms inspection app in my internship at HART, I used Microsoft’s Copilot to debug Matlab, Python, and Javascript code. For all of these internship tasks, there was always a larger system design required out of the projects, which AI tools could not entirely grasp. This is why I mainly only used AI tools to debug code and give explanations. I would not use AI tools in anything of wider scope.

AI tools are extremely powerful and very capable, but they are still limited in their use cases. For example, AI is still unable to have complete context of a development environment. Because of this limitation, AI is severely limited in troubleshooting problems that may span several files. Many development projects exist within very specialized environments that are unable to be completely contexualized by AI, which is a major limitation.

For basic scripts and algorithm assistance, AI is extremely powerful. GitHub Copilot is able to implement many powerful algorithms and functions, since it understands the context of code and can understand certain requirements laid out by developers.

V. Challenges and Opportunities:

There are several challenges that AI has to face in helping with education in ICS 314. For one, there is a lack of ability for AI to assist with any problems related to development environments. Whenever problems arise for the use of the Meteor framework, AI is not able to completely understand the full system and all of the factors of the framework on the local system.

As stated previously, AI can only help in education when it comes to smaller scale algorithms or scripts. Because ICS 314 is in large part dealing with development environments, AI tools are also quite limited in assisting students in the course.

In the future, AI can be further integrated in supporting students education by providing students more examples for good use cases for AI in help for the course. This course could also integrate AI more by expecting more and more use for AI by students, and should design the curriculum accordingly. This could help focus the learning towards more core aspects of Software Engineering.

VI. Comparative Analysis:

AI has definitely changed the playing game in terms of education and teaching methods. For example, AI can have the role of de-emphasizing the raw skills in algorithm and script development. However this de-emphasizing of these skills can be an opportunity for teacher to re-emphasize and reinforce more skills in broader software development.

AI has also changed the writing aspect of essays. When AI is allowed in writing essays, students could fall into the trap of using LLMs to completely write their essays. This could be a negative point compared to previous traditional methods of simply manually writing all essays.

VII. Future Considerations:

AI has plenty of opportunities to completely transform software engineering education as we know it. For one, it has been a great opportunity to get a personal code explainer. LLMs can be a great way for students to get acccess to an extremely skilled, knowledgable person (being?) for coding assignments. This requires less need for humans to have to answer every single concern, question, and tutoring session that software engineering students may have.

An area of improvement in AI could be more specialized AI tools aimed towards teaching. Currrent LLMs can both answer and explain pieces of code. However, teaching AI tools could hypothetically only be designed to answer questions and give explanations, but not give explicit answers.

VIII. Conclusion:

In all, many aspects of education have been completely affected and transformed by the emergence of AI tools. From documentation, to code explanations, AI has been a very powerful tool for students and teachers to quickly complete many software related tasks. In ICS 314, I have had some experience using AI in an educational context with the goal of saving time and focusing more on critical goals related to the software engineering learning goals of ICS 314.

As AI continues to grow in the emerging AI age, we need to find more ways to aid our learning experiences and education in general through the use of AI tools. This can be done by expecting the use of AI by students, and to work with AI’s emergence instead of fighting against it. In addition to this, educators may need to start de-emphasizing specific areas that can be quickly automated through AI, and emphasize more things that AI will have a harder time attacking.

AI is super powerful and can really help in so many aspects of education, but trust me, it can be extremely limited. Actually trying to use AI to do many educational tasks has made me realize that there are still so many skills in the tech world that AI will have a hard time trying to tackle.