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.
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. |
|
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. |
|
Abilities: Inherent or acquired traits that enable individuals to excel in their computing roles. Abilities can be related to cognitive, physical, or emotional capacities. |
|
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.
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.
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.
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 Press. ISBN 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