The Impact of AI on Computer Science Education
Esther Shein
DOI: https://doi.org/10.1145/3673428
IF: 22.7
2024-08-27
Communications of the ACM
Abstract:Last fall, Eric Klopfer decided to conduct an experiment in his undergraduate computer science class at the Massachusetts Institute of Technology (MIT). He divided the class into three groups and gave them a programming task to solve in the Fortran language, which none of them knew. One group was allowed to use ChatGPT to solve the problem, the second group was told to use Meta's Code Llama large language model (LLM), and the third group could only use Google. The group that used ChatGPT, predictably, solved the problem quickest, while it took the second group longer to solve it. It took the group using Google even longer, because they had to break the task down into components. Then, the students were tested on how they solved the problem from memory, and the tables turned. The ChatGPT group "remembered nothing, and they all failed," recalled Klopfer, a professor and director of the MIT Scheller Teacher Education Program and The Education Arcade. Meanwhile, half of the Code Llama group passed the test. The group that used Google? Every student passed. "This is an important educational lesson," said Klopfer. "Working hard and struggling is actually an important way of learning. When you're given an answer, you're not struggling and you're not learning. And when you get more of a complex problem, it's tedious to go back to the beginning of a large language model and troubleshoot it and integrate it." In contrast, breaking the problem into components allows you to use an LLM to work on small aspects, as opposed to trying to use the model for an entire project, he says. "These skills, of how to break down the problem, are critical to learn." This example has led Klopfer to confidently conclude that as AI steamrolls its way into every industry, computer science is not doomed. Other computer science experts agree that the more AI is used, the nature of jobs will change so humans must still be taught basic concepts like statistics and knowledge of how systems work. "You still need the foundation to be effective computer scientists and software engineers," said Beena Ammanath, leader of trustworthy AI and ethical technology at Deloitte. Despite all the hand-wringing about AI taking jobs, a recent study by MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL) found that it might take longer to automate human jobs than previously thought. Only about 23% of wages linked to vision-related tasks could be cost-effectively replaced by AI, according to the study, indicating that the displacement of jobs due to AI, especially in computer vision, is likely to occur more slowly than initially envisioned. The findings "suggest that we should expect the effects of AI automation to be smaller than the existing job automation/destruction effects already seen in the economy," the study says. "Whether adding AI automation of these existing effects will substantially increase overall job destruction is unclear." While there is likely to be some jobs lost, "we also find it likely that a substantial fraction of the AI task automation will happen in areas where traditional automation is occurring," the CSAIL study observed. How computer science education will change to approach AI The continued focus on incorporating AI into most job sectors also will change how computer science will be taught, presenting opportunities that are "quite tremendous," according to Risto Miikkulainen, a professor of computer science at the University of Texas at Austin, and associate vice president of evolutionary intelligence at Cognizant AI Labs. With the advent of tools like Microsoft's Copilot chatbot, for example, some might wonder why they should bother learning to code. Miikkulainen believes students are using Copilot and other chatbots mainly "as a tutor for programming assignments" to make suggested changes. "All of a sudden, teaching programming becomes much more alive" as a result, Miikkulainen says. Reid Gordon Simmons, a research professor at the Robotics Institute at Carnegie Mellon University, adds that in the same way compilers translate a programming language's source code into machine code, removing the need for computer science engineers to understand assemblers, "use of AI and ML will make it less and less necessary for them to understand the details of coding." However, it is still important to teach people how to code, simply because part of becoming a computer scientist is about understanding processes, Simmons said. "My analogy is teaching seven-year-olds arithmetic. By the time you get to middle school, no one does arithmetic by hand; you use calculators." Even if calculators can do the work for you, you still need to understand the concepts, he said. "Similarly, co -Abstract Truncated-
computer science, theory & methods, software engineering, hardware & architecture