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. Computational thinking 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 1980 and again in 1996. Computational thinking can be used toCharacteristics
The characteristics that define computational thinking are decomposition,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. 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 4 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 United States, 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
In K–12 education
Similar to Seymour Papert, Alan Perlis, and Marvin Minsky before, Jeannette Wing envisioned computational thinking becoming an essential part of every child's education. However, integrating computational thinking into the K–12 curriculum and computer science education has faced several challenges including the 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, computational thinking 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 the problem in new and different ways * Logically organizing and analyzing data * Breaking the problem down into smaller parts * Approaching the problem using programmatic thinking techniques such as iteration, symbolic representation, and logical operations * Reformulating the 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 computational thinking techniques in other subjects. Teachers in Science, Technology, Engineering, and Mathematics ( STEM) focused classrooms that include computational thinking, allow students to practice problem-solving skills such as trial and error. Valerie Barr and Chris Stephenson describe computational thinking patterns across disciplines in a 2011 ACM Inroads article However Conrad Wolfram has argued that computational thinking 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 inCriticism
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 computational thinking as a substitute for a broader computer science education, as computational thinking represents just one small part of the field. Others worry that the emphasis on computational thinking 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. A 2019 paper argues that the term "computational thinking" (CT) should be used mainly as a shorthand to convey the educational value of computer science, hence the need of teaching it in school. The strategic goal is to have computer science recognized in school as an autonomous scientific subject more than trying to identify "body of knowledge" or "assessment methods" for CT. Particularly important is to stress the fact that the scientific novelty associated with CT is the shift from the "problem solving" of mathematics to the "having problem solved" of computer science. Without the "effective agent", who automatically executes the instructions received to solve the problem, there would be no computer science, but just mathematics. Another criticism in the same paper is that focusing on "problem solving" is too narrow, since "solving a problem is just an instance of a situation where one wants to reach a specified goal". The paper therefore generalizes the original definitions by Cuny, Snyder, and Wing and Aho as follows: "Computational thinking is the thought processes involved in modeling a situation and specifying the ways an information-processing agent can effectively operate within it to reach an externally specified (set of) goal(s)." Many definitions of CT describe it only at skill level because the momentum behind its growth comes from its promise to boost STEM education. And, the latest movement in STEM education is based on suggestions (by learning theories) that we teach students experts' habits of mind. So, whether it is computational thinking, scientific thinking, or engineering thinking, the motivation is the same and the challenge is also the same: teaching experts' habits of mind to novices is inherently problematic because of the prerequisite content knowledge and practice skills needed to engage them in the same thinking processes as the experts. Only when we link the experts' habits of mind to fundamental cognitive processes can we then narrow their skill-sets down to more basic competencies that can be taught to novices. There have been only a few studies that actually address the cognitive essence of CT. Among those, Yasar (Communications of ACM, Vol. 61, No. 7, July 2018) describes CT as thinking that is generated/facilitated by a computational device, be it biological or electronic. Accordingly, everyone employs CT, not just computer scientists, and it can be improved via education and experience.Computational logic and human thinking
Computational logic is an approach to computing that includes both computational thinking and logical thinking. It is based on a view of computing as the application of general-purpose logical reasoning to domain-specific knowledge expressed in logical terms. Teaching materials for computational logic as a computer language for children were developed in the early 1980s. University level texts for non-computing students were developed in the early 2010s. More recently, a variety of new teaching materials have been developed to bridge the gap between STEM and non-STEM academic disciplines.Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M.V., Kowalski, R.A. and Rossi, F., 2023. Prolog: The Next 50 Years, volume 13900 of Lecture Notes in Computer Science.See also
* Computer-based math *References
Further reading
* * * * * * * {{DEFAULTSORT:Computational thinking Problem solving skills Computational fields of study Theories of deduction Cognition Computational science