acm-header
Sign In

Communications of the ACM

BLOG@CACM

ChatGPT (and Other Generative AI Applications) as a Disruptive Technology for Computer Science Education: Obsolescence or Reinvention


View as: Print Mobile App Share:

A disruptive technology is an innovation that significantly changes the way consumers, industries, or businesses operate (Bower and Christensen, 1995; Christensen, 1997). More precisely, a disruptive technology is not in itself disruptive; rather, its application in a new business model is. A notable example of a disruptive technology are smartphones, which disrupt mainly the camera markets, but not only.

In this blog, we propose that generative AI in general, and specifically large language model (LLM)-based conversational agents (e.g., ChatGPT), may indeed turn out to be disruptive technologies for computer science education. At the same time, we argue that generative AI can also be conceived of as an opportunity for computer science education. Accordingly, we propose that the computer science education community should (at the least) embrace generative AI conversational agents and reinvent itself in terms of teaching methods and learning material; otherwise, it may become obsolete.

Why is generative AI a disruptive technology for computer science education?

To answer this question we use the KSA model of competency, which consists of three key components that contribute to a person's effectiveness in a particular profession – knowledge, skills, and abilities. Table 1 illustrates these three components for the case of an introductory computer science course.

We note that some items that appear in the right-hand column of Table 1 could have been categorized differently, depending on the interpretation of their definition. For example, are computational thinking and program comprehension considered skills or abilities? Regardless of where they are placed in Table 1, however, the message we wish to convey is that they are computer science capabilities that encompass more than just knowledge of some computer science concepts, principles, or theories.

Table 1. The KSA model for the case of an introductory computer science course 

Components

Illustrative proficiencies for the case of introductory computer science courses

Knowledge: Theoretical understanding and factual information that individuals possess that are related to their profession. This includes formal education and an understanding of relevant principles, concepts, and theories.

  • Understanding fundamental computer science concepts such as algorithms, data structures, and computational complexity.
  • Proficiency in the logic of a programming language.
  • Developing processes using an IDE.

Skills: Practical capabilities that enable individuals to perform specific tasks or activities related to their profession. These are often developed through practice, training, and hands-on experience.

  • Programming skills: Ability to write efficient and reliable code to solve computational problems.
  • Computational thinking
  • Testing and debugging skills: Proficiency in testing software and debugging code to identify and fix issues.
  • Program comprehension
  • Attention to detail: Ability to pay close attention to the specifics of a problem or code to ensure accuracy and quality.

Abilities: Inherent or acquired traits that enable individuals to excel in their computing roles. Abilities can be related to cognitive, physical, or emotional capacities.

  • Logical reasoning
  • Creativity
  • Critical Thinking
  • Problem-solving skills: Capability to analyze and break down complex problems and design effective solutions.
  • Effective communication skills: Ability to convey technical concepts to both technical and non-technical audiences.
  • Teamwork

To the best of our knowledge, the majority of introductory computer science courses currently offered emphasize primarily the acquisition of knowledge and skills through traditional teaching methods. We propose that if such courses continue to prioritize these components of the KSA model and to adhere to conventional teaching approaches, they risk becoming obsolete. This assertion is based on the understanding that students can acquire these KSA model components with the assistance of generative AI tools and so teaching methods should evolve to align with these new learning processes.

While this claim is relatively clear when applied to the knowledge component of the model, we will now explain it for the skills component. The skills component of the KSA model can be supported by generative AI, for example, by asking ChatGPT to give feedback on a computer program a student wrote prior to its submission, as is explained and illustrated in what follows.

To get a sense of the wide spectrum of options that ChatGPT offers, we asked ChatGPT the following question: "If I give you a computer program a student wrote, can you assess it?". The answer we received was: "As an AI language model, I can analyze and review computer programs to some extent. If you provide me with the code, I can help identify potential syntax errors, provide explanations for certain code segments, and suggest improvements for code readability and best practices." When we further asked ChatGPT, "What kind of feedback will you give the student?", it listed, among others, syntax errors, code structure and readability, logic errors, algorithm efficiency, and documentation. Such feedback is clearly much more detailed than the traditional feedback students receive from their teachers. We can therefore require students to keep improving their code prior to its submission based on ChatGPT's feedback. We encourage the readership to try such a conversation with ChatGPT.   

For example, we asked ChatGPT to check the correctness of a code, written in C, that implements a circular right shift of an array (see Fig. 1). We note that the code is slightly buggy, and its complexity can be improved.  Figure 2 presents ChatGPT's answer.

Not only did ChatGPT find the bug immediately and explain the algorithmic error, it also suggested a correct code, accompanying it with a clear explanation (see Fig. 3). In fact, ChatGPT demonstrates here the knowledge and skills components of computer science.

After ChatGPT presented the corrected code, it wrote an additional paragraph regarding the code's complexity and suggested trying another solution to reduce the time complexity (see Fig. 4).

This simple conversation with ChatGPT in English is a natural and very easy way to comprehend, test, debug, and write reliable code, all of which are required basic computer science skills. In other words, it is no longer appropriate to teach these skills in introductory computer science courses set in traditional learning environments with traditional teaching methods. Nevertheless, as we explain in what follows, we are still required to teach important computer science abilities.

How can computer science education embrace generative AI and reinvent itself?

The above example illustrates that generative AI tools can support the learning of the knowledge and skills components of the KSA model, traditionally taught in introductory computer science courses. Accordingly, we propose that by incorporating generative AI-based tools into such courses, computer science educators can shift the focus of introductory computer science courses to teaching the abilities of the computer science profession – those higher cognitive and social capabilities that are unique capabilities required of professional computer scientists. For example, in the example presented above, students are required to apply an arsenal of abilities, such as logical reasoning and critical thinking. Such abilities, we argue, cannot currently be included in introductory computer science courses, mainly, but not only, due to time limitations and the need to focus on knowledge and skills.

As it turns out, teaching abilities is different than teaching knowledge and skills and is best done by applying learner-centered teaching methods, such as personalized learning and problem-based learning, which naturally implement constructivist learning environments (Steffe and Gale, 1995). We suggest that this shift in the focus of computer science education from knowledge and skills to abilities opens up an opportunity for computer science education that can, in turn, elevate the processes of teaching and learning computer science concepts as well as problem-solving heuristics and processes that are part of the core of the discipline and reflect what computer science professionalism actually means.  

Conclusion

The above analysis of the impact of generative AI on computer science education as a disruptive technology reflects but one perspective of the future development of computer science education; it is reasonable to assume that other perspectives exist as well. This perspective, we propose, implies two optional directions for the future of computer science education, as presented in Fig. 5.

  • The left-hand side of Fig. 5 describes the case in which computer science education keeps focusing on knowledge and skills and does not update its teaching methods. In this case, we predict that introductory computer science courses (at the least) will become irrelevant and obsolete.
  • The right-hand side of Fig. 5 describes the case in which generative AI-based tools are embraced by computer science education, and computer science abilities are incorporated into computer science education and become an integral part of the curriculum, while implementing contemporary teaching methods. In this case, we predict that generative AI will turn out to be an opportunity for computer science education to reinvent itself.

 

References

Bower, J. L., and Christensen, C. M.  (1995). Disruptive technologies: Catching the wave. Harvard Business Review, January-February issue, pp. 43-53.

Christensen, C. M. (1997). The innovator's dilemma: When new technologies cause great firms to fail. Boston, Massachusetts, USA:  Harvard Business School PressISBN 978-0-87584-585-2.

Steffe, L. P. and Gale, J. (1995). Constructivism in Education, Routledge.

 

Orit Hazzan is a professor at the Technion's Department of Education in Science and Technology. Her research focuses on computer science, software engineering, and data science education. For additional details, see https://orithazzan.net.technion.ac.il/. Yael Erez is a lecturer at the Technion's Faculty of Computer Science and a staff member at the Department of Electrical Engineering at the Braude College of Engineering in Karmiel. She is currently a doctoral student at the Technion's Department of Education in Science and Technology, under the supervision of Orit Hazzan.


 

No entries found

Sign In for Full Access
» Forgot Password? » Create an ACM Web Account