You are on page 1of 20

Computational Thinking

What is Computational Thinking?


What sorts of things come to mind when you hear the term
“Computational Thinking”?
What is Computational Thinking?
Computational Thinking sounds like something which only benefits
computers, but it’s actually a way of solving problems which can help
everyone.
What is Computational Thinking?
Computational Thinking solves problems by following the following
four steps:
1) Decomposition: break the problem down into smaller parts
2) Pattern Recognition: recognise any patterns between this problem
and other problems that have solutions
3) Abstraction: generalising the problem by ignoring uneccesary
information
4) Writing algorithms: Writing down the steps to solve a problem
What is Computational Thinking?
Once all of these steps have been taken, and we are left with an
algorithm, only then can we use programming to instruct a computer
to solve the problem.

We can represent algorithms as flowcharts.


Decomposition
Decomposition is breaking complex problems down into smaller
problems.
Decomposition Example
Lets say you’re a police officer, and while you’re working a robbery has
been committed.

You have to solve the crime: that is, you have to figure out the answer
to the question “Who committed the crime?”.

What are the smaller questions that you have to ask before you can
figure out who did it?
Decomposition Example
Lets say you’re a police officer, and while you’re working a robbery has
been committed.

You have to solve the crime: that is, you have to figure out the answer
to the question “Who committed the crime?”.

What are the smaller questions that you have to ask before you can
figure out who did it?
Decomposition Example
What are the smaller questions that you have to ask before you can
figure out who did it?
Pattern Recognition Example
3, 6, 9, 12, n, 18, 21

What is n?
Pattern Recognition
Patterns in this case aren’t just mathematical, but they can even be
behaviour patterns or language patterns.
Pattern Recognition
Once we’ve broken down the complex problem into smaller problems,
we can use pattern recognition to save us time. If we’ve already solved
a smaller problem before (as in, at some point in the past), we don’t
need to spend time solving it again!
Abstraction
Ok, so we’ve broken down a problem into smaller problems, and
realized we can already solve some of those problems.

For the rest of the problems, we’re going to figure out what important
details are for the problem we’re solving, and ignore the other
information.
Abstraction Example
An example of abstraction is railway maps. The problem for this is
“How can we tell people where stops on the train are.”
Compare the two images– which one has removed details that aren’t
important?
Abstraction Question
In what way do calendars ignore useless information? (Think about the
purpose of a calendar)
Algorithms
After breaking the problem down into smaller problems, and solving all
those problems, we can now write a plan to solve the problem.

These steps (very similar to a method in science) is called an algorithm!


Algorithms
We can show this by writing it in words, or through a diagram called a
flowchart.
Algorithms
These are the shapes used in flowcharts, and when we use them:
Computational Thinking
We’ll be using this process in the design and programming of your
robots for your assessment. As part of your assessment you will have to
be able to use each of these steps.

You might also like