Computational thinking (CT) refers to the thought processes involved in formulating problems so their solutions can be represented as computational steps and algorithms. In education, computational thinking is a set of problem-solving methods that involve expressing problems and their solutions in ways a computer could also execute. It involves automation of processes, but also using computing to explore, analyze, and understand processes (natural and artificial).

History

The history of computational thinking as a concept dates back at least to the 1950s, but most ideas are much older.Denning, P.J. and Tedre, M. Computational Thinking. The MIT Press, 2019. CT involves ideas like abstraction, data representation, and logically organizing data, which are also prevalent in other kinds of thinking, such as scientific thinking, engineering thinking, systems thinking, design thinking, model-based thinking, and the like. Neither the idea nor the term are recent: Preceded by terms like algorithmizing, procedural thinking, algorithmic thinking, and computational literacy by computing pioneers like Alan Perlis and Donald Knuth, the term computational thinking was first used by Seymour Papert in 1980Papert, Seymour. Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc., 1980. and again in 1996. Computational thinking can be used to algorithmically solve complicated problems of scale, and is often used to realize large improvements in efficiency.Computational thinking:

Center for Computational thinking at Carnegie Mellon cmu.edu8 Exploring Computational Thinking, Google.com How to Teach Computational Thinking by Stephen Wolfram, Stephen Wolfram Blog, 7 September 2016. , TED talk 15 November 2010 What is Computational Thinking? CS4FN at CS4FN The Sacramento Regional CPATH Team has created a Think CT website with information on CT developed by this NSF-funded project. A short introduction to Computational Thinking by the Open University

The phrase computational thinking was brought to the forefront of the computer science education community in 2006, as a result of a Communications of the ACM essay on the subject by Jeannette Wing. The essay suggests that thinking computationally is a fundamental skill for everyone, not just computer scientists, and argues for the importance of integrating computational ideas into other subjects in schools. The essay also states that by learning computational thinking, children will do better in many everyday tasks; as examples, the essay gives packing one's backpack, finding one's lost mittens, and in adulthood, knowing when to stop renting and buy instead. The continuum of computational thinking questions in education ranges from K–9 computing for children to professional and continuing education, where the challenge is how to communicate deep principles, maxims, and ways of thinking between experts.

For the first 10 years, computational thinking was a United States-centered movement, and that early focus is still seen in the field's research. The field's most cited articles and most cited people were active in the early US CT wave, and the field's most active researcher networks are US-based. Dominated by US and European researchers, it is unclear to what extent the field's predominantly Western body of research literature can cater to the needs of students in other cultural groups. An ongoing effort to globalize effective thinking skills in everyday life is emerging in the Prolog community, whose Prolog Education Committee, sponsored by the Association for Logic Programming, has the mission of "making Computational and Logical Thinking through Prolog and its successors a core subject in educational curricula and beyond, worldwide".

Characteristics

The characteristics that define computational thinking are decomposition, pattern recognition/data representation, generalization/abstraction, and algorithms. By decomposing a problem, identifying the variables involved using data representation, and creating algorithms, a generic solution can be found. The generic solution is a generalization or abstraction that can be used to solve a multitude of variations of the initial problem.

Another characterization of computational thinking is the "three As" iterative process based on three stages: Abstraction: Problem formulation; Automation: Solution expression; Analysis: Solution execution and evaluation.

Connection to the "four Cs"

The four Cs of 21st-century learning are communication, critical thinking, collaboration, and creativity. The fifth C could be computational thinking which entails the capability to resolve problems algorithmically and logically. It includes tools that produce models and visualize data. Learning scientist Shuchi Grover describes how computational thinking is applicable across subjects beyond science, technology, engineering, and mathematics (STEM) which include the social sciences and language arts.

Since its inception, the four Cs have gradually gained acceptance as important elements of many school syllabi. This development triggered modifications in platforms and directions such as inquiry, project-based, and more profound learning across all K–12 levels. Many countries have introduced computational thinking to all students: The United Kingdom has had CT in its national curriculum since 2012. Singapore calls CT "national capability". Other nations like Australia, China, Korea, and New Zealand have embarked on massive efforts to introduce computational thinking in schools. In the US, President Barack Obama created the "Computer Science for All" program to empower a new generation of students in America with the proper computer science proficiency required to flourish in a digital economy. Computational thinking means thinking or solving problems like computer scientists. CT refers to thought processes required in understanding problems and formulating solutions. CT involves logic, assessment, patterns, automation, and generalization. Career readiness can be integrated into academic environments in multiple ways.

The "algoRithms" part of CT has also been referred to as the "fourth R", where the others are Reading, wRiting, and aRithmetic.

Computational education

Computational archaeology Computational architecture Computational art Computational biology Computational chemistry Computational complexity theory Computational creativity Computational data science Computational design Computational economics Computational electromagnetics Computational engineering Computational epigenetics Computational finance Computational fluid dynamics Computational forensics Computational genomics Computational geometry Computational geophysics Computational healthcare Computational imaging Computational intelligence Computational law Computational learning theory

Computational linguistics Computational logic Computational manufacturing Computational materials science Computational mathematics Computational mechanics Computational medicine Computational molecular dynamics Computational musicology Computational neuroscience Computational number theory Computational particle physics Computational pathology Computational photography Computational physics Computational psychiatry Computational science Computational scientist Computational simulations Computational sociology Computational statistics Computational sustainability Computational thermodynamics Computational toxicology Computational writing

In K–12 education

Similar to scientists Seymour Papert, Alan Perlis, and Marvin Minsky before, Jeannette Wing envisioned computational thinking becoming an essential part of every child's education. However, integrating CT into the K–12 curriculum and computer science education has faced several challenges, including agreement on the definition of computational thinking, how to assess children's development in it, and how to distinguish it from other similar "thinking" like systems thinking, design thinking, and engineering thinking. Currently, CT is broadly defined as a set of cognitive skills and problem-solving processes that include (but are not limited to) the following characteristics (but there are arguments that few, if any, of them belong to computing specifically, instead of being principles in many fields of science and engineering):

Using abstractions and pattern recognition to represent a problem in new and different ways Organizing and analyzing data logically Breaking a problem down into smaller parts Approaching a problem using programmatic thinking techniques such as iteration, symbolic representation, and logical operations Reformulating a problem into a series of ordered steps (algorithmic thinking) Identifying, analyzing, and implementing possible solutions with the goal of achieving the most efficient and effective combination of steps and resources Generalizing this problem-solving process to a wide variety of problems

Current integration of computational thinking into the K–12 curriculum comes in two forms: in computer science classes directly or through the use and measure of CT techniques in other subjects. Teachers in Science, Technology, Engineering, and Mathematics (STEM)-focused classrooms that include CT allow students to practice problem-solving skills such as trial and error. Valerie Barr and Chris Stephenson describe CT patterns across disciplines in a 2011 ACM Inroads article. However, Conrad Wolfram has argued that CT should be taught as a distinct subject.

There are online institutions that provide a curriculum, and other related resources, to build and strengthen pre-college students with computational thinking, analysis, and problem-solving.

Center for Computational Thinking

Carnegie Mellon University in Pittsburgh has a Center for Computational Thinking. The Center's major activity is conducting PROBEs or PROBlem-oriented Explorations. These PROBEs are experiments that apply novel computing concepts to problems to show the value of CT. A PROBE experiment is generally a collaboration between a computer scientist and an expert in the field to be studied. The experiment typically runs for a year. In general, a PROBE will seek to find a solution for a broadly applicable problem and avoid narrowly focused issues. Some examples of PROBE experiments are optimal kidney transplant logistics and how to create drugs that do not breed drug-resistant viruses.

Similarly, Duke University in Durham, North Carolina, has a Center for Computational Thinking (CCT), and the Illinois Institute of Technology (Illinois Tech) in Chicago has an Active Computational Thinking (ACT) Center.

Criticism

The concept of computational thinking has been criticized as too vague, as it's rarely made clear how it is different from other forms of thought. The inclination among computer scientists to force computational solutions upon other fields has been called "computational chauvinism". Some computer scientists worry about the promotion of CT as a substitute for a broader computer science education, as CT represents just one small part of the field. Others worry that the emphasis on CT encourages computer scientists to think too narrowly about the problems they can solve, thus avoiding the social, ethical, and environmental implications of the technology they create. In addition, as nearly all CT research is done in the US and Europe, it is not certain how well those educational ideas work in other cultural contexts.