0% found this document useful (0 votes)
3 views156 pages

Lecture 14 18

This document outlines problem-solving methods, focusing on puzzles and messy problems. It introduces Pólya's strategies for solving puzzles and Checkland's Soft Systems Methodology (SSM) for addressing complex issues with multiple stakeholders. The lecture emphasizes understanding problems, structuring them, and using specific techniques like CATWOE to formulate root definitions for effective resolution.

Uploaded by

Khau Motsage
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)
3 views156 pages

Lecture 14 18

This document outlines problem-solving methods, focusing on puzzles and messy problems. It introduces Pólya's strategies for solving puzzles and Checkland's Soft Systems Methodology (SSM) for addressing complex issues with multiple stakeholders. The lecture emphasizes understanding problems, structuring them, and using specific techniques like CATWOE to formulate root definitions for effective resolution.

Uploaded by

Khau Motsage
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/ 156

Lecture 14:

Problem Solving Methods: Solving


Puzzles
INF 113
Dr Lizette Weilbach & Prof Machdel Matthee

Source:
Chapter 6: Problem Identification and Problem Solving, in:
Gammack, J, Hobbs, V and Pigott, D. 2011. The Book of
Informatics. Melbourne: Cengage Learning.
Learning
outcomes
• At the end of this lecture, you
should be able to:
• Understand a variety of strategies to
solve ‘puzzle’ type of problems
• Apply these strategies
Revisiting the classification
of problems

Ackoff classified problems according to


increasing complexity:
• Puzzles : well-defined problems with a specific solution
that one can get 100% right. Examples: Sudoku, logic
problems.
• Problems : It is also clear what the problem is, but there
are many possible solutions, depending on… Example: the
route to a destination (depending on travel time, or
distance, or travel cost).
• Messes : Complex issues where there is not even
agreement on what the problem is. Example: the migrant
situation in Europe.
Dealing with PUZZLES

• Example: A high school maths problem


• There may be multiple ways to solve it, but there
is only one correct answer.
• Puzzles may be very difficult to solve. The
difficulty is at an analytical or cognitive level.
• The Hungarian mathematician Pólya devised a set of
strategies for solving puzzle type problems
• He wanted students to stop detesting
mathematics, and instead to “taste the pleasure”
in mathematics
Plóya’s
general
method
Plóya’s general
method
Step 1: Understand the
problem
• Read the problem carefully
(often, people give the right
answer to the wrong problem,
because they have not read the
question properly)
• Make sure you understand
what is meant
• Identify the body of
knowledge/rules that are
applicable
Plóya’s general
method
Step 2: Devise a plan

1. Decide on a any approach


that employs a practical
method that is not
guaranteed to be optimal,
perfect, or rational, but is
nevertheless sufficient for
reaching an immediate,
short-term goal.
Plóya’s general
method
Step 3: Solve the problem
-implement a method.
Possible methods:
1. Logical reasoning
2. Pattern recognition
3. Working backwards
4. Adopting a different point of
view
5. Considering extreme cases
6. Solving a simpler version
7. Organising the data
8. Drawing/visual presentation
9. Considering all possibilities
10. Informed guessing
Plóya’s general
method
Step 3: Solve the problem
-implement a method
1. Logical reasoning:
• Logical reasoning is always part of
analytical problem solving
• However, sometimes logical
reasoning by its own is enough and
can save significant calculation effort.
Example: Find all pairs of prime
numbers whose sum is 741.
• Hint: Consider the following: if
the sum of two numbers is odd,
then one of the numbers must
be odd and the other must be
even. How many even prime
numbers are there?
Plóya’s general
method
Step 3: Solve the problem
-implement a method
2. Pattern recognition:
• Mathematics is often about finding
patterns!
• Finding patterns is important for
police to solve crimes, and for
doctors to diagnose patients. It is an
important general skill.
• Example: What are the next two
numbers in the sequence:
1, 2, 3, 6, 11, 20, 37, _, _,
Plóya’s general
method
Step 3: Solve the problem
-implement a method
3. Working backwards:
• Important general skill
• What time do I have to leave home if I
have to catch the 9am flight from OR
Tambo to Cape Town?
• Police reconstructing the sequence of
events leading to an accident or a crime
• Example:
David has finished playing four games of
football cards. He now has 45 cards. He lost
one half of his cards in the first game. In the
second game, he won 12 times what he had at
that time. In the third game he won 9 cards.
The fourth game was a tie so no cards changed
hands. How many cards did he start with?
Plóya’s general
method
Step 3: Solve the problem
-implement a method
4. Adopting a different point of
view:
• A good strategy when you feel you are stuck,
or when your method for calculating the
answer is very cumbersome.
• Example: A school must organize a hockey
tournament for 9 competing teams. A team
that loses a game is immediately eliminated.
How many games need to be played in order
to get a winner?
There are multiple ways to set up the teams
against each other, each time arriving at the same
answer…You can save on the calculations by
thinking about how many teams need to be
eliminated in order to arrive at a winner.
Plóya’s general
method
Step 3: Solve the problem
-implement a method
5. Considering extreme cases:
• Another useful real-life strategy. We
often think: “What is the worst that can
happen?” in a decision situation.
• People testing products (or information
systems) need to test them for extreme
situations of use.
• Example: In a rainstorm, is it better to
run or walk? What will make me less
wet?
• Consider the extreme case of
walking extremely slowly (or
basically standing still).
Plóya’s general
method
Step 3: Solve the problem
-implement a method
6. Solving a simpler version:
• Simplify the problem to a version that is
less overwhelming.
• Gain insight by looking at one or more
simpler equivalent versions
• Example: there are 10 people in a room.
Each one must shake hands once with
every other person. How many
handshakes need to happen?
• Hint: How many handshakes if
there were 2 people in the room?
3 people? 4 people?
Plóya’s general
method
Step 3: Solve the problem
-implement a method
7. Organising the data:
• Another important strategy in life.
• How do you organize your shopping list?
According to category, location in the
shop, or necessity (until the money runs
out)?
• Examples:
• What is the median of the following numbers:
13, 45, 12, 47, 8, 18, 13, 27, 98
• What is the sum of: 1 + 2 + 3 + 4 + 5 + 6 + 7 +
8+9?

• In each case, our task is simplified by


just re-arranging the numbers.
Plóya’s general
method
Step 3: Solve the problem
-implement a method
8. Drawing/visual presentation:
• Many people are visual thinkers or
learners
• Sometimes a problem has a spatial
aspect, and we can see the answer just
by drawing it.
• Drawing also helps in cases where there
is a sequence or pattern to be
identified.
• Example: Vusi spends half of his pocket
money on computer games, he uses one
eighth to buy sweets and saves one eighth. He
has R15 left. How much pocket money did he
have?
• Hint: draw a circle.
Plóya’s general
method
Step 3: Solve the problem
-implement a method
9. Considering all possibilities:
• Sometimes, we need to have an
exhaustive list.
• We might be required to consider all
possibilities (such as when trying a
combination lock) or we might need to
know how many possibilities there are.
• Example: two people are sitting on a
park bench. One of the people is
female. What is the probability that
they are both females?
• Hint: make a list of all the possible
gender combinations.
Plóya’s general
method
Step 3: Solve the problem
-implement a method
10. Informed guessing:
• We often use estimates to guide our
everyday behavior.
• We guess how long the food will take to
cook, or what route will be the best, or
which queue to stand in at the check-
out. These are all knowledgeable
guesses.
• Example: The product of two consecutive
numbers is 1332. What is the smaller of the
two numbers?
• Hint: guess a number. We know 30*30 = 900
and 40*40=1600, so an educated guess would
be a number in the thirties. Modify your
guess.
Plóya’s general
method
Step 4: Check - reflect on
the outcome
• Check and confirm your answer
for accuracy:
• Work backwards
• Put your answer into the given
equation and check that it
answers the question.
Activity
An online quiz will be released
TONIGHT, 12 May at 23:55, to be
completed by Friday the 16th of
May, 23:55
Lecture 15:
Problem Solving Methods: Messy problems:
Soft Systems Methodology (SSM)

INF 113
Dr Lizette Weilbach & Prof Machdel Matthee

Source:
Chapter 6: Problem Identification and Problem Solving, in:
Gammack, J, Hobbs, V and Pigott, D. 2011. The Book of
Informatics. Melbourne: Cengage Learning.
Learning
• Revisit the characteristics of a messy problem
• Learn about problem structuring methods

outcomes • Learn about Checkland’s Soft Systems Methodology (SSM)


• Learn to use the CATWOE mnemonic to develop root definitions as
part of the SSM process
Revisiting the classification of problems
• Ackoff classified problems according to increasing complexity:
• Puzzles: well-defined problems with a specific solution that
one can get 100% right. Examples: Sudoku, logic problems.
• Problems: It is also clear what the problem is, but there are
many possible solutions, depending on… Example: the
route to a destination (depending on travel time, or
distance, or travel cost).
• Messes: Complex issues where there is not even
agreement on what the problem is. Example: solving the
world’s pollution or energy crises.
• Whereas puzzles and problems can be managed with analytical
techniques, messes cannot be resolved in this way.
Characteristics of
messes
• There are multiple role-players with differing
views on the situation
• There is no clear agreement on what the actual
problem is
• There is disagreement on whose problem it is
• There is no agreement on objectives. Each
stakeholder group has their own/different goals
and objectives – sometimes these are not clear
or not stated
• Complexity is at a political rather than
computational level
• Many of the methods of solving problems do
not apply to messy problems
Plans for addressing messes
• Since the 1970s, a group of management scientists have
worked on methods for dealing with messes
• These are known as “problem structuring methods” (PSMs)
• Characteristics of PSMs:
• Structuring of a problem situation, rather than solving a
problem
• Facilitating dialogue between stakeholders to develop
mutual understanding
• Process is more important than the outcome
• Resolutions are suggested by stakeholders themselves,
not external experts
• Process is led by a facilitator, who mediates rather than
tries to solve the problem him/herself
PSMs: Checkland’s contribution
• Peter Checkland first worked as management consultant and
systems engineer on large projects
• He realized the shortcomings of the traditional problem solving
and design approaches in dealing with human aspects
• Checkland was a systems thinker
• At Lancaster University’s Systems Engineering department, he
developed the Soft Systems Methodology (SSM)
• SSM is the most widely known and respected problem
structuring method
• SSM is associated with ‘soft systems thinking’, in contrast with
traditional or hard systems thinking
• Soft systems include humans
SSM and information
systems
• Human activity systems:
• have human role-players
• …with differing views about the system they
are involved in
• …with free wills, so their behavior is not
predictable
• SSM is applicable to any human activity system
• Information systems are human activity systems
• However, information systems used to be treated
as ‘hard systems’ (focusing on technology and
neglecting the people aspects)
• Checkland promoted the use of SSM in
Information Systems
The Soft Systems
Methodology (SSM):
Overall philosophy
• It was born out of the recognition
that the real world is complex and
messy primarily because we,
human beings, inhabit it.
• Each of us will have a different
perception of the same situation.
• That perception will be based
upon concepts and beliefs we
hold in our head – a mental
model(s) that we use to make
judgments about reality.
SSM
Step 1: Summary of problem
situation: understanding the
problem
• Concerned with the real world
• Gather information and views about
problematic situation which needs
improvement
• Do some basic research into the
situation to gather information on:
• the key stakeholders and
• current performance and issues
• Use data gathering methods such as
interviews, observations &
workshops
• Draw a rich picture
More on drawing
a rich picture
• Cartoon like picture of a complex
situation
• To capture all major entities, role-
players, influences, perceived effects
• Contains elements of structure and
process but still mainly unstructured
• Use clearly recognisable symbols, label
them, show interconnections
• Conveys subjective impression, no right
or wrong
Rich Picture
example

https://www.improvisingdesign.co
m/soft-systems-methodology-
2/ssm-the-method/
A Rich Picture, Showing the Complexity of Parking Enforcement
SSM
Step 2: Structure the
problem: Identify alternative
potential views or themes or
stakeholders of the problem
• Capture the multiple views of the
current messy situation by
splitting it into [related] sub-
systems of human-activity that
reflect separate purposes (or
goals)
• Define sets of transformations
that explain how the system
works (input/output) or needs to
change
I-O
Transformations
for root
definitions

https://www.improvisingdesign.co
m/soft-systems-methodology- I-O Transformations to suggest the purposes of the system
2/ssm-the-method/
SSM
Step 3: Formulate a root
definition for each
view/theme/stakeholder
or view using CATWOE
• The root definition = a statement of
purpose that captures the essence of
the particular situation of the relevant
theme
• At the heart of the root definition = the
TRANSFORMATION – captured by the
main verb in the root definition
• You want to define the transformation
or main function to be achieved
• You make use of mnemonic CATWOE to
come up with the root definition
SSM
Step 3: Formulate a root
definition for each theme
or view using CATWOE
• Use CATWOE:
• [T]: The Transformation = the
purposeful activity expressed as a
transformation of input to output
(that which you want to achieve):
input output
• [O]: The Owner = the wider
decision maker who is concerned
with the performance of the
system (those who can stop T)
• [A]: The actors = those individuals
who would DO the activities of the
transformation if the solution was
made real (those who do T)
SSM
Step 3: Formulate a root
definition for each theme
or view using CATWOE
• Use CATWOE:
• [W] Weltanschauung (German
word for “world view”)= the belief
that makes sense of the root
definition (the worldview that
makes the T meaningful in context)
• [C]: The customer = the individuals
who receive the output from the
transformation (the victims or
beneficiaries of T)
• [E]: Environmental constraints =
the key constrains outside the
system boundaries (elements
outside the system which are taken
as given, but nevertheless affect its
behaviour)
SSM
Step 3: CATWOE
Summarised

CATWOE:
• [T]: input output
• [C]: the victims or beneficiaries of T
• [A]: those who do T
• [W]: the worldview that makes the
T meaningful in context
• [O]: those with the power to stop T
• [E]: elements outside the system
which are taken as given, but
nevertheless affect its behaviour
Example root
definition

https://www.improvisingdesign.co
m/soft-systems-methodology-
2/ssm-the-method/
Example root
definition

https://slideplayer.com/slide/4233
194/
SSM
Step 4: Deriving
Conceptual models
• Analyse the activities which need
to take place in order to clearly
define what the actors need to do
in order to achieve the
transformation
• Produce a model to indicate how
the activities feed into each other
• This will be done for every root
definition in the previous step
• Visit: https://blog.improv-
design.com/soft-systems-
methodology/root-definitions/
Example
conceptual
model

https://www.improvisingdesign.co
m/soft-systems-methodology-
2/ssm-the-method/
Simple example of conceptual model for
cooking rice:

Example
conceptual
model

https://en.wikisource.org/wiki/Cause,_Effect,_Efficiency_&
_Soft_Systems_Models
SSM
Step 5: Compare conceptual
models with the real world
• Your models do not represent the ‘real
world’ but rather the ‘ideal world’
• I.e., a more effective ways of achieving
the work goals, based on how the core
stakeholders perceive that the system
of human activity should take place.
• Consider how far your model is from
the ideal world
• Provide a solid set of prioritized
recommendations for what changes
need to be made to existing activity
systems
Example Of
comparison
to the real
world

https://www.improvisingdesign.co
m/soft-systems-methodology-
2/ssm-the-method/
SSM
Step 6: Analyse feasibility &
desirable change
• Determine the changes that
need to take place to move
from the real world to the
ideal world
• Determine the feasibility of
these changes
• Determine the risks associated
with these changes
• Set priorities for the changes
to be implemented
Example Of
comparison
to the real
world

https://www.improvisingdesign.co
m/soft-systems-methodology-
2/ssm-the-method/
Example Of
comparison
to the real
world

https://www.improvisingdesign.co
m/soft-systems-methodology-
2/ssm-the-method/
SSM
Step 7: Action to improve

• When implementing change,


consider two cardinal rules of
change management:
• Do not try to change everything at
once. Plan a set of incremental
changes and reassess the need for
change after each one has been
implemented.
• Involve the people actually
working in the activity system. If
you do not get their ownership
and buy-in to the changes, it is
likely that these will be a dramatic
failure.
1. Summary of problem situation: rich picture,
with elements of structure and process
Summary of 2. Identify alternative, contrasting views or
themes on problem (recognise that there

the Soft
are multiple views which are equally valid)
3. Develop a root definition (using CATWOE)
for each view
Systems 4. Build a conceptual model for each root
definition

Methodology 5. Evaluate conceptual model against rich


picture/other views

(SSM)
6. Debate possible models to find actions that
are systematically desirable and culturally
feasible
7. Take action to improve problem situation
Additional uploaded Thursday’s lecture
material:
• Notes on SSM explaining the process • Make sure that you understand the SSM
Article on the application of SSM (Sugar • We will do a practical exercise (face-to-face)
Cane Example) in class
Summary
We looked at Pólya’s problem solving method
Four steps:
Understand the problem
Devise a plan
Solve the problem – implement a method
Reflect on the outcome – check - look
back, check and reflect
Methods to solve puzzles:
1. Logical reasoning
2. Pattern recognition
3. Working backwards
4. Adopting a different point of view
5. Considering extreme cases
6. Solving a simpler version
7. Organising the data
8. Drawing/visual presentation
9. Considering all possibilities
10.Informed guessing
Computational Thinking …
… for problem solving

Purpose
The purpose of this tutorial is to provide a basic introduction to computational thinking, a
skill that underlies an understanding of using logic to solve problems in non-computing
environments in everyday life and the workplace as well as on computers.
Learning outcomes

After this tutorial, you will be able to:

• demonstrate a basic understanding of computational thinking and its core concepts;

• identify the application of the concepts in problem solving; and

• create basic algorithms for simple problems.

Key Points

This tutorial explores the following topics:

Computational
thinking

Skills Computational
Definition computational thinking and
thinking programming

What is
Pattern Algorithmic
computational Problem solving Logical thinking Decomposition Abstraction Evaluation
thinking? recognition thinking

Computational
Why this sudden
thinking as
hype?
problem solving

See References list at the end for full details of authors cited.
Definition

What is computational thinking?

There are several definitions for the concept ‘computational thinking’ (CT). The word
‘computational’ reminds us of computers or calculations. This is not too far off – several definitions of
CT link it to problem solving using computers, which often involves calculations. In fact, some scholars
consider computational thinking as the thinking processes needed to convert human ideas into plans
and language that computers can interpret and execute. Jeanette M. Wing, corporate vice-president,
Microsoft, until 2017 when she moved to the Data Science Institute at Columbia University,
emphasised that CT is not about thinking like a computer but about how humans solve problems in a
way that can be operationalised with and on computers (Wing, 2006).

You can take a short quiz (ten multiple-choice items) if you go to


https://www.bbc.co.uk/bitesize/guides/zp92mp3/test. The test will give you an idea of how well you
understand computational thinking as we start this tutorial. You could return to the quiz at the end of
the tutorial to see how your comprehension has improved.

Why this sudden hype?

Computers and computing devices form an integral part of our lives. Try to imagine your daily routine
without any computing device. Just think of the personal devices - can you really function without your
mobile phone? There is currently no industry that is not powered or enabled by computers. We are in
the middle of the information revolution, and no one can escape the reach of the technology that
drives it.

Where does that leave you? Beecher (2018) uses the analogy (example) of a car: the task of driving a
car is relatively simple compared to the intricate piece of machinery that a car is. The complex details
are hidden from you. But some knowledge of the details may influence or improve the way you drive
– you will know that you need to adjust your braking distance as the braking pads wear out or that
driving at high engine resolutions (revving the accelerator) can wear the engine out, etc. Also, when
taking the car for repairs or services, you will understand the jargon used and know when you are being
misled by the engineers or mechanics.

Back to our computer-controlled world: it is our responsibility to prepare ourselves for such a world.
To be empowered citizens, we need to understand what is happening ‘under the hood’, if we extend
the analogy of the car. What are computers capable of, how can they be harnessed to carry out tasks
quickly and efficiently? Jeanette M. Wing predicted in 2016:

I argue that the use of computational concepts, methods and tools would transform the very
conduct of every discipline, profession, and sector. Someone with the ability to use computation
effectively would have an edge over someone without. … Computational thinking will be a
fundamental skill used by everyone in the world by the middle of the 21st century. By
fundamental, I mean as fundamental as reading, writing and arithmetic.

Computational thinking is a term used to summarise the thinking skills needed and used to create
automated solutions for problems encountered across a diverse range of fields. Since computational
thinking is used to solve problems, we now focus on problem solving.
Problem solving

In 1945 George Pólya wrote a book How to solve it in which he listed the basic steps of problem solving
in mathematics. The basic steps are:

• Understand the problem


• Devise a plan
• Execute the plan
• Review and extend

These steps, which apply to other contexts as well, might seem obvious but to carry them out
effectively is another matter! Computational thinking focuses especially on the first two steps.

Understand the problem: This step is crucial to the problem-solving process. Here you define what you
need to solve and not how to solve it. Is what you consider to be the problem perhaps merely a
symptom of a different underlying problem? (To use another analogy, this time from health sciences,
is the problem the headache – in which case a pain killer will do or a tumour causing the headache –
in which case a pain killer will only remove the symptoms. Once you have correctly identified the
problem, how will you know when the problem is solved? Will you have to measure the effect of the
solution? What artefact (product) will the solution be? (a study-time schedule, a new budget, changed
processes, etc.). Pólya gives some useful advice: Restate the problem in your own words, try to
represent it visually – models, diagrams, and collect all possible information relevant to the problem.

Devise a plan: This is the creative part of problem solving. Pólya proposed several strategies of which
decomposition, pattern recognition, finding a related problem, and working backwards are only a few.
Visit https://math.berkeley.edu/~gmelvin/polya.pdf to find out more about Pólya’s strategies for
solving problems. Later on, we shall discuss some of these strategies in more detail where they apply
particularly to computational thinking.

Computational thinking as problem solving

As has already been said, the end-goal of computational thinking is often to solve a problem in a
systematic way by using computing devices. When we solve everyday problems, like planning our trip
to our workplace or adjusting our budget, we use all kinds of thinking skills. ‘Common sense’ is often
used as a collective name for these skills. You will notice that some of the computational thinking skills
discussed below are skills we use in daily life anyway. One such skill is logic. Our premise is that logical
thinking underlies all thinking skills that form part of computational thinking. The next section
elaborates a bit on what logical thinking is and what kind of reasoning computers are good at.
Logical thinking

Logic is a way of thinking that helps us determine the correctness of an argument. An example is:
There is a draught in the room, a window is open, therefore the draught
is coming through the window.
This sounds like a reasonable argument – the conclusion (therefore the draught is coming through
the window) follows from the two premises (claims, statements) (there is a draught in the
room – and – a window is open). But what about –
Joey is a dog, all dogs are black – therefore Joey is black.
This is clearly not correct – premise 2 is false! There are many ways in which reasoning can go wrong.

Sometimes the conclusion follows necessarily from the premises (deductive reasoning) and sometimes
only with some probability (inductive reasoning). An example of the latter type of argument is as
follows:
Most students with an A in maths are good at logic. Bertha got an A for
maths. Therefore, Bertha will in all probability be good at logic.
It is important that our reasoning should be carried out correctly. Computers have no innate
intelligence and no common sense. They will do exactly as told. The computer will therefore automate
our reasoning including faulty reasoning – which can have disastrous results! There is no room for
wishful, emotional, or careless reasoning.

You therefore need to make sure 1) that your reasoning is correct or valid; 2) that you give the
computer reliable input (no false premises), and 3) that you know how to interpret the conclusion – is
the result true or only probably true.

Computers are not good at working with probabilities. Computers’ logic is called Boolean logic
(evaluating statements as either TRUE or FALSE). Lots of the effort of computational thinking goes into
translating our uncertain world of probabilities into the certainties of Boolean logic.
Decomposition

An important strategy proposed by Pólya to follow in solving problems is decomposition. This implies
the breaking down of the problem into smaller, more manageable problems. How do you eat an
elephant? – Bite by bite!

Let us think of an everyday example. You need to decide which washing machine to buy. This problem
can be decomposed into smaller problems (see Figure 1). The integration of the solutions to each of
these smaller problems will be the solution to the larger problem.

Which washing machine


should I buy?

What is my What should the What capacity do Which brand to


budget? dimensions be? we need (in litres)? choose?

Guarantee and Energy and water


maintenance? efficient?

Figure 1: Decomposing the problem of buying a washing machine

Here is another example: How do you decide which queue to join in a supermarket (the fastest queue).
Imagine that a robot will do your shopping and it must know how to choose between checkout points
to save time. Figure 2 below shows one way of decomposing the problem.

Which checkout point to


choose?

What determines
the checkout
speed?

Are the rules of


What is the relation between each checkout
the checkout speed and point the same?
customer purchases?

Figure 2: Decomposing the problem of choosing a checkout point in a supermarket

Can you decompose the following problem into smaller problems? Do not try to solve it. Focus now on
the decomposition of the problem only. How can one save more water in households? Just use a spare
sheet of paper to draw your diagram. You can use this drawing in an activity later in the tutorial.
Watch this video (https://www.youtube.com/watch?v=yQVTijX437c) (11:03) for another
look at the concept of decomposition. You need to scroll down the page to find the video as
it is embedded in the text. Many everyday examples related to
multiple fields of study are provided. There are also examples of software simulations or games that
you could play to reinforce your understanding of decomposition. Take the short quiz at the end of the
video to check your understanding. Model answers are provided.

NOTE:

Did you see the use of OER in the URL of the video? It stands for Open Education Resource – in other
words, free for use by others for educational purposes. Do you know what URL stands for? Uniform
Resource Locator or web address.
Pattern recognition

Once a problem is decomposed, you might find patterns or similarities in or across the smaller
problems. This can help you to find more efficient ways of solving a problem.

To illustrate the identification and use of patterns, we use the well-known example below:

What is 1 + 2 + 3 +… + 100?

How to solve this problem? The obvious way to solve this is to start adding the numbers:

1+2= 3

3+3= 6

4 + 6 = 10

5 + 10 = 15
……

Carrying on in this way will give you the answer of 5050.


Gauss (1777 – 1855), a famous mathematician, noticed a pattern. The sum of the first and the last
number is 101 i.e. (1 + 100). The sum of the second and the second-to-last number is also 101 (2 + 99).
Carrying on like this, the problem can also be written as 101 + 101 + … 101 fifty times! (101x 50 = 5050
).
(1 + 100) + (2 + 99) + ⋯ + (50 + 51) = 5050
This is a much more elegant and efficient way of solving the problem.

Think of the problem of joining a queue at the supermarket. You noticed the following patterns:

• People in a queue who are carrying their items by hand take about two minutes to be
processed.
• People carrying a basket take about 3 minutes to process.
• People pushing a trolley take about 6 minutes to process (half) and 8 minutes to process (full).

These patterns will clearly help you to make a more informed decision which queue to join (if your goal
is to save time).

Pattern recognition and generalisation go hand in hand. Once you identify pattern, the solution may
be more widely applicable. For example, Gauss’ pattern is true for more such examples:

1 + 2 + 3 + 4 + 5 + 6 = (1 + 6) + (2 + 5) + 3 + 4) = 7!3 = 21
As you will see in the next section, it is true for any even natural number. Also, you can now play around
with other scenarios. Can you see now that 50 + 51 + 52 + ⋯ + 100 = 5050 − 49?

By generalising the pattern that was identified in the supermarket problem, it can be applied to other
queue scheduling problems – e.g., joining a queue at a toll gate, etc.

Watch this video (https://www.youtube.com/watch?v=SixLnIDV1yY) (10:32) for another look


at the concept of pattern recognition. You need to scroll down the page to find the video as
it is embedded in the text. Many everyday examples related to
multiple fields of study are provided, from literature to art to health sciences. There are also examples
online programs that you could use to reinforce your understanding of pattern recognition. Take the
short quiz at the end of the video to check your understanding. Model answers are provided.
Abstraction

Abstraction (meaning to extract, remove, separate, or take out) is identifying and extracting relevant
information to define the main idea. The idea is to factor out/ remove unnecessary ideas that are
irrelevant. From there on the information can be represented as a model, simulation, equation, word,
letter, number, image, or any other kind of symbol.

Gauss’ rule discussed above can be abstracted as an equation using a letter.

1 + 2 + 3+. . + " = (" + 1)"/2


Where n represents any even natural number.

The supermarket queue patterns can be abstracted as a correlation:

#"$%$& '()* ≈ +%,- $).-" $( /0(1-22


and

3(4) = $
which means that the time depends on the load of the entity (the number of items to be purchased by
the customer).

The way in which abstractions are represented depends on the domain. A well-used example is an
abstraction of a city or building as a map. See Figure 3 below for an aerial view of the campus of UP
and its abstraction as a campus map.

Figure 3: UP campus aerial photo and map

This is a good example of abstraction. The irrelevant information is taken away to leave the relevant
abstracted information as a diagram.

Watch this video (https://www.youtube.com/watch?v=RdzYOtxhuDc) (9:42) for another


look at the concept of abstraction. You need to scroll down the page to find the video as it is
embedded in the text. Many
examples are provided, from science (mathematics, chemistry, biological science) to art to English to
everyday signs and symbols. There are also examples online programs that you could use to reinforce
your understanding of abstraction. Take the short quiz at the end of the video to check your
understanding. Model answers are provided.
Algorithmic thinking

Now that the problem is decomposed, patterns identified, generalised and abstracted, a way of solving
a problem or steps towards reaching a goal can be devised.

An algorithm is a clear step-by-step explanation of how to solve a problem or execute a task. It should
be done with extreme precision such that a human or machine can follow it. Some of these steps build
on logic but an algorithm is more than logic only.

A familiar example of an algorithm is a cooking recipe. Think of how you will explain to a friend the
way to prepare a dish or bake a cake. You can also draw pictures of each step and place it in the correct
order to illustrate the recipe.

Code.org teaches algorithmic thinking by providing scrambled pictures of different steps of a task and
ask learners to place the steps in the logical order. You can download such a worksheet at
https://studio.code.org/s/course2/stage/2/puzzle/1 to create an algorithm for the building of a paper
airplane.

Instead of pictures, one can use other symbols. Consider the simple task of getting up in the morning
(adapted from Wang (2016)). How will you explain in a very precise way how the task is executed? It
starts with 1) the alarm ringing after which 2) you must decide whether you are going to get up. If yes,
then 3) you get up – (mission accomplished). If no, hit the snooze button. The whole process will repeat
once the alarm goes off again. Figure 4 gives a diagrammatic illustration of these steps using different
shapes to indicate different types of steps. Rectangles, for example, indicate actions whereas
diamonds indicate decisions.

Start

Alarm rings Delay

NO
Ready to get up? Hit snooze button

YES

Climb out of bed End

Figure 4: An algorithm for the task of getting up in the morning (Wang, 2016)

An algorithm for finding the sum of the natural numbers is given below (parallelograms indicate
data received or displayed).
Start

Provide a
value for n

NO

Is the value an even,


natural number?

YES

Calculate the
answer by using the
formula (n+1)n/2

Give the
answer

Stop

Figure 5: An algorithm for finding the sum of the first n natural numbers

One possible algorithm for the supermarket queue problem in words is given below:

Start

For each checkout point do the following: For each customer at that checkout,

If items by hand, time is 2 minutes

Else if, items in basket, time is 3 minutes

Else if items in half full trolley, time is 6 minutes Else if items in full trolley, time

is 8 minutes

Add the times of all the customers at that checkout.

The checkout with the smallest time value is the one to choose.

If that checkpoint is the express checkout and you have more than the maximum allowed,
choose the checkout with the second lowest time value.

End
Watch this video (https://www.youtube.com/watch?v=N91oCQbWUvA) (14:05) for
another look at the concept of algorithms. You need to scroll down the page to find the
video as it is embedded in the text. The video gives examples of non-computer-based
algorithms (such as recipes for baking) as well as computer-based algorithms for which you would need
coding skills. There are also examples free online algorithm programs that you could use to build your
own games and animations without any knowledge of coding as long as you can think logically. Take
the short quiz at the end of the video to check your understanding. Model answers are provided.
Evaluation

Checking your plan for bugs and efficiency is not only done at the ‘end’ but is really an integral part of
the problem-solving process. Bugs refer to faults in the solution that will lead to wrong results or
unexpected behaviour of the computing device. Humans are so used to adapting to context and
bringing experience and expertise to the table that we are not used to think at a ‘dumb computer
level’. For that reason, there will almost always be errors or inefficiencies in your first ‘draft’. Here is a
list adapted from Beecher (2018) and Wang (2016) of what can go wrong:

• Language use is not clear (the computer or human does not understand what you mean). This
is often called syntax errors.
• Logical reasoning is faulty. Suppose you want to determine the maximum value of two given
values. The following statements are valid: if x > y then print y, else if y > x then print x.
However, executing these statements will not give you the desired result – it will print the
minimum and not the maximum. Also, if x = y, nothing will be printed whereas some output is
expected.
• You did not anticipate problems or exceptions. In the algorithm for the calculation of the sum
of the first n natural numbers, we anticipated that the user might provide a negative number
or odd number. The formula will not give you the correct result in those cases. This erroneous
input was expected and prevented by checking the number provided and asking the user to
try again.
• Your decomposition, pattern recognition, generalisation or abstraction was wrong or not
complete. For example, the queueing supermarket problem might have a fourth pattern or
rule – there might be a self-checking checkout (as there is in some other countries), where the
processing speed is much faster.

Eventually, your algorithm will be carried out by a computer or a human. So, as soon as the
implementation of the algorithm is in a workable condition (a first workable version of the program),
you need to test it. You can either do a top-down testing (running the whole program) or a bottom up
testing (test parts of the program). It is useful to have it tested by someone different than yourself to
get a fresh eye on the proposed solution.

Finally, you need to make sure the program is

• correct (Does your plan solve the problem you started with?),
• efficient (a good balance between time to run and memory space used),
• elegant (simple yet effective) and
• usable (How well can it be used by people to achieve their goals?). All programs can be

improved upon so trade-offs need to be made.


Computational thinking and programming

As was said before, several definitions of CT link it to problem solving with the use of computers but
the videos you have watched show that it can be linked to everyday life and professions as well. For
computers, computational thinking outcomes are translated into instructions that computers can
understand through programming languages (C++, Javascript). They are called languages because they
contain the elements of a language: syntax, instructions (sentences), data structures (like paragraphs)
and so on. No computer program can be created without computational thinking.
However, it is no use knowing the language but not how the language can be used to solve a problem.

Below are a number of useful links to introductory programming tutorials if you want to pursue this
field beyond this tutorial.

• Introduction to programming languages:

https://www.computerscience.org/resources/computer-programming-languages/
• Introduction to web development: https://www.w3schools.com/
• Some introductory JavaScript tutorials: https://javascript.info/
References:

Beecher, K. (2018). Computational thinking. BCS, the Chartered Institute for IT. Swindon, UK.

Curriki. (nd). Free educational material for teachers. https://www.curriki.org/about-curriki-2, Accessed


14 November 2019. CC BY-SA 4.0 Intl. (NOTE: This is an Open Education Resources (OER) shared under
a Creative Commons (CC) licence).

Pólya, G. (1945). How to solve it. Princeton University Press, Princeton, US.

Wang, P.S. (2016). From computing to computational thinking. CRC Press. Florida, US. Wing, J.M.

(2006). Computational thinking. Communications of the ACM, 49(3), 33 – 35.

Wing, J.M. (2016). Computational thinking, 10 year later. Microsoft Research Blog.
https://cacm.acm.org/blogs/blog-cacm/201241-computational-thinking-10-years-later/fulltext,
Accessed 14 November 2019.
Please scan the QR Code
to complete the course
survey

Lecture 18:
Revision
Critical Thinking

INF 113
Dr Lizette Weilbach &
Prof Machdel Matthee
Study unit: Introduction
to critical thinking

Study outcomes:

• Understand what is meant


by critical thinking
• Understand why and when
critical thinking is necessary
What is
critical
thinking?
Critical thinking

• What makes thinking critical and others uncritical?


• Critical/criticism/critic originates from the ancient Greek word, kritikos - being
able to judge, discern or decide
• “Being critical and thinking critically are not the same thing”

• “A critical judgment is more than a mere opinion. There have to be some


grounds for a judgement before we can call it critical.”
Core activities of CT
• Analysis (e.g. what are the assumptions of the claim, argument
or statement)
• Evaluation (e.g. check assumptions for validity and accuracy)
• Further argument (counterpoint, what other assumptions
might be true?, give your own response to the claim)

• - Leads to Informed action


Attitude • Fair- and open-minded

of a • Active and informed


• Sceptical

critical • Independent
• Brave
thinker
Study unit: Claims

Unit outcomes:
• The different types of claims
(14.1-14.4/2.1 in textbook)

• How to assess a claim (15.1


– 15.6/2.2 in textbook)
• Claims and assertions are statements that are supposedly true.

• Claims can be matters of fact (true or false) or matters of opinion


(truth is subjective).

• Types of claims:

Claims, • Predictions

Hypotheses
statements,

• Value judgements

assertions • Recommendations

• Definitions

• We cannot always say whether a claim is true or false, but we


can investigate whether it is justified.
• The strength of a claim has to do with
how much is being claimed, and/or
how forcefully it is worded.
• It is harder to justify a strong claim
Strong and than a weak one. Compare:
weak claims • Polar bears will be extinct by the
middle of the century
• Polar bears are an endangered
species.
Study unit: assessing claims;
grounds, reasons and evidence

Unit outcomes:
• Grounds, reasons and
evidence to support claims
• Assessing the credibility of
evidence
• Assessing statistical evidence
Grounds, reasons and evidence
• A claim is justified if is known to be true, but that is an ideal
situation. In most cases we must settle for something less than
knowledge, namely good reasons.
• Notice the difference between Reason as explanation vs Reason as
grounds for claiming something
• Compare:
• Sea levels around the world are rising because global warming is melting
the polar ice
• Global warming must be happening because the polar ice is melting and
sea levels are rising.
• Providing evidence for a claim is one of
the most commonplace forms of
reasoning
• Practically anything can be evidence: a
footprint, a bloodstain, a written or
spoken statement, a statistic, a chance
Evidence remark, an email, CCTV footage …..
• There are good and bad evidence just as
there are good and bad reasons. A bad
reason is one that does not justify the
claim or action for which it is given.
• Plausibility
• Reliability of our sources
• Reputation
• What gives a source reputation?
Credibility of • Perceptual ability
evidence • Could someone reasonably have seen or
heard something?
• people sometimes claim more than what they
can be expected to have seen or heard
• Expertise and knowledge
• E.g. an expert witness in a court case
Assessing statistical evidence
• Statistical data is a type of evidence that must be assessed for
credibility and reliability as follows:
• What is the source of the data; who provided it?
• What was the purpose for which it was collected?
• How was it collected; what was the methodology?
• Is it corroborated by and consistent with other available evidence?
• Is it relevant, plausible, informative?

• Presentation of data
Study unit: inference
and explanation
Unit outcomes:
• The use of evidence
to draw inferences
• The use of evidence
for explanation
• To infer means to draw a conclusion
from a source of information. The job of
the critic is to decide which inferences
are justified and which are not, on the
Uses of basis of the available information.
evidence:
Example 1
inference •
• If a flag is seen flying at half mast it
would be quite reasonable to infer that
someone has recently died. Is this a
safe inference?
Safe and unsafe inferences
• Why do we use the words ‘safe’ and ‘unsafe’ to describe
inferences? It is a recognition of the importance of careful
reasoning. An unsafe inference may not just be wrong; it may
have dire consequences. In a murder trial, a faulty inference
may mean that an innocent person go to prison. On the other
hand, if a guilty and violent person goes free through a not-
guilty verdict it leaves them to commit further serious crimes.
Regardless of the consequences, it is still important to refrain
from inferring too much.
Uses of evidence: explanation
• Explanations tell us why something is as it is, or how it has come about, what
has caused it.
• Arguments and explanations differ: Arguments are meant to give us reasons to
believe something which we did not know, or were less sure of, before hearing
the argument. Explanations work in the opposite direction: they take something
that we know or just assume to be true, and help us to understand it.
• Explanations need to be evaluated just as critically and carefully as inference.
- look for plausibility, scope and simplicity
- compare explanations
• There may be many possible explanations
for a situation/outcome.
• We are looking for the best possible
Judging explanation. What makes an explanation
better than others?
between • Two useful tests for judging an
alternative explanation:
explanations • its scope (how much it can explain)
• simplicity (the simplest possible
explanation)
Study unit: identifying
argument
Unit outcomes:
• Identifying arguments and their
components
• What constitutes a good argument
• Writing arguments in standard
form
• Mapping an argument
• Independent vs interdependent
reasons
What is an argument?
• In logic, an argument is defined as a set of sentences, one of which –
the conclusion – is claimed to follow from the others which are its
premises.
• Premises are reasons given to support or justify a conclusion. To say
that a conclusion follows from one or more premises (or reasons), is
just to say that if the premises are true, the conclusion must also be
true.
• In real life, arguments are used to persuade the audience of the truth
or the rightness of a claim by giving supportive reasons.
The form of an argument

Reason1, reason2,
…….
Conclusion

R1: Ships appear to sink out of sight as


they sail away.

C: The earth cannot be flat


• All the statements in an argument are
claims. Some of the claims might be known
facts, but other may be predictions,
recommendations, hypothesis or opinions.
• Some of the claims in an argument might
Arguments be false – either out of ignorance or deceit.
• An argument presents reasons and a
conclusion. It does not guarantee that
either the reasons or conclusion are true.
It is still an argument even if the claims in it
turn out to be false.
•R1, R2, R3 ….Rn /C
•We say that:
• R1, R2, …. Are true and C follows
Standard from them or
form of an • C is true as a consequence of R1, R2,
… being true or
argument • Because R1, R2, … are true, C must be
true as well or
• C can be inferred from R1, R2, …..
• The reasons in the previous example are
interdependent – if one of them is
How reasons unwarranted then the argument will fail.
It is the combination of them that leads
relate to to the conclusion – they are all necessary
for the conclusion to follow.
conclusion
• Interdependence is indicated as follows:

R1, R2, R3 C
• The reasons are independent of
each other. Each offer a
separate line of reasoning to
How reasons the conclusion. The one does
relate to not rely on the truth of the
conclusion other. The diagram will then
look like this:
R1 R2

C
Study unit: analysing
argument: complex arguments
and interpretation

Unit outcomes:
• Analysing complex arguments
• How to identify conclusions
(main and interim
conclusions)
• Procedures for identifying
and interpreting arguments
R1 R2
IC: intermediate conclusion

MC: Main conclusion


IC

R3 MC
R1 and R2 are indirect reasons
R3 and IC are direct reasons
Analysing complex arguments – a
strategy

• First select what you think is the main conclusion;


• Then look for the direct reasons that support it;
• Then look for reasons that support the direct reasons.
• i.e. work backwards from what you think is the main conclusion.
Conclusions

• In a longer argument it is easy to mistake a reason for a


conclusion, or an intermediate conclusion for the main
conclusion or to misunderstand the direction of the
argument altogether.
• It is to avoid this kind of misinterpretation that you need
the skill and confidence in argument analysis.
Identifying conclusions
• The conclusion of an argument is often marked by the word ‘so’ or
‘because’ or its equivalent (argument indicators)
• But often there is no such word present:
Example:
• Tax rises are not vote winners. Every time a government has raised
taxes in the last four decades, their poll ratings have fallen.
The principle of charity

• The rule that says we should interpret a supposed argument in a


favourable way – that is, as a good argument rather than a poor one.
• So if we have X therefore Y or Y therefore X , and we can see that X is
a good reason for believing Y, but Y is not a good reason for believing
X, then on the principle of charity we should accept the first
interpretation and not the second.
Study unit:
Assumptions
Unit outcomes:
• The role of unstated
assumptions in
arguments
• How to recognize implicit
assumptions and how to
include them in argument
analysis
Assumptions

• It is a claim or belief that is accepted as true even if it has


not been proven or justified. (Presumption)
• Assumptions can be implicit or explicit
• In many if not most arguments the premises themselves
are not more than assumptions. Unless a premise is a
known fact, the best that can be said of it is that it is an
assumption.
Deep rooted assumptions

• Many arguments make assumptions based on strong beliefs,


strict laws, political leanings, or shared cultural attitudes and
loyalties that we grow up with and keep for a lifetime.
Realising when an argument rests on assumptions which we
take more or less for granted, and rarely question, is an
important part of critical thinking and intelligent debate.
Study unit: Evaluating
argument

Unit outcomes:
• Flawed arguments and what
a fallacy is
• How to identify the flaws in
arguments
• Different types of common
fallacies
Flaws and fallacies
• A good or a sound argument satisfies two rules:
1. the reasons are true or justified
2. the conclusion follows from the reasons
• An argument where one of the reasons is not true/justified or where the
conclusion does not follow from the reasons, is flawed or has flaws in reasoning
or contains ‘reasoning errors’.
• There are two main ways in which you can find fault with an argument. 1) You
can challenge the truth of one or more of the reasons; and/or you can show
that, 2) whether the reasons are true or not, the conclusion does not follow
from them.
1. check the credibility of the claims
2. identify reasoning errors: find fallacies
Conclusions vs reasons
A useful metaphor for an argument is a
see-saw, or balance arm, with reasons
on one side and the conclusion on the
other. If the conclusion is too strong or
asserts too much the reasons may not
have sufficient weight to support it.
For an argument to be sound the
reasons must outweigh the
conclusion.
Fallacy example: Appeal to history
The technology for detecting forgeries has improved in recent years.
Unfortunately, the skills and techniques of the forgers have always kept
pace with the newest improvements. So we are going to see ever-
increasing amounts of counterfeit money in circulation.

• It assumes what has been true in the past remains true now, or in
the future.
Classic fallacies: Cause and correlation
• The post hoc fallacy is an example of the more general cause-correlation
fallacy – confusing correlation with cause.
• A correlation is any observed connection between two claims or two
facts. For instance, if there were an observed upward trend in violent
crime in a city, at a time when sales of violent computer games were on
the increase, it would be right to say there was some correlation between
the two trends. It would also be tempting to conclude that the games
were at least a factor in causing the actual violence to increase. This is
plausible. But the plausibility of an explanation does not make it true. It
can only be posited as a reasonable hypotheses but not safely inferred.
When you go into business you
can either adopt ethical
More practices or you can make a
fallacies: profit. Herbco has declared
Restricting itself to be an ethical company,
the options so if you want to see good
returns, you really need to invest
your money somewhere else.
• To challenge the holder of an
opinion rather than the argument
More itself
fallacies:
personal The principal wants to introduce more
physical exercises in the LO classes.
attack And this from a person who smokes
and does not do any physical
exercises at all.
• It assumes what it is effectively
going to conclude – it starts and
More finishes with more or less the
fallacies: same claim:
circular
argument Women should be able to choose to
terminate a pregnancy, so abortion
should be legal.
More fallacies: slippery slope
Chewing gum should be banned, like it is in Singapore The streets there are
not only free of all those sticky grey patches, but of litter of any kind. The
trouble with chewing bum is that it does not end there. Young people – and
not only the young see the disfigured pavements, and it blunts their senses.
They smoke in doorways and strew the ground with cigarette ends. Kids grow
up thinking “Why should I care? What is the point of me taking my litter home
or looking for a waste bin?” Soon the streets are littered with discarded food
trays, empty cans, broken glass, shopping trolleys and the walls are covered in
graffiti. It breeds a culture of hostility and violence, and before you know it
you have gangs roaming your neighbourhood.
• An argument is flawed if the reason or
reasons given are untrue, or give
inadequate support to the conclusion
• Some common flaws are:
• Arguing from a particular case to a general
conclusion
Summary • Relying too heavily on anecdotal evidence, or
past experience
• Mistaking a correlation for a cause
• Circular reasoning
• Restricting the options
• Slippery slope
• Personal attack
Study unit: further
argument

Unit outcomes:
• how to respond to an
argument with
further argument.
• With any argument, you are entitled to agree or
disagree with the author.
• On the basis of that, you will want to contribute by
either further supporting or challenging the
argument’s claims and reasons.
When given an argument, put some of your own ideas
Further •
on the table, either supporting or challenging the
argument •
author’s conclusion.
Remember to distinguish between your feelings
(emotional response) and the soundness of the
argument
• As you engage critically with an argument, you must
always remain open to an argument’s soundness and
be willing to reconsider your own position accordingly.
• Further argument goes beyond evaluation:
it’s your opportunity to be creative and put
some of your own ideas on the table,
either supporting or challenging the
Developing conclusions.
further • It is not any argument, it must relate
argument directly to the text you are working on.
• Evaluation of an argument often leads to
further argument (not always clear where
the one ends and the other begins)
• Step 1: Identify the issue or debate to which the target claim
belongs.
• Step 2: Decide on the side you propose to take, at least
provisionally.

Steps to • Step 3: Extract from the documents the supposed facts,


evidence, opinions, and supporting reasons you consider

develop a most relevant and list them. It is a good idea to list them
under headings such as ‘for’, ‘against’, and ‘neutral’; in

further relation to the target claim. Think about how you will assess
them critically.

argument • Step 4: Map out your argument in note form; the main
argument and supporting arguments corresponding to
paragraphs. Include the counter-claims and counter-
arguments, analogies that you intent to include and the way
in which you plan to respond them.
• Step 5: Revise your argument by analysing and evaluating it.
Please scan the QR Code
to complete the course
survey

Lecture 18:
Revision
Problem Solving

INF 113
Dr Lizette Weilbach &
Prof Machdel Matthee
Overview

• Design Thinking
• Problem Solving
• Computational Thinking
Design Thinking
Design
Thinking
• What is design thinking? In your
own words.
• Be familiar with the different
activities in each of the stages of
the Standford d. process. Such as
the problem vision statement
(define) and brainstorming (ideate)
• How Design Thinking is applied to
real life and what is the value of DT
approach?
What is design
thinking?
• A structured approach for human
centered, creative problem solving
• Origins: built environment (e.g.,
architecture, urban planning)
• Emphasis on:
• Empathy: the understanding
the needs of the potential
user(s)
• Brainstorming of potential
solutions
• Prototypes are built and
tested with user(s)
• Regular feedback from
user(s)
Stanford d. process:

• Empathise – to put yourself in the


user’s shoes
• Be curious, don’t judge, be
respectful
• Define – Focus in on the problem
statement/ point of vision statement
• Ideate – Brainstorm ideas
• Prototype – Build one good idea
• Test – get feedback from the user
• Answer is open-ended but needs to be based on the five steps of the Stanford
Example: process: Empathise, Define, Ideate, Prototype, Test. The student needs to go
Think back to your INF113 beyond just describing the steps. It is also necessary to explain how the steps
assignment. With reference to the added value to the project.
Stanford design thinking process, • For example:
state 4 things that you found • Empathise: by interviewing (an empathise principle) the user we realised
valuable about the process you that they ... That made me design a … for them.
applied during your assignment.
• Test: By giving the elderly the prototype I observed that they use it
differently to what I thought they would - I discovered another use for it.
Problem Solving
What is a problem?
• We are all faced with problems on a
daily basis: getting to class on time,
scheduling our homework and studies,
relationship issues…
• To respond to a problem, we must be
able to identify it.
• A problem situation may present
symptoms of another, deeper problem.
• E.g., a recurring headache may be a
symptom of a brain tumour. Treating it
as a headache will therefore not solve
the problem.
Problems can be • Complexity
classified
according to: • Structure
Complexity of
problems
• Complexity refers to
how many aspects a
problem has, and
how these interact
with each other and
with other problems.
Complexity of
problems
Ackoff classified problems according to increasing
complexity:
• Puzzles: well-defined problems with a
specific solution that one can get 100%
right. Examples: Sudoku, logic problems.
• Problems: It is also clear what the
problem is, but there are many possible
solutions, depending on… Example: the
route to a destination (depending on
travel time, or distance, or travel cost).
• Messes: Complex issues where there is
not even agreement on what the
problem is. Example: how to respond to
the coronavirus situation; conflict in the
Middle East.
• Puzzle : the problem/goal is clear and there is only one correct solution.
Puzzles require an analytical approach to solve. E.g., geometry problem in
Example: high school mathematics.
Differentiate between a puzzle, • Problem : the problem/goal is clear but there are multiple possible solutions,
problem and a mess by providing depending on the particular situation and options available Problems require
your own example. an analytical approach that can handle uncertainty/assumptions. E.g., where
should I plan to stay while I am studying?
• Mess : it is not even clear what the underlying problem is, and different role-
players have different views on it. The solution requires a facilitated
approach. E.g., youth unemployment.
Structure of
problems
• Problems with a high level of structure are
more straightforward to solve.
• Herbert Simon classified problems as:
• Structured: routine problems, can be
solved by a known method
• Semi-structured: part of the problem is
structured. That part could easily be
solved, and judgement must be made
on the other part.
• Unstructured: there is no ready
method for solving it; it requires
structuring before it can be resolved.
• Structured problems are budget management and budgeting
Example: • programmable
Use Herbert Simon’s classification
• Semi-structured problems are sales forecasting and product pricing
and provide an example of each
type of problem. while
• Programmable with some AI?
• Unstructured problem is personnel management
• Non-progammable
Puzzle Problems
Puzzle problems
• It is clear what the problem is (what
needs to be done).
• There may be multiple ways to solve
it, but there is only one correct
answer.
• One needs to know what the
appropriate methods are for solving
a particular “puzzle”.
• Puzzles may be very difficult to solve.
The difficulty is at an analytical or
cognitive level.
• Example: A high school math problem
Problems of type Puzzle

• For some problems, possible solutions can be


easily calculated but there are too many
possible options to go through.
• Brute Force Encryption
• E.g. chess or Sudoku – one has to have a
strategy.
• Knowing the computational complexity of a
problem is important in fields such as logistics
scheduling and bioinformatics.
Devise a strategy

• Logical reasoning
• Pattern recognition
• Working backwards
• Adopting a different point of view
• Considering extreme cases
• Solving a simpler version
• Organising the data
• Drawing/visual presentation
• Considering all possibilities
• Informed guessing
Example: • Pattern recognition
Which strategy will you use to determine
the next number? 2; 5; 10; … (Could be a multiple choice or ‘essay type’ of question
Example:
Which strategy will you use to • Working backwards
determine at what time you need to
wake up in order to watch the Boxing (Could be a multiple choice or ‘essay type’ of question
match in the USA?
Example:
The boxing match is at 2pm UK time,
and the UK time is GMT+1. What time • Working backwards:
will you watch the match in South 3pm
Africa if South Africa’s time is GMT +
2?
Logical
Reasoning
• Logical reasoning is always part of
analytical problem solving
• However, sometimes logical reasoning on
its own is enough and can save significant
calculation effort.
• Example: Find all pairs of prime numbers
whose sum is 741.
• Hint: Consider the following: if the sum of
two numbers is odd, then one of the
numbers must be odd and the other must be
even. How many even prime numbers are
there?
Pattern
Recognition
• Mathematics is often about
finding patterns!
• Finding patterns is
important for police to solve
crimes, and for doctors to
diagnose patients. It is an
important general skill.
• Example: What are the next
two numbers in the
sequence:
• 1, 2, 3, 6, 11, 20, 37, _, _
Working
backwards
• Important general skill
• What time do I have to leave home if I
have to catch the 9 am flight from OR
Tambo to Cape Town?
• Police reconstructing the sequence of
events leading to an accident or a
crime
Considering extreme
cases
• Another useful real-life strategy. We
often think: “What is the worst that can
happen?” in a decision situation.
• People testing products (or information
systems) need to test them for extreme
situations of use.
• Example: In a rainstorm, is it better to
run or walk? What will make me less
wet?
Consider the extreme case of walking extremely
slowly (of basically standing still).
Also revisit the slides
on these strategies

•Solving a simpler version


•Organising the data
•Drawing/visual
presentation
•Considering all
possibilities
•Informed guessing
Problem Problems
Problem Problems

• Example: Where do I want to work after I have


graduated
• My decision may be determined by a number
of factors, such as:
• What position(s) I am qualified for?
• What companies offer such positions, and
where are they located?
• What are the opportunities and working
conditions at these companies?
• Where do I want to live?
• Do I have a bursary or loan that binds
me?
Problems: constraint
satisfaction
• The factors we have to consider, are also called
constraints.
• Some constraints are “hard” or binding, like if you
have a bursary with binding conditions.
• Other constraints allow more flexibility, like where
you want to live. These constraints allow for trade-
offs (e.g., to sacrifice your ideal location for a more
lucrative position in a less desirable location).
• Many problems are constraint-satisfaction (or
multiple criteria) problems.
• Decision-making has methods for dealing with such
problems.
• The most common one is MCDA (multiple criteria
decision analysis).
Problems:
optimisation
• Optimisation problems, or minimisation and
maximisation, are frequently encountered:
• How do I maximise my mealie harvest?
• How do we minimise the number of
repeating students?
• How do we optimise an online purchasing
process?
• Methods to solve optimisation problems are
available, such as linear and integer programming.
• Information systems to support business
operations may well require an optimisation
facility.
Mess(y) Problems
Messes

• Puzzles and problems can be


managed with analytical
techniques.
• However, many human
problems cannot be resolved
in this way, for example:

How must the problem of


youth unemployment in South
Africa be dealt with?
Characteristics of messes
• There are multiple role-players with differing
views on the situation
• There is no clear agreement on what the actual
problem is
• There is disagreement on whose problem it is
• There is no agreement on objectives. Each
stakeholder group has other goals and objectives
– sometimes these are not clear or not stated
• Complexity is at a political rather than
computational level
• Many of the methods of solving problems do not
apply to messy problems
The Soft Systems
Methodology
SSM

Root definition / CATWOE:


• Transformation or main function to be
achieved, by
• Owners of problem (who can stop the
activity?)
• Actors (who performs the function)
• World Views (that makes activity
meaningful)
• Customers of the system
(victims/beneficiaries)
• Environmental constraints (that are taken
as given by system)
• Consider the messy problem of students not being
able to study on campus. Develop a root definition for
the following stakeholder group by using the CATWOE
Example mnemonic:
• University management

C The University management, the students, the lecturers, the


parents
A Government, Lecturers, Students, Parents
T Keep staff and students safe
Continue delivering high level education
Keep staff morale high
W The University is a place of excellent learning
The University is a place for innovative learning
The University is a place for inclusive learning
E The Government rules regarding lockdown
The resources available for students
The parents’ concern regarding quality education for their
children and obtaining value for money
O University management
Computational Thinking
Computational
thinking
• What is computation thinking?
• Thinking processes needed to solve
problems in a systematic way

• Recognise examples of
computational thinking: how to
calculate student marks.
• A. Assign student marks based on class
attendance
• B. Calculate student marks based on pre-
determined weights for assessments

• Recognise/apply decomposition to a
problem: How should lockdown be
determined?
• A. Determine the number of people that
had COVID
• B. Consider who has COVID, what is the
hospital capacity available to tread COVID.
Computational
thinking
• Recognise/apply abstraction
• A. Cats have 4 legs
• B. My cat is black

• Recognise/apply algorithmic
thinking
• Defining a clear step-by-step explanation
of how to solve a problem or execute a
task.
• A. To solve the problem of determining
your semester mark, you need to know
how many subjects you have
• B. To determine if you have exam entrance
for a subject, you need to get the weight
of each assessment, you need to multiply
the assessment mark with the weight, you
add the results together, if the value is >
40% you can write exam.

You might also like