Cardiff University
Home Introductory Guide Scientist Reflection

Definition

Computer thinking is the process of thinking about and solving complex problems, designing systems, and understanding human behaviour by applying the basic concepts and methods of computer science(Wing 2006), the essence of which is the creation of "logical artifacts" that externalise and reintegrate human ideas into a form that can be run on a computer. The essence of the process is to create "logical artifacts" that externalise and reintegrate human ideas into forms that can be run on a computer(Kong&Abelson 2019).
Define computational thinking as characterised by decomposition, pattern recognition/data representation, generalisation/abstraction and algorithms. Generic solutions are produced by decomposing the problem, using data representations to identify the variables involved, and creating algorithms. A generic solution is a generalisation or abstraction that can be used to solve multiple variants of the initial problem.

The process of solving problems using computer thinking involves the following:

1. asking questions in a way that can be helped by using computers and other tools to solve the problem
2. integrating and analysing data logically
3. presenting the data in abstract ways, such as simulations or models
4. automate problem solving through a logical series of algorithmic thinking
5. identifying, analysing and implementing the most likely solutions to achieve the most efficient integration of resources and steps
6. apply this problem-solving process to a variety of other problems.

"Triple A" computational thinking

The "Triple A" computational thinking process describes computational thinking as a set of three steps: abstraction, automation, and analysis.
Another feature of computational thinking is the "Triple A" iterative process, which is based on three stages:
Abstraction: problem formulation;
Automation: solution expression;
Analysis: solution execution and evaluation.

Importance of computational thinking

For study
*Helps to improve problem-solving skills. Developing solutions by abstracting and decomposing problems helps improve problem-solving skills.
*Helps to improve logical thinking, developing logical thinking and reasoning skills;
*Computational thinking encourages innovative thinking by constantly searching for new solutions to problems;
*Computational thinking helps to improve data sensitivity and data analysis skills.