0% found this document useful (0 votes)
22 views

PRS161 - 5 - Computational Thinking

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

PRS161 - 5 - Computational Thinking

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 22

1

COMPUTATIONAL
BELGIUM CAMPUS – PROBLEM SOLVING

THINKING
Computational thinking is all about trying to think like a
computer. In this section we will investigate the types of thinking
required to be logical which will allow for solutions to become
structured and well-defined.

© BELGIUM CAMPUS 2022


© BELGIUM CAMPUS 2022
2

Revision
1. What is bias? Name 2 examples.

2. Explain the 4 types of analysis.

3. Provide a definition of critical thinking.

4. What is the difference between inductive and deductive reasoning?

5. Give an example of a superordinate and a hyponym.

6. Explain propositional and predicate logic and give an example of each.

7. What is empirical evidence?

© BELGIUM CAMPUS 2022


3

Defining
Computation
al Thinking
As with critical thinking, there are several
definitions for computational thinking. One
of the most popular definitions are from
Furber (2012):

“Computational thinking is the process of


recognizing aspects of computation in the
world that surrounds us and applying tools
and techniques from computer science to
understand and reason about both natural
and artificial systems and processes.”

© BELGIUM CAMPUS 2022


4

COMPUTATIONA
L THINKING
What parts of life would benefit from a more
computer-based approach? What aspects of
life would be easier if it was digitized?

© BELGIUM CAMPUS 2022


© BELGIUM CAMPUS 2022
5

COMPUTATIONA
L THINKING
How would you go about solving these problems?

You have a collection of all the words in a dictionary. A person trying to find a word
is very orderly and is always going to start searching word by word from the start of
each letter. How could you reorganize a dictionary to make it easier to find a word if
someone was methodically going word by word and speed was not an issue?
© BELGIUM CAMPUS 2022
© BELGIUM CAMPUS 2022
6

COMPUTATI
ONAL
THINKING
How would you go about solving these problems?

The number of students graduating is quite large and the


pipeline of students receiving their qualification needs to be
optimized. How can you organize the process to ensure it
goes as smoothly as possible?

© BELGIUM CAMPUS 2022


© BELGIUM CAMPUS 2022
7

COMPUTATI
ONAL
THINKING
How would you go about solving these problems?

You have ten coins. Nine of them weigh the same amount.
One is lighter. You have a balance scale that you can use to
weigh the coins. How would you find the lighter coin by
using the scale the fewest number of times?

© BELGIUM CAMPUS 2022


© BELGIUM CAMPUS 2022
8
LOGICAL PAT T E R N
DECOMPOSITION
Computatio THINKIN RECOGNITI
nal G
Logic allows us to
ON
Identify repetition and the Decomposition is
Thinking demonstrate what is true by applicability of a certain accomplished through
Skills applying certain rules to an solution to other scenarios. analysis. It is when we break
argument. Logical thinking down a complex problem
follows these logical into smaller, simpler parts.
principles.

ALGORITHMI
E VA L U AT I O N ABSTRACTION MODELLING
C THINKING
When we evaluate, we When we take anything from Taking an object, person, Algorithmic thinking builds
consider the effectiveness real life and create a simpler place, or concept and on logic and focuses on a
and efficiency of a solution. version in another format, creating a version that process or sequence of
we are using abstraction. ignores certain details, is instructions/steps to achieve
One format of abstraction is modelling. a certain goal.
known as modelling.

© BELGIUM CAMPUS 2022


9

Logical
thinking
We’ve covered logical thinking in detail. It
revolves around using facts and coming
to conclusions through reasoning.

If someone asked you to explain logic


through the use of an example, what
would you say?

EVALUATION ALGORITHMIC ABSTRACTION LOGICAL PATTERN MODELLING DECOMPOSITION


© BELGIUM CAMPUS 2022
THINKING THINKING RECOGNITION
10

Finding a
pattern

Through patterns we are able to spot


something that could possibly apply in
further situations. It’s a key aspect of
prediction and trend analysis.

Based on current trends, where do you


predict trends heading during the rest of
2022?

EVALUATION ALGORITHMIC ABSTRACTION LOGICAL PATTERN MODELLING DECOMPOSITION


© BELGIUM CAMPUS 2022
THINKING THINKING RECOGNITION
11

Decompositi
on
We’ve used several types of analysis to find
the various components. The concept is
much broader than it seems, however.

Consider baking a cake. What are the


components of baking a cake?

The recipe itself is also a component. We


can also consider the processes as
components e.g., mixing or kneading.

EVALUATION ALGORITHMIC ABSTRACTION LOGICAL PATTERN MODELLING DECOMPOSITION


© BELGIUM CAMPUS 2022
THINKING THINKING RECOGNITION
12

Evaluation
Is it effective? Does it actually solve the problem?

You analysed a problem, decomposed it,


and came up with a solution. You’re
finished right?
Is it efficient? Does it use resources reasonably?
Not really. We need to check whether we
have an optimal solution. How can we do
that? We need to check for 4 things.
Is it elegant? Is it simple but still works?
Consider a solution and evaluate it using
these 4 criteria. As an example, there are
several partial solutions for the pandemic
you can evaluate. What about electric cars
Is it usable? If someone else had to use your
as a solution? solution, would it be usable?

EVALUATION ALGORITHMIC ABSTRACTION LOGICAL PATTERN MODELLING DECOMPOSITION


© BELGIUM CAMPUS 2022
THINKING THINKING RECOGNITION
13

Abstractio
n
When we look at real life situations, it is
often complicated by many factors that are
often irrelevant to the actual problem.
When we create a version that removes or
hides these details, it is known as
abstraction. Do I need to know how a
combustion engine works to drive a car?

If you have a coffee machine and someone


asks you how it works, how would you
explain it?

EVALUA ALGORITHMIC ABSTRACTION LOGICAL PATTERN MODELLING DECOMPOSITION


© BELGIUM CAMPUS 2022
TION THINKING THINKING RECOGNITION
14

Modelling
When we perform abstraction on an object, process, person,
place, or concept, we are modelling it. Abstraction can be seen
as the superordinate method with modelling being a
hyponym. Modelling is exceptionally useful for problem-
solving since we can create versions on paper or digitally.

If someone is creating a blueprint of a house, they are creating


a model of a house. Models can be 3-dimensional, but even a
quick sketch on paper is also a model of some sort.

I want to create a model on paper for these. What kind of


information will I keep? Think in superordinate terms:
• A student
• A soccer player
• A phone
• What models can be found at a shop? Remember to think
in superordinate terms.

EVALUA ALGORITHMIC ABSTRAC LOGICAL PATTERN MODELLING DECOMPOSITION


© BELGIUM CAMPUS 2022
TION THINKING TION THINKING RECOGNITION
15

Algorithmi
c thinking
With algorithms we are looking at a stepwise
approach; a sequence of instructions. These need to
be delivered in a very specific manner to ensure
optimal efficiency and effectiveness. What would the
instructions for these be?

• Making coffee
• Replacing thermal paste on your CPU
• Passing your driver’s license
• Graduating summa cum laude
• Playing Twinkle Twinkle Little Star on a musical
instrument.

EVALUA ALGORITHMIC ABSTRAC LOGICAL PATTERN MODELLING DECOMPOSITION


© BELGIUM CAMPUS 2022
TION THINKING TION THINKING RECOGNITION
16

Algorithmi
c thinking
Writing instructions that are clear and
unambiguous can be challenging. There are a
few things we need to beware of:

INTUITION VS PRECISION
We must be careful to not make assumptions.
You might think something is obvious. Add
some salt. If a recipe required this, and you
were an experienced chef, you’d likely know
how much salt to add. But we need precision,
accuracy, and detail. How much salt is
“some” salt?

EVALUA ALGORITHMIC ABSTRAC LOGICAL PATTERN MODELLING DECOMPOSITION


© BELGIUM CAMPUS 2022
TION THINKING TION THINKING RECOGNITION
17

Algorithmi
c thinking
Writing instructions that are clear and
unambiguous can be challenging. There are a
few things we need to beware of:

AMBIGUITY VS DEFINITENESS
Each step in your algorithm must be precisely
defined. Each step should have one and only
one meaning. If I said, add some spices, that
would not be clearly defined since there are
many kinds of spice.

EVALUA ALGORITHMIC ABSTRAC LOGICAL PATTERN MODELLING DECOMPOSITION


© BELGIUM CAMPUS 2022
TION THINKING TION THINKING RECOGNITION
18

Algorithmi
c thinking
Writing instructions that are clear and
unambiguous can be challenging. There are a few
things we need to beware of:

RANDOM VS SEQUENTIAL
Each step needs to follow in a certain order. First
you add the flour and then you add the eggs. In
some cases, the order will matter and in other
cases it won’t. For example, mixing dry
ingredients vs putting something in the oven. The
dry ingredients can often be mixed in any order
but putting it in the oven needs to happen at a
certain stage of the baking process.

EVALUA ALGORITHMIC ABSTRAC LOGICAL PATTERN MODELLING DECOMPOSITION


© BELGIUM CAMPUS 2022
TION THINKING TION THINKING RECOGNITION
19

Algorithmi
c thinking
Writing instructions that are clear and unambiguous
can be challenging. There are a few things we need
to beware of:

CONDITIONS
At some points your algorithm could fork depending
on a certain decision or condition. For example, let’s
say I am making coffee. I would follow the standard
steps but before I add milk, I would need to check
something first. If the coffee is a cappuccino, I need
to steam and froth the milk. If it is an americano, I
should not add any milk.

EVALUA ALGORITHMIC ABSTRAC LOGICAL PATTERN MODELLING DECOMPOSITION


© BELGIUM CAMPUS 2022
TION THINKING TION THINKING RECOGNITION
20

Algorithmi
c thinking
Writing instructions that are clear and
unambiguous can be challenging. There are a few
things we need to beware of:

ITERATION
If you were making the same cup of coffee for 4
people, you would be repeating an entire set of
instructions. Iteration is repetition. When you are
repeating the same subset of instructions. If you
are adding sugar, that is also iteration (if you take
2 or more sugars).

EVALUA ALGORITHMIC ABSTRAC LOGICAL PATTERN MODELLING DECOMPOSITION


© BELGIUM CAMPUS 2022
TION THINKING TION THINKING RECOGNITION
21

Algorithmi
c thinking
How does Instagram decide what to show on your
explore page? How does Twitter know which ads
to show you? These are all algorithms. Let’s
practice algorithms.

Write an algorithm for each of these processes.


Beware of ambiguity. Keep each instruction as
short as possible. Say exactly what is needed. No
more and no less. Use iteration if necessary.

• A self-driving vehicle and collision detection


• Message encryption e.g., a Caesar cipher
• Playing blackjack

EVALUA ALGORITHMIC ABSTRAC LOGICAL PATTERN MODELLING DECOMPOSITION


© BELGIUM CAMPUS 2022
TION THINKING TION THINKING RECOGNITION
22

REFERENCES
Beecher, K., (2017). Computational Thinking : A Beginner’s Guide to Problem-solving and Programming. Swindon, UK: BCS, The
Chartered Institute for IT. Available at: https://search.ebscohost.com/login.aspx?
direct=true&db=nlebk&AN=1530763&site=ehost-live.

Furber, S. (2012). Shut Down or Restart? The Way Forward for Computing in UK Schools. London, UK: The Royal Society.

Guenaga, M., Eguíluz, A., Garaizar, P., & Gibaja, J. (2021). How do students develop computational thinking? Assessing early
programmers in a maze-based online game. Computer Science Education, 31(2), 259–289.
https://doi.org/10.1080/08993408.2021.1903248

Kale, U., & Yuan, J. (2021). Still a New Kid on the Block? Computational Thinking as Problem Solving in Code.org. Journal of
Educational Computing Research, 59(4), 620–644. https://doi.org/10.1177/0735633120972050

Metcalf, S. J. et al. (2021). Assessing computational thinking through the lenses of functionality and computational
fluency. Computer Science Education, 31(2), pp. 199–223. doi: 10.1080/08993408.2020.1866932.

Unless stated otherwise, all images sourced from www.unsplash.com and www.pexels.com.

© BELGIUM CAMPUS 2021


2022

You might also like