Lecture 14 18
Lecture 14 18
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
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
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
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
(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
Key Points
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
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).
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:
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.
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.
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.
What determines
the checkout
speed?
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
……
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.
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.
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.
This is a good example of abstraction. The irrelevant information is taken away to leave the relevant
abstracted information as a diagram.
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
NO
Ready to get up? Hit snooze button
YES
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
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,
Else if items in half full trolley, time is 6 minutes Else if items in full trolley, time
is 8 minutes
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.
• 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
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.
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.
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.
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:
critical • Independent
• Brave
thinker
Study unit: Claims
Unit outcomes:
• The different types of claims
(14.1-14.4/2.1 in textbook)
• Types of claims:
Claims, • Predictions
Hypotheses
statements,
•
• Value judgements
assertions • Recommendations
• Definitions
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, 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
R3 MC
R1 and R2 are indirect reasons
R3 and IC are direct reasons
Analysing complex arguments – a
strategy
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.
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:
• 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
• 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.