Introduction

In our second joint editorial (Li et al. 2019a), we focused on design and design thinking in science, technology, engineering and mathematics (STEM) education, and discussed design thinking as an example of models of thinking that are important to each and every student. Contrary to a common perception that design and design thinking belong to certain subjects but not others, we highlighted the need and significance of changing the subject fixation perception to elevate the conception of design thinking as transdisciplinary and not belonging to the field of engineering only. Based on our proposed notion of “everyone designs and can design” (Li et al. 2019a), we further discussed how existing research supports this notion with evidence of mutual benefits between design and STEM education.

In this editorial we make another extension of our previous discussion about the conception of thinking as plural proposed in our first joint editorial (Li et al. 2019b), with a focus on computational thinking (CT). Specifically, we take the position of viewing CT, as another example of models of thinking, which is important for every student to develop and apply in the twenty-first century. As there have been quite many studies and discussions about CT over the past decade (e.g., Denning 2009, 2017; diSessa 2018; Grover and Pea 2013; Wing 2006, 2014), we aim to build on existing research to provide a theoretical account of CT in this editorial and leave the discussion about educational programs and practices to develop students’ CT as the topic for our next editorial.

In the following sections, we start by discussing motivation for conceptualizing CT and then propose a definition of CT that is applicable to STEM education and beyond. To clarify our definition, we further provide an overview of three primary approaches to describing CT in the literature, arguing that this body of literature has conceptualized CT as a stance toward programming competence and skill acquisitions, a cognitive process, and a particular type of literacy. We discuss how our definition connects with each of these three approaches. We conclude by describing how CT is distinct from other models of thinking like design thinking. We also highlight the implications of this definition for STEM education and future CT research.

Motivation for Conceptualizing CT Applicable to STEM Education and beyond

Wing’s succinct article (2006) about CT has raised significant interest in professional and education communities (e.g., CSTA & ISTE 2011; Grover and Pea 2013). Wing argued that CT “represents a universally applicable attitude and skill set everyone, not just computer scientists, would be eager to learn and use” (Wing 2006, p. 33). This proposition reflects a rapidly growing interest in knowing, learning, and using computation in a broad array of professional activities in diverse fields such as physics, biology, and finance. Indeed, a recent report Charting a Course for Success: America’s Strategy for STEM Education, released by the White House (December 2018), highlights that building computational literacy is one of the four pathways to succeed in STEM education, with one of three objectives under this pathway being “make computational thinking an integral element of all education” (Committee on STEM Education 2018, p. 23).

While the importance of CT has been commonly recognized, the meaning of the concept is contested. For example, Wing came to the concept from deeply inside the culture and technicalities of professional computer science. Someone outside that community might be prone to narrowly construe the idea of CT to direct connections with “number computation” or “computer.” The following are example interpretations.

Viewing CT as Related to Computation Skill Development in School Mathematics

Computation is a familiar idea to most, especially to parents and students in elementary school. Students are required to learn to compute with numbers (e.g., CCSSI 2010; NRC 2002). Such skill is commonly acknowledged as important not only in people’s daily life, but also in preparation for, and in the conduct of, many professions, including science, engineering, insurance, and finance - wherever numbers are relevant. Computation is typically taken to be a basic skill, and parents and the public would be upset if children don’t gain such basic skills through school education (e.g., Kakaes 2012; Kline 1973).

Computation was loosely connected to thinking until mathematics educators started to emphasize the importance of students making sense of what they do when they engage in computation (e.g., Brownell 1945; Li and Schoenfeld 2019). For example, students might simply memorize the subtraction algorithm and know how to compute, say, 45–21, as “subtracting a small digit from a larger digit,” getting the correct answer, 24. But, without the needed understanding of place value and base-10 number composition and decomposition, then, a student might well carry out the computation 41–25 but get the same answer of 24. Here, we highlight the words of “making sense” and “understanding,” as they require thinking beyond rote computation. Helping students to develop such deeper understanding has long been advocated and emphasized (e.g., CCSSI 2010; NCTM 1989), and also practiced in school mathematics such as the use of “number talks” (e.g., Parrish 2011).

Thus, in combining “computation” and “thinking” in this restricted sense, CT won’t be strange to mathematicians, mathematics educators, and teachers at all. CT would be then emphasizing the importance of thinking and understanding in and for doing computation. The notion of CT might well be readily accepted for its importance to every student in learning mathematics. And yet, mathematics educators already have other terms that convey similar meaning, such as “number sense” (e.g., Sowder 1992) and “symbol sense” (Arcavi 1994). But, then, why should this new term have any particular importance beyond other, older ones? Why should the importance of CT be advocated by computer scientists as important to everyone, when computation in mathematics is commonly taken as a basic skill?Footnote 1

Viewing CT as Specifically for Computer Scientists or Merely Learning how to Use a Computer

Widespread association with computers or programming can easily lead people to perceive CT as specifically for computer science professionals. It would therefore be difficult for many to understand why CT is important to everyone. Certainly programming—at least in the way it is perceived from the work of professional programmers—is considered difficult and esoteric. Developing software for a computer’s internal operations would then be important to professionals in computer science, but out of reach to many others. In the same way, abstraction and modeling with the use of CT in many professional fields beyond computer science would be seen as unimportant and of marginal concern for most people. For more details, see the discussion of “vocationalism” in the CT movement in diSessa (2018).

In terms of making the concept of CT more accessible and relevant to those who are outside of computer science, it should also be noted that CT is not simply about learning how to use computers or software (i.e., “computer literacy”). By analogy, just learning to drive a car does not mean that one develops “mechanical thinking.”

A Proposed Definition of CT

An adequate understanding of the notion of CT is clearly needed if CT is to be seen as important to everyone and worthy of being taught and learned in widespread educational contexts. Wing (2006) asserted that CT “involves solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science.” (p. 33). The description provides a broad scope for CT’s relevance. Wing (2006) further highlighted its importance with different manifestations of CT and its uses in many other fields, such as statistics, biology, physics, and economics.

At the same time, what makes CT special in Wing’s description is the implication of “… drawing on the concepts fundamental to computer science.” Wing (2008) further specified two essences of CT: abstraction and automation. The specifications strengthened the linkages of CT with core and general competences involved in computing and computer science.

Emphasizing “computing” or “programming” in CT, we then can conclude that CT has not been highlighted in traditional school education, as course requirements in computer science or programming are minimal or completely lacking. Wing (2006) should be credited with a notion of CT that is future-oriented and important to everyone. Through highlighting direct associations between CT and “concepts fundamental to computer science,” Wing contributed substantially to the on-going movement of computer science education for all in the United States (e.g., PITAC, 2005; White House 2017).

However, challenges remain for many teachers and education researchers who struggle to understand the meaning of CT, its assessment, and usefulness for everyone (Denning 2017). The accessibility and usefulness of the notion might well be undermined for many by the expectation of training in computer science as a pre-condition. In fact, though, computer science itself is no longer viewed as the study of phenomena surrounding computers, but, instead, it is the study of computational information processing, both natural and artificial (Denning 2005, 2007). At the same time, human thinking can also be characterized as specific models of information processing when performing various tasks (e.g., Anderson et al. 2004; Simon 1979). The connections between computing and human thinking in information processing suggest the possibility of taking the notion of CT to a more generalizable level.

Specifically, we want to view CT as a model of thinking that is more about thinking than computing. As computing is the study of natural and artificial information processing (Denning 2007), CT is about searching for ways of processing information that are always incrementally improvable in their efficiency, correctness, and elegance. The entailed improvement can call for the use of various strategies (including abstraction and modeling), practice, skill acquisition and improvement. Here, information can take different formats, at different levels of abstraction, and thus appears as various representations that can be customized and used in different disciplines for problem solving, modeling, and system building. Just as everyone designs and can design, we believe that everyone processes information, and helping them to do that well is our job as teachers.

Although programming and coding can be part of CT, CT should not be restricted in computer science but is prevalent in diverse professional fields and in daily-life events. For example, computational modeling has been used to summarize and analyze data (as code in CT) in different ways to help predict on-going trends in the coronavirus crisis, in multiple countries. A vignette of such an analysis by Andrea diSessa is included as supplementary material (see Computational Literacy in the Time of COVID-19). The lack of accurate data or CT would prevent people from effectively monitoring and managing the crisis development to save lives. Without specific attention to the improvement of information processing efficiency and elegance, we may lose opportunities to nurture students’ CT and develop skills that prepare them to grapple with global crises. It is imperative that school curricula and instruction integrate CT in students’ subject content learning, not just in computer science and mathematics but also in other STEM disciplines and beyond.

To further clarify our position, we take a brief review of different approaches in describing CT and discuss how our perspective is associated with these approaches.

Approaches to CT in the Literature

In the following sub-sections, we examine three different approaches that have had tremendous influence on the development of CT in research and educational practice.

Discipline-Based Approaches

The discipline-based approaches in describing CT have a long history associated with the development of computer science and computation itself in general. Denning (2017) indicated that George Pólya’s work on mathematical problem solving (e.g., Pólya 1945) that provided general heuristics for solving a wide range of problems, as discussed in our first joint editorial (Li et al. 2019b), can be viewed as a precursor to CT. diSessa (2018) also identified many similarities between Pólya’s work and Wing’s writings about CT (Wing 2006, 2014). Although computation was in existence long before the creation of computers, the development of computation has experienced tremendous changes over the years associated with the invention and use of computers. Denning (2007) summarized the revolution in three main stages: (1) computation as a tool for performing simple and well-structured tasks, such as solving equations and running simulations, together with the creation and use of the first electronic digital computers in the 1940s; (2) computation used not only as a tool but also a method for discovering new knowledge beginning in the 1980s; and (3) computation and information processing found in the deep structures of many different fields beginning in the 2000s, such as biology, physics, and business management. Abstraction and modeling are essential to computation and computing as they develop and use in many different fields.

Related to the development of computation, computational science, and computer science, the notion of CT has also evolved from “algorithmic thinking” in the 1950s and 1960s (a mental orientation toward looking for algorithms that can help convert some input to an output in problem solving), a way of doing science that develops and uses computational models (associated with the development of “computational science”, distinct from computer science, beginning in the 1980s), and as one of several key practices for every computer scientist whereas computation itself as existing in nature is viewed as more fundamental than CT (Denning 2009).

The discipline-based approaches in describing CT as discussed above suggest that CT can be characterized as a way of thinking and doing —a method— or as a key practice, which needs to be developed through programming practices. What is consistent among discipline-based approaches is the emphasis on one’s capability of designing a correct solution with efficiency and elegance, in computational steps, that might reply on years’ experiences and programming capability. As a computer scientist well known for his work on programming language and algorithms, Aho (2011) indicated that “Mathematical abstractions called models of computation are at the heart of computation and computational thinking. Computation is a process that is defined in terms of an underlying model of computation and computational thinking is the thought processes involved in formulating problems so their solutions can be represented as computational steps and algorithms.” (p. 7) Aho’s characterization of CT is consistent with what Wing (2008, 2014) emphasized as a key of CT: abstraction.

The historical development of the notions of computation and CT led Denning (2017) to argue that CT, as proposed by Wing (2006), represents a new version that is not the same as the traditional version developed through the history. The basic difference is that the traditional CT would be developed through programming practices in the profession, and the new version of CT would rely on concept learning to produce programming ability. Thus, the usefulness of the new CT to everybody is unclear and remains to be empirically studied (Denning 2017).

At the same time, the historic development of computation and CT also suggest that CT should not be taken simply as equivalent to computer science. The notion of CT has been used so widely in many different fields including mathematics and science both in the past and present. The position we propose to view CT is consistent with discipline-based approaches, in the sense that we emphasize the need and importance of performance improvement in efficiency, correctness, and elegance. In the computing field, performance can then be manifested as formulating and solving problems as computational steps and algorithms, and improvement can be made through developing and testing different computational steps and algorithms.

Psychology-Based Approaches

Although some scholars also characterized CT as a thought process in discipline-based approaches albeit from a computing perspective (e.g., Aho 2011), the emphasis placed on thinking rather than computing represents a shift of focus in the conception.

The study of thinking has had its own long history, as we discussed in our first joint editorial (Li et al. 2019b), which has evolved from philosophical discussion to psychological studies in and across disciplinary domains.

One particular approach that revolutionized the study of problem solving in the 1950s and 1960s was to conceptualize information processing in the human mind and use the computer to simulate human problem solving performance (e.g., Newell and Simon 1972). The approach was powerful as it built empirically from psychological studies about various components of human cognition and then tested them through software development and simulations. Examples include the Elementary Perceiver and Memorizer (EPAM, Feigenbaum and Simon 1984), and adaptive control of thought-rational (ACT-R, Anderson et al. 2004; Anderson and Lebiere 1998). At the same time, the approach was restricted in the sense that it did not really conceptualize CT at all, but used computation as a tool to help with research about human cognition. As discussed in the previous editorial (Li et al. 2019b), Simon expanded the information processing model of “problem solving man” from Human Problem Solving (Newell and Simon 1972) to the notion of “thinking man” in the book Models of Thought (Simon 1979). Simon used “thinking man” as a prototype to conceptualize human thinking as information processing in and through various component elements that can and should be merged into a coherent whole (Simon 1979).

At that time, there was very little emphasis on the idea that information processes and computation actually exist in nature. His book The Sciences of the Artificial (Simon 1969) contributed to building a foundation for the development of artificial intelligence,Footnote 2 including models of how the mind works. Now we can learn also from biology research; information processes and computation exist in nature as information encoding and generation in and through DNA, with its distinct computational methods (see Denning 2007). Thus, it is better to surpass Simon’s notion of conceptualizing human thinking as information processes and computation. What makes CT, as proposed in our position, distinct from general human thinking then resides in the dedication to performance improvement in efficiency, correctness, and elegance, as discussed above.

Education-Oriented Approaches

Many scholars have discussed the ambiguity associated with CT and tried to clarify its meaning (e.g., diSessa 2018; Grover and Pea 2013; Hu 2011). For example, Hu (2011) reviewed and discussed many different perceptions that people held about CT, including CT as related to the tension between empirical and theoretical investigations; as an ability to see, comprehend and devise systems and processes; as an aid to do mathematics computationally; or as a set of problem-solving skills and techniques for software engineers in programming. Taking it positively, people view CT as relevant to many different professional activities, especially in different fields of STEM. At the same time, these diverse perceptions suggest the importance of clarifying the meaning of CT as is appropriate and needed for education.

There are three main approaches in describing CT that aim to facilitate educational practice.

  1. (1)

    One approach in education is to follow a description developed from discipline-based approaches as discussed above. For example, Grover and Pea (2013) reviewed relevant development in K-12 education associated with CT, from procedural thinking development through LOGO programming in the 1980s (Papert 1980) to recent movement of several professional societies and organizations aimed to develop students’ CT such as, the Association for Computing Machinery (ACM), Computer Science Teachers Association (CSTA), and Google. Instead of discussing possible clarifications that may be needed, Grover and Pea focused on how others might have interpreted Wing’s description of CT. The review provided a nice summary of on-going efforts from professional organizations and studies that aim to develop CT through programming and computer science in K-12 education. Grover and Pea also highlighted and discussed that tremendous efforts are needed in developing programs and research further in a broad range of topic areas including curriculum, instruction, assessment, and teacher education.

  2. (2)

    Another approach is to propose and discuss possible expansion of CT beyond computer science. For example, a recent report Charting a Course for Success: America’s Strategy for STEM Education, released by the White House in December 2018, included CT, digital literacy, and computational literacy when laying out the vision for the United States to success in STEM education (Committee on STEM Education 2018). With the increasing use and importance of digital devices and the internet, the committee envisioned the importance of “digital literacy” as a basic level of understanding and “computational literacy” as a higher level of skill for all students to benefit from what technology development can bring for tomorrow’s job opportunities. Building computational literacy was taken as one of the four pathways to success in STEM education, with “make computational thinking an integral element of all education” listed as one of three objectives under this pathway. Although possible relationships among computational literacy, CT, and digital literacy were not explained in the report, computational literacy was seemingly taken as having a broader scope than CT. The meaning of CT was explained first in the report with the definition from Wing (2014), and then expanded as including some broadly valuable thinking skills beyond computer science: evaluating information, breaking down a problem, and developing a solution through the use of data and logic. In fact, this expanded description shares many similarities with George Pólya’s work on problem solving. With this expansion, the report further indicated the importance of developing students’ CT as an integral part of all education with or without the use of a computer.

  3. (3)

    There is one other approach that aims to highlight the importance of computation for students’ learning beyond programming. diSessa (2000) advocated the notion of computational literacy before Wing’s promotion of computational thinking, and also took a principled approach in emphasizing both “cognitive” and “social” aspects rather just focusing on programming and the computer environment.

    Different from the popular use of literacy that many may perceive as “a casual acquaintance with …,” diSessa (2018) defined literacy as a massive intellectual accomplishment of a culture together with a grand “re-mediation,” shifting and expanding the fundamental forms of representation in society to include computation as universally known and used. Similar to the way algebra and calculus transformed the study of physics from a philosophical inquiry to a rigorous, precise empirical pursuit (diSessa 2000), computation not only supports many different fields (not just computer science) but can also change the very intellectual landscape of fields in what they do and how they develop. diSessa (2018) thus viewed computational literacy as important to every student, but not in the same way as Wing (2006). In his view, computation is not the special province of computer scientists, and everyone does not need to think like a computer scientist. Instead, computation is a fundamental resource for all of society, and it will develop earmarks that distinguish it in the way it is useful in each discipline and also in the larger, public society.

What diSessa (2000, 2018) advocated as computational literacy for everyone shares much with our position about CT in terms of the universal importance of computation and the emphasis on cognition.Footnote 3 At the same time, they differ not only in their approaches to formulating definitions for these two connected and complementary concepts, but in the patterns of appropriation of CT or computational literacy in the broader society. As such these different-but-related concepts also suggest different strategies for anyone anxious to get the most from computation in education and in the intellectual performance of society broadly.Footnote 4

Differentiating CT from Other Models of Thinking

At the beginning, we indicated that we take the position of viewing CT, as another example of models of thinking, as being important for every student to develop and have in the twenty-first century. After discussing what we mean by CT, we need to explain further how CT may differ from other models of thinking. So far, we only discussed design thinking as another model of thinking in our second joint editorial (Li et al. 2019a). Thus, we would like to share some of our thinking behind identifying and defining specific models of thinking.

There are several principles that have guided our thinking: trans-disciplinary, purpose, and function. Taking CT as an example, if perceiving what makes CT special is the indication of “… by drawing on the concepts fundamental to computer science” (Wing 2006), people can wonder whether CT is pertinent only to computer science professionals or whether replacing the phrase of “computer science” with “physics”, “life science”, or “earth science”, we can have “physical thinking”, “life (science) thinking”, or “earth (science) thinking” when solving problems. If CT is important to everyone, should physical thinking, life (science) thinking, and earth (science) thinking be all important to everyone especially when we all live and stay on this planet? The discipline-based thinking can be important but often carry limitations. Thus, CT, as a model of thinking in STEM education and beyond, needs to be conceptualized as truly trans-disciplinary and important to everyone.

Across different models of thinking in our perspective (see Li et al. 2019b), their differentiations can be made in terms of the purpose and function. For example, while design thinking focuses on designing and making things like everyone does and not just in engineering design, CT focuses on the performance improvement in efficiency and elegance. At the same time, these models of thinking can and should work together in various problem solving activities either individually or collaboratively in groups. Different forms of representations and abstractions can also be taken and used in different fields of study when these models of thinking may function for specific aspects of cognition in activities.

Coda

It becomes clear and important to us, in school education, to take an alternate perspective on CT and not restrict it to an association with programming or computer science professionals. While the practice of, and capability for, programming are certainly important for developing CT for computer science professionals, it is more important to realize that computation is an integral part of many other fields beyond computer science. The notion of CT should not be restricted definitively to computer science or programming, thus avoiding a subject fixation about CT. CT needs to be re-conceptualized, as we did in this editorial, to ensure it is relevant, important, and accessible to everyone. The development of CT can then be truly integrated into all education for everyone to succeed in STEM education (Committee on STEM Education 2018).

It is also important to point out that the reconceptualization of CT, as a model of thinking, makes its integration in all education a possibility. Great challenges remain to develop educational programs and practices to make the integration happen and to conduct research for further scholarship development (e.g. Honey et al. 2014). There is a rapidly growing number of programs and studies that focused on how CT can be developed through programming and computer science in K-12 education (e.g., Barth-Cohen et al. 2018; Bienkowski et al. 2015; Grover and Pea 2013), in and through STEM education with mutual benefits for students’ subject content learning (e.g., Dauer et al. 2019; Sengupta et al. 2013; Yadav et al. 2018). In our next editorial, we will further discuss educational programs and studies to develop students’ CT, conceptualized in different approaches. At the same time, we would like to take this opportunity to let everyone know that this journal encourages submission of related research on CT, its development in and through STEM education, through different theoretical lens and/or with the use of different research methodologies. It is a frontier topic in STEM education that calls for the development of new and robust scholarship (Li 2018).