Computational Thinking
Computational Thinking
Computational thinking refers to the thought processes involved in formulating problems so their solutions
can be represented as computational steps and algorithms. In education, CT is a set of problem-solving
methods that involve expressing problems and their solutions in ways that a computer could also execute.
Computational thinking is an interrelated set of skills and practices for solving complex problems, a way
to learn topics in many disciplines, and a necessity for fully participating in a computational world.
Many different terms are used when talking about computing, computer science, computational thinking,
and programming. Computing encompasses the skills and practices in both computer science and
computational thinking.
• Computational thinking skills, in the outermost circle, are the cognitive processes necessary to
engage with computational tools to solve problems. These skills are the foundation to engage in any
computational problem solving and should be integrated into early learning opportunities in K -3.
• Computational thinking practices, in the middle circle, combine multiple computational skills to
solve an applied problem. Students in the older grades (4-12) may use these practices to develop artifacts
such as a computer program, data visualization, or computational model.
• Inclusive pedagogies, in the innermost circle, are strategies for engaging all learners in computing,
connecting applications to students’ interests and experiences, and providing opportunities to
acknowledge, and combat biases and stereotypes within the computing field.
Figure 2. A framework for computational thinking integration.
Pattern Recognition
Pattern recognition is a fundamental aspect of computational thinking and plays a crucial role in problem-
solving. It involves the ability to identify similarities and differences in the details of a problem, allowing
individuals to simplify complex problems by focusing on the underlying patterns.
The ability to recognize patterns is vital because it helps individuals break down a problem into smaller,
more manageable parts. By identifying similarities across different components of a problem, individuals
can apply a single solution to multiple instances, saving time and effort. Similarly, recognizing differences
between components helps individuals understand the unique aspects of each part and tailor specific
solutions accordingly.
Abstraction
Abstraction is a fundamental concept in computational thinking that involves extracting the most relevant
information from decomposed problems and generalizing it to solve the problem as a whole. It allows
individuals to focus on the essential aspects of a problem and disregard irrelevant details that may distract
from finding a solution.
In the context of pattern recognition, abstraction plays a crucial role in identifying relevant details and
disregarding extraneous information. For example, in an escape room, participants are often presented with a
series of clues, some of which are red herrings meant to mislead.
By practicing pattern generalization and abstraction, players can distinguish between relevant and irrelevant
details, allowing them to solve the puzzle more efficiently.
Algorithmic Thinking
Algorithmic Thinking is a fundamental concept within Computational Thinking that involves defining a
step-by-step solution to a problem that can be replicated for a predictable outcome, whether by humans or
computers. It is the process of breaking down a complex task into smaller, manageable steps and organizing
them in a logical sequence.
In Algorithmic Thinking, emphasis is placed on the design and structure of algorithms. An algorithm is a set
of instructions that helps solve a specific problem or accomplish a particular task. These instructions are
typically presented in a clear and unambiguous manner, allowing individuals or computers to follow them
precisely.