100% found this document useful (2 votes)
72 views3 pages

Understanding Computational Thinking

Computational thinking allows us to break down complex problems into smaller, more manageable parts through decomposition. We can then recognize patterns to understand how similar problems have been solved in the past and focus only on relevant details through abstraction. Finally, we develop step-by-step algorithms to solve each part and present the solutions in a way that humans and computers can understand. There are four key techniques or "cornerstones" to computational thinking: decomposition, pattern recognition, abstraction, and algorithms. Mastering these techniques helps in both programming computers and solving complex everyday problems.

Uploaded by

Monica Lama
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
72 views3 pages

Understanding Computational Thinking

Computational thinking allows us to break down complex problems into smaller, more manageable parts through decomposition. We can then recognize patterns to understand how similar problems have been solved in the past and focus only on relevant details through abstraction. Finally, we develop step-by-step algorithms to solve each part and present the solutions in a way that humans and computers can understand. There are four key techniques or "cornerstones" to computational thinking: decomposition, pattern recognition, abstraction, and algorithms. Mastering these techniques helps in both programming computers and solving complex everyday problems.

Uploaded by

Monica Lama
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

What is computational thinking?

Computers can be used to help us solve problems. However, before a problem can be tackled, the problem
itself and the ways in which it could be solved need to be understood.

Computational thinking allows us to do this.

Computational thinking allows us to take a complex problem, understand what the problem is and develop
possible solutions. We can then present these solutions in a way that a computer, a human, or both, can
understand.

The four cornerstones of computational thinking


There are four key techniques (cornerstones) to computational thinking:

• decomposition - breaking down a complex problem or system into smaller, more manageable parts

• pattern recognition – looking for similarities among and within problems

• abstraction – focusing on the important information only, ignoring irrelevant detail

• algorithms - developing a step-by-step solution to the problem, or the rules to follow to solve the
problem
Each cornerstone is as important as the others. They are like legs on a table - if one leg is missing, the table
will probably collapse. Correctly applying all four techniques will help when programming a computer.

Computational thinking in practice


A complex problem is one that, at first glance, we don't know how to solve easily.

Computational thinking involves taking that complex problem and breaking it down into a series of small,
more manageable problems (decomposition). Each of these smaller problems can then be looked at
individually, considering how similar problems have been solved previously (pattern recognition) and focusing
only on the important details, while ignoring irrelevant information (abstraction). Next, simple steps or rules
to solve each of the smaller problems can be designed (algorithms).
Finally, these simple steps or rules are used to program a computer to help solve the complex problem in the
best way.

Thinking computationally
Thinking computationally is not programming. It is not even thinking like a computer, as computers do not,
and cannot, think.

Simply put, programming tells a computer what to do and how to do it. Computational thinking enables you
to work out exactly what to tell the computer to do.

For example, if you agree to meet your friends somewhere you have never been before, you would probably
plan your route before you step out of your house. You might consider the routes available and which route
is ‘best’ - this might be the route that is the shortest, the quickest, or the one which goes past your favourite
shop on the way. You'd then follow the step-by-step directions to get there. In this case, the planning part is
like computational thinking, and following the directions is like programming.

Being able to turn a complex problem into one we can easily understand is a skill that is extremely useful. In
fact, it's a skill you already have and probably use every day.

For example, it might be that you need to decide what to do with your group of friends. If all of you like
different things, you would need to decide:

• what you could do

• where you could go

• who wants to do what

• what you have previously done that has been a success in the past

• how much money you have and the cost of any of the options

• what the weather might be doing

• how much time you have

From this information, you and your friends could decide more easily where to go and what to do – in order
to keep most of your friends happy. You could also use a computer to help you to collect and analyse the data
to devise the best solution to the problem, both now and if it arose again in the future, if you wished.

Another example might occur when playing a videogame. Depending on the game, in order to complete a
level you would need to know:

• what items you need to collect, how you can collect them, and how long you have in which to collect
them
• where the exit is and the best route to reach it in the quickest time possible

• what kinds of enemies there are and their weak points

From these details you can work out a strategy for completing the level in the most efficient way.

If you were to create your own computer game, these are exactly the types of questions you would need to
think about and answer before you were able to program your game.
Both of the above are examples of where computational thinking has been used to solve a complex problem:

• each complex problem was broken down into several small decisions and steps (eg where to go, how
to complete the level – decomposition)
• only the relevant details were focused on (eg weather, location of exit – abstraction)
• knowledge of previous similar problems was used (pattern recognition...

• ...to work out a step by step plan of action (algorithms)

Glossary
1. abstraction
The process of separating and filtering out ideas and specific details that are not
needed in order to concentrate on those that are needed.
2. algorithm
A sequence of logical instructions for carrying out a task. In computing,
algorithms are needed to design computer programs.
3. decomposition
The breaking down of a system into smaller parts that are easier to understand,
program and maintain.
4. pattern recognition
Finding similarities and patterns in order to solve complex problems more
efficiently.
5. program
Sequences of instructions for a computer.
6. programming
The process of writing computer software.

Common questions

Powered by AI

Focusing solely on relevant details through abstraction is vital during pattern recognition because it filters out non-essential information that could obscure underlying patterns. By highlighting critical aspects, one can efficiently identify consistent elements and behaviors within similarly structured problems. This enhances the ability to predict and implement effective solutions, as unnecessary complexity can often lead to inefficiencies or errors in problem-solving. Abstraction thus ensures that pattern recognition is applied in a targeted and impactful manner, facilitating more precise and situatable problem resolutions .

Abstraction is critical in computational thinking because it simplifies complex problems by focusing only on relevant details and removing extraneous information. This simplification makes it easier to analyze the core aspects of a problem, leading to more efficient and streamlined solutions. By concentrating on what is necessary, one can avoid the noise created by irrelevant details, thus saving time and resources during problem-solving .

A lack of algorithmic thinking can significantly hinder problem-solving capabilities, as it involves developing step-by-step solutions necessary for both automated and manual processes. Without it, individuals may struggle to construct clear, logical plans or sequences of actions required to achieve specific goals, leading to inefficient problem-solving or failure to solve problems entirely. In computing, this absence could result in software that is unorganized or ineffective. In daily life, it could lead to difficulty in executing tasks such as planning routes or scheduling, where clear sequential actions are needed .

In developing a new computer game, computational thinking plays a fundamental role by shaping the understanding and planning phases before programming starts. It guides developers through decomposing the game's requirements into smaller, manageable tasks such as designing game mechanics, crafting storylines, and user interactions. Pattern recognition helps leverage insights from successful elements of existing games. Abstraction ensures focus is maintained on crucial elements, like user experience, without getting lost in unnecessary details. Finally, algorithm development translates these plans into a structured programming phase, ensuring coherent and efficient game logic .

Pattern recognition within computational thinking allows us to identify similarities and successful strategies from past scenarios that can be applied to current problems. For instance, when planning a social event, one can look back at previous gatherings to recognize which activities were enjoyed, how logistical issues were solved, or which venues worked well. This historical insight helps streamline decision-making and can enhance the likelihood of the event's success by building on proven patterns .

Decomposition assists in problem-solving by breaking a complex problem into smaller, more digestible parts that are easier to understand and manage. This separation helps identify which components require individual attention and which interconnections influence overall dynamics. By addressing each element individually, one can devise targeted solutions for each part, which collectively contribute to resolving the overall problem. This method is particularly useful in identifying foundational issues without being overwhelmed by the complexity of the whole problem at once .

The four cornerstones of computational thinking are decomposition, pattern recognition, abstraction, and algorithms. Decomposition involves breaking a complex problem into smaller, more manageable parts. Pattern recognition focuses on identifying similarities among problems to reuse past solutions. Abstraction filters out unnecessary details to focus on important information. Algorithms involve creating a step-by-step solution to the problem. Applying all these techniques is crucial because they collectively enable one to fully understand the problem, devise an effective solution, and potentially implement it via computers. If one cornerstone is missing, it might compromise the problem-solving process, much like missing a leg would destabilize a table .

Computational thinking and programming serve different roles in problem-solving. Computational thinking involves understanding the problem and developing possible solutions using techniques like decomposition and abstraction, focused on what needs to be solved. Programming, on the other hand, is the act of translating these solutions into a language a computer can execute, focusing on how the solutions are implemented. The former is about planning and understanding, while the latter is about execution .

Computational thinking enhances personal decision-making by employing techniques such as decomposition, pattern recognition, abstraction, and algorithmic planning to manage situations with multiple variables and constraints. By decomposing a decision into smaller parts, one can focus on simpler questions like resource availability and constraints. Pattern recognition can apply past experiences to current scenarios, providing tested strategies. Abstraction allows attention to essential factors like time and budget constraints, while algorithmic thinking assists in formulating clear decision pathways. Collectively, these methods streamline the decision process, increasing efficiency and effectiveness .

Videogame playing exemplifies computational thinking as it requires players to use skills like decomposition, pattern recognition, abstraction, and algorithmic thinking. For instance, players must decompose tasks such as collecting items and defeating enemies into smaller, manageable steps. They recognize patterns in the game mechanics or enemy behaviors to devise effective strategies. Abstraction helps focus on relevant elements, such as identifying essential items or optimum paths. Finally, players create algorithms by planning the sequence of actions needed to achieve objectives, like completing levels in the most efficient manner .

You might also like