0% found this document useful (0 votes)
114 views23 pages

SPPP1042 Unit 4b Computational Thinking

Computational thinking is an important problem-solving skill that involves logically breaking down complex problems into simpler parts (decomposition), looking for patterns among problems, ignoring irrelevant details (abstraction), developing step-by-step solutions (algorithms), and applying these skills across various disciplines. The document provides examples of how computational thinking skills like decomposition, pattern recognition, and abstraction can be applied to problems like baking a cake or solving a crime. It emphasizes that computational thinking is a useful skill for all students, not just those studying computer science.

Uploaded by

Aziz Juhan
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
0% found this document useful (0 votes)
114 views23 pages

SPPP1042 Unit 4b Computational Thinking

Computational thinking is an important problem-solving skill that involves logically breaking down complex problems into simpler parts (decomposition), looking for patterns among problems, ignoring irrelevant details (abstraction), developing step-by-step solutions (algorithms), and applying these skills across various disciplines. The document provides examples of how computational thinking skills like decomposition, pattern recognition, and abstraction can be applied to problems like baking a cake or solving a crime. It emphasizes that computational thinking is a useful skill for all students, not just those studying computer science.

Uploaded by

Aziz Juhan
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
You are on page 1/ 23

SPPP 1042 Educational Technology :

Unit 4b : Computational Thinking


Computational thinking is a fundamental skill for everybody, not
just for computer scientists.
To reading, writing, and arithmetic, we
should add computational thinking to every child’s analytic ability.
—JEANNETTE WING*
Computational Thinking (CT)
Computational thinking skills Computational thinking allows us
are the set of mental skills that to take a complex problem,
convert “complex, messy,
partially defined, real world understand what the problem is
problems into a form that a and develop possible solutions. We
mindless computer can tackle can then present these solutions in
without further assistance from a way that a computer, a human,
a human.” (BCS, 2014) or both, can understand.
CT is essential to the development of
Computational thinking is a problem computer applications, but it can also
solving process that includes a number of be used to support problem solving
characteristics, such as logically ordering across all disciplines, including math,
and analyzing data and creating solutions science, and the humanities. Students
using a series of ordered steps (or who learn CT across the curriculum
algorithms), and dispositions, such as the can begin to see a relationship
ability to confidently deal with complexity between subjects as well as between
and open-ended problems. school and life outside of the
classroom.
Why CT?

Computational thinking is often mistakenly equated


with using computer technology

CT is essential to the development of computer


applications, but it can also be used to support
problem solving across all disciplines, including
math, science, and the humanities. Students who
learn CT across the curriculum can begin to see a
relationship between subjects as well as between
school and life outside of the classroom.
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, automation is the ultimate step in computational
thinking that can be implemented through computing
tools.)
Definition by ISTE and Computer Science Teacher
Association
• CT is a problem-solving process that includes (but not limited to) the
following characteristics :
– Formulating problems in a way that enables us to use a computer and
other tools to help solve them
– Logically organizing and analysing data
– Representing data through abstractions such as models and
simulations
– Automating solutions through algorithmic thinking (a series of ordered
steps)
– Identifying, analysing, and implementing possible solutions with the
goal of achieving the most efficient and effective combinations of
steps and resources
– Generalizing and transfeeing this problem solving process to a widw
variety of problems
Common Problem Solving Process
• Define the problem
• Analyse the problem
• Determine criteria for optimal solution
• Propose solutions
• Evaluate propose solution
• Select a solution
• Suggest the strategies to implement the solution
Source
BBC Bitesize
Key Techniques to Computational Thinking

Decomposition
• breaking down a complex problem or system into smaller parts
that are more manageable and easier to understand.

Pattern recognition
• looking for similarities among and within problems that can
helps us to solve more complex problems more efficiently

Abstraction
• focusing on the important information only, ignoring irrelevant
detail involves filtering out the characteristics that we don't
need in order to concentrate on those that we do.

Algorithms
• developing a step-by-step solution to the problem, or the rules
to follow to solve the problem
Decomposition in practice
We do many tasks on a daily basis without even thinking about – or
decomposing – them.
Example 2: Solving a crime
Example 1: Brushing our teeth Solving a crime can be a very complex
To decompose the problem of problem as there are many things to
how to brush our teeth, we consider.
would need to consider: a police officer would need to know the
• which toothbrush to use answer to a series of smaller problems:
• how long to brush for • what crime was committed
• when the crime was committed
• how hard to press on our • where the crime was committed
teeth • what evidence there is
• what toothpaste to use • if there were any witnesses
• if there have recently been any similar
crimes
The complex problem of the committed
crime has now been broken down into
simpler problems that can be examined
individually, in detail.
Pattern Recognition

To find patterns in
problems we look for Patterns exist among different
things that are the same problems and within individual
(or very similar) in each problems.
problem. It may turn out
that no common
characteristics exist
among problems, but we
should still look.
What are patterns?
• Imagine that we want to draw a series of cats.
• All cats share common characteristics.
• Among other things they all have eyes, tails and fur.
They also like to eat fish and make meowing sounds.
• Because we know that all cats have eyes, tails and fur,
we can make a good attempt at drawing a cat, simply
by including these common characteristics.
• Once we know how to describe one cat we can describe
others, simply by following this pattern. The only things
that are different are the specifics:
– one cat may have green eyes, a long tail and black fur
– another cat may have yellow eyes, a short tail and
striped fur
Patterns among different problems
• For example, decomposing the task of baking a cake would highlight the
need for us to know the solutions to a series of smaller problems:
– what kind of cake we want to bake
– what ingredients we need and how much of each
– how many people we want to bake the cake for
– how long we need to bake the cake for
– when we need to add each ingredient
– what equipment we need
• Once we know how to bake one particular type of cake, we can see that
baking another type of cake is not that different - because patterns exist.
• For example:
– each cake will need a precise quantity of specific ingredients
– ingredients will get added at a specific time
– each cake will bake for a specific period of time
• Once we have the patterns identified, we can work on common
solutions between the problems.
Patterns within problems
• Patterns may also exist within the smaller problems we
have decomposed to.
• If we look at baking a cake, we can find patterns within
the smaller problems, too. For example, for ‘each cake
will need a precise quantity of specific ingredients’,
each ingredient needs:
– identifying (naming)
– a specific measurement
• Once we know how to identify each ingredient and its
amount, we can apply that pattern to all ingredients.
Again, all that changes is the specifics.
Abstraction
Why is abstraction important?
• Abstraction allows us to create a general idea of what the
problem is and how to solve it. The process instructs us to
remove all specific detail, and any patterns that will not
help us solve our problem. This helps us form our idea of
the problem. This idea is known as a ‘model’.
• If we don’t abstract we may end up with the wrong solution
to the problem we are trying to solve. With our cat
example, if we didn’t abstract we might think that all cats
have long tails and short fur. Having abstracted, we know
that although cats have tails and fur, not all tails are long
and not all fur is short. In this case, abstraction has helped
us to form a clearer model of a cat.
Abstraction
When baking a cake, there are some general characteristics
between cakes. For example:
• a cake needs ingredients
• each ingredient needs a specified quantity
• a cake needs timings
When abstracting, we remove specific details and keep the
general relevant patterns.

General patterns Specific details


We need to know that a cake We don't need to know what
has ingredients those ingredients are
We need to know that each
We don’t need to know what
ingredient has a specified
that quantity is
quantity
We need to know that each
We don't need to know how
cake needs a specified time
long the time is
to bake
Abstraction

Abstraction helps students learn to strip away


complexity in order to reduce an artefact to its essence
and still be able to know what the artefact is.
Algorithm

• Algorithms underlie the most basic tasks everyone engages in,


from following a simple cooking recipe to providing
complicated driving directions.
• it is important to introduce students to algorithms by first
using examples from their daily lives. For example, in early
grades, teachers could highlight the steps involved in brushing
teeth, while in later grades, students could engage in
following steps during a lab experiment
Algorithm
• Representing an algorithm: Flowcharts
• A flowchart is a diagram that represents a set of instructions.
Flowcharts normally use standard symbols to represent the
different instructions. There are few real rules about the level
of detail needed in a flowchart. Sometimes flowcharts are
broken down into many steps to provide a lot of detail about
exactly what is happening. Sometimes they are simplified so
that a number of steps occur in just one step.
• Key techniques in CT are….
Source
BBC Bitesize
Thank you

http://games.thinkingmyself.com/

https://www.curriki.org/oer/Introduction-to-Computational-Thinking-101728/?mrid=10114
• Abstraction a creation of a more generalised
model of the complex problem being solved

You might also like