Computational thinking


In education, computational thinking designing computations that get computers to do jobs for us, and 2) explaining and interpreting the world as a complex of information processes. Those ideas range from basic CT for beginners to advanced CT for experts.

History

The history of computational thinking dates back at least to the 1950s but most ideas are much older. 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 to algorithmically solve complicated problems of scale, and is often used to realize large improvements in efficiency.
The phrase computational thinking was brought to the forefront of the computer science education community in 2006 as a result of an ACM Communications essay on the subject by Jeannette Wing. The essay suggested that thinking computationally was a fundamental skill for everyone, not just computer scientists, and argued for the importance of integrating computational ideas into other subjects in school. 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.

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 results. 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:
  1. Abstraction: Problem formulation;
  2. Automation: Solution expression;
  3. Analyses: 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 visualise data. Computational thinking is applicable across subjects beyond science, technology, engineering, and mathematics which include the social sciences and language arts. Students can engage in activities where they identify patterns in grammar as well as sentence structure and use models for studying relationships.
Since its inception, the 4 Cs have gradually gained acceptance as vital elements of many school syllabi. This development triggered a modification in platforms and directions such as inquiry, project-based, and more profound learning across all K-12 levels. Many countries have introduced computer thinking to all students. The United Kingdom has CT in its national curriculum since 2012. Singapore calls CT as "national capability". Other nations like Australia, China, Korea, and New Zealand embarked on massive efforts to introduce computational thinking in schools. In the United States, President Barack Obama created this program, Computer Science for All to empower this 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 generalisation. Career readiness can be integrated into learning and teaching environments in multiple ways.

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 the following characteristics
Current integration 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 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.

Center for Computational Thinking

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 computational thinking. 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.

Computational thinking resources

There are a handful of on-line institutions which provide curriculum, and other related resources to build and strengthen pre-college students with computational thinking, analysis and problem-solving. One prominent one is the Carnegie Mellon Robotics Academy. It offers training sessions for both pre-college students, as well as teachers. CMU's programs exercise instructional scaffolding methods via engineering process. There is also another online site named legoengineering.com. offering similar resources.
As far as a physical facility, in Central New Jersey, there is a small institution, named Storming Robots, offering technology programs to Grade 4 to 12 with an emphasis on algorithmic and computational thinking via robotics projects throughout the school year. Students may follow its road map starting from Grade 4 until they graduate to college.
Designed to increase the use of computational thinking, computationalthinking.org was launched to provide problem-solving resources to various sectors in an effort to increase the use of computational thinking. The resources include ready-made courses and materials for professionals, colleges, schools, and students. The services also include advising policymakers and governments on education reform and curriculum development.
A comprehensive college textbook From Computing To Computational Thinking by Dr. Paul S. Wang can help define and illustrate
computational thinking and teach its application in other disciplines as well as in daily life. The book's associated website offers teaching, learning and hands-on resources.

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. That inclination among computer scientist 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.
A recent paper argues that the term "Computational Thinking" 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 to 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 of 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 it 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 goal.”