Overview of Problems and
Problem Solving Concepts
Week 1 Lecture Note
The COS121 Team @ 2025
RECOMMENDED TEXT
1. Sprankle, Maureen and Hubbard, Jim.
“Problem Solving and Programming
Concepts.” Ninth Edition. Prentice Hall.
➢ DOWNLOAD the TEXT on COS121 page
on MOODLE
2
3
Learning Objectives
▪ Understand what a problem is in computing terms.
▪ Describe the difference between heuristic &
algorithmic solutions to problems.
▪ List and describe the six problem-solving steps to
solve a problem that has an algorithmic solution.
▪ Use the six problem-solving steps to solve any
problem.
4
Lecture Outline
▪ What is a Problem?
▪ Types of Problems
▪ What is Problem Solving?
▪ Solution Approaches to a Problem
▪ Solution Techniques to a Problem
▪ Problem Solving using Computers
▪ Process/Steps of Problem Solving (6 steps)
5
Lecture Outline | Progress
▪ What is a Problem?
▪ Types of Problems
▪ What is Problem Solving?
▪ Solution Approaches to a Problem
▪ Solution Techniques to a Problem
▪ Problem Solving using Computers
▪ Process/Steps of Problem Solving (6 steps)
6
What is a Problem?
▪ Problems exist in every area of our daily lives
– List Specific Examples of Problems
▪ Problems are obstacles to overcome.
– E.g. Solve a Maths equation, Make a decision, accomplish a task
etc.
▪ A Problem can be defined as an unpleasant situation or
condition which a better or perfect state is desired.
– This situation is referred to as the present state, and the desired
state is known as the goal state.
7
What is a Problem?
▪ Reaching the goal state is achieved by following
– a sequence of steps which can be either simple or
complex.
▪ Inputs made to the present state is what determines
if the desired goal stage will be reached.
– Therefore, a problem is defined by its input and the
property of its desired goal state.
8
Lecture Outline | Progress
▪ What is a Problem?
▪ Types of Problems
▪ What is Problem Solving?
▪ Solution Approaches to a Problem
▪ Solution Techniques to a Problem
▪ Problem Solving using Computers
▪ Process/Steps of Problem Solving (6 steps)
9
Types of Problems
1. Routine Problems
– A problem with a simple, and predictable solution.
• Solve a math problem, spell a word etc.
2. Non-routine Problems
– A problem with subjective, abstract and complex
solutions.
– More difficult to solve
• Arrange 10 popular languages from best to least
10
Lecture Outline | Progress
▪ What is a Problem?
▪ Types of Problems
▪ What is Problem Solving?
▪ Solution Approaches to a Problem
▪ Solution Techniques
▪ Problem Solving using Computers
▪ Process/Steps of Problem Solving (6 steps)
11
Problem Solving
Problem Solving is the application of
ideas, skills, or factual information as
inputs in specific sequence of steps to
attain to the solution to a problem or to
reach a desired goal state.
12
Problem Solving
▪ The sequence of steps is called the Solution
to the problem.
– The solution of a problem will take defined inputs
and produce the desired output.
Specific Solution to Desired
Input the Problem State
13
Problem Solving
▪ However,
– One problem can have multiple solutions
• But the aim of computer programmers is to find the
best solution to the given problem.
– Not all Problems have straight-forward solutions,
• Some require a series of trial and error before a
solution can be reached
14
In-class Interaction [5Mins]
▪ List some problems that have more than one
solution
– Identify the best solution?
▪ List some problems with solutions that would
involve trial and error?
15
Lecture Outline | Progress
▪ What is a Problem?
▪ Types of Problems
▪ What is Problem Solving?
▪ Solution Approaches to a Problem
▪ Solution Techniques to a Problem
▪ Problem Solving using Computers
▪ Process/Steps of Problem Solving (6 steps)
16
Types of Solution Approaches
▪ In computer programming, there are
two classifications of solutions to
problems
1.Algorithmic Solutions
2.Heuristic Solutions
17
Types of Solution Approaches:
Algorithmic Solution
▪ These are solutions to problems in which the desired
state is achieved by a defined and finite sequence of
steps
– E.g. To make pizza • To get the CST building from the
Hostel • To determine the number of rooms in Senate
Building etc.
▪ The sequence of steps it takes to arrive at the
goal/desired state is called Algorithm.
18
Types of Solution Approaches
Heuristic Solutions
▪ These are solutions to problems in which the goal state
is reached by series of steps which emerge
– From Knowledge and Experience
– From various Trials and Error
▪ Therefore, solutions that cannot be reached by direct
steps are called Heuristics Solutions.
– E.g. Making a speech at an event • Playing and winning a soccer
game • Find the right marriage partner.
19
Focus of this Course
▪ This course is mainly concerned with
Algorithmic solution to problems,
– Which can be solved by the computers.
▪ Heuristics solutions are achieved
– Using artificial intelligence techniques, such as
• Artificial Neural Network, Fuzzy Logic, Constraint Optimization etc.
20
Lecture Outline | Progress
▪ What is a Problem?
▪ Types of Problems
▪ What is Problem Solving?
▪ Solution Approaches to a Problem
▪ Solution Techniques to a Problem
▪ Problem Solving using Computers
▪ Process/Steps of Problem Solving (6 steps)
21
Some Solution Techniques (1 of 4)
▪ Abstraction problem
– Solving the problem in a ▪ Brainstorming
model of the system – Suggesting a large
before applying it to the number of solutions or
real system ideas and combining and
▪ Analogy developing them until an
– Using a solution that optimum is found
solved an analogous – especially among groups
of people
22
Some Solution Techniques (2 of 4)
▪ Trial-and-Error ▪ Reduction
– Testing possible solutions – Transforming the problem
until the right one is found into another problem for
▪ Hypothesis testing which solutions exist
– Assuming a possible ▪ Divide and Conquer (D&C)
explanation to the problem – Breaking down a large,
and trying to prove (or, in complex problem into
some contexts, disprove) the smaller, solvable problems
assumption
23
Some Solution Techniques (3 of 4)
▪ Lateral thinking ▪ Method of focal objects
– Approaching solutions – Synthesizing seemingly non-
indirectly and creatively matching characteristics of
▪ Means-ends analysis different objects into
something new
– Choosing an action at each
step to move closer to the ▪ Morphological analysis
goal – Assessing the output and
– E.g. sorting numbers interactions of an entire
system
24
Some Solution Techniques (4 of 4)
▪ Research the problem
– Employing existing ideas ▪ Proof
or adapting existing – Try to prove that the
solutions to similar problem cannot be solved.
problems
– The point where the proof
▪ Root cause Analysis fails will be the starting
– Identifying the cause of point for solving it
25
Lecture Outline | Progress
▪ What is a Problem?
▪ Types of Problems
▪ What is Problem Solving?
▪ Solution Approaches to a Problem
▪ Solution Techniques to a Problem
▪ Problem Solving using Computers
▪ Process/Steps of Problem Solving (6 steps)
26
Solving Problems with Computers
▪ Computers are built to deal with algorithmic
solutions,
– Often difficult or very time consuming for humans.
• Solving a complex mathematical equation or
• Arranging 3000 names in alphabetical order is an easy task for the
computer.
27
Problem Solving: Humans & Computers
▪ Human beings can arrive at Heuristic solutions better
than computers.
▪ For humans, these problem are not difficult
– Identify a human’s voice, play free kicks or how to speak
Spanish
▪ For computers, the difficulty is in programming the
machine to solve the problem:
– How can computers be programmed (in a set of steps) to play a
free kick, or speak Spanish?
28
However…
▪ The field of Computer computer software are
Science that deals with capable of intelligent
heuristic types of problems is behavior
called Artificial Intelligence ▪ The goals of AI includes:
(AI).
– Reasoning, Knowledge,
– AI enables a computer to do Planning, Learning, Natural
things like build its own Language Processing,
knowledge-bank and speak in a Perception and the Ability to
human language. move and manipulate objects
▪ In AI, computers and etc.
29
Lecture Outline | Progress
▪ What is a Problem?
▪ Types of Problems
▪ What is Problem Solving?
▪ Solution Approaches to a Problem
▪ Solution Techniques to a Problem
▪ Problem Solving using Computers
▪ Process/Steps of Problem Solving (6 steps)
30
6 Steps of Solving any Problem
1. Identify the Problem
2. Understand the Problem
3. Identify alternative solutions to problem
– Create a list of possible solutions
4. Select the best way to solve the problem from the list
5. List out the instructions that are involved in the selected
solution to the problem
6. Evaluate the solution
31
1. Identify the Problem
1. The first step of solving any problem is to
➢Identify the problem
▪ You must ask, ‘what is the problem’?
– A set of problems may be given to you by the
instructors, or you may have to identify a problem on
your own.
▪ A problem not known cannot be solved.
32
2. Understand the Problem
➢ Understanding what the problem entails; having a good
knowledge base of the problem.
– For Example Solving
• Computer hardware problem, requires knowledge about computer
parts.
• Calculus problems requires knowledge of calculus
▪ In providing solution, one must communicate with the
client and understand what is involved in solving the
problem.
33
3. Identify Alternative Solutions to Problem
▪ A problem might have more than one solution.
➢List as many alternate solutions as much as
possible.
➢Interacting with others in a brainstorming session,
could provide insights to alternative ways of
solving the problem.
▪ Create a list of all the possible ways to solving the
problem. 34
4. Select the Best Solution
▪ From the list of all the possible ways to solving the
problem, select the BEST solution option.
▪ By evaluating the Pros and Cons of each of the
possible solution options.
– The correct evaluation would help determine the best
solution to select.
35
5. List Instructions Involved in the Solution
▪ The instructions are the step-by-step procedures
that will be followed to arrive at the desired goal
state.
– Instructions are useless except understood by the
individual or machine.
– Instructions must be in:
• Human or Computer-readable forms
▪ These “steps” of instructions are called
ALGORITHMS 36
6. Evaluate Solution
▪ In evaluating the solution, the result of the solution is
checked to ensure correctness.
▪ Also the solution must meet/satisfy the need of the
person, or the situation requesting the solution.
▪ If the result is unsatisfactory or incorrect,
– The list of instructions must be reviewed or
– The other 5 Steps must be repeated.
37
The 6-Steps in Action
▪ Lets Explore the 6 Steps in
Action
38
1. Identify the Problem
How does Someone get to CST
Building from Daniel Hall in 10 Mins?
39
2. Understand the Problem
▪ The knowledge base of the individual and the
layout of the campus must be considered.
– Also the various constraint of the campus should be
known,
• For instance, one would not include using a private-jet
or helicopter as solutions.
40
3. Identify Alternatives Solutions
▪ Use a Cab ▪ Jogging
▪ Use Shuttle Bus ▪ Walk through the main
▪ Use a Bicycle road
▪ Drive a Personal car
▪ Ask for a Lift from
vehicles passing by
41
4. Select the Best Solution
▪ To select the best, weed out alternatives that
are not acceptable,
– e.g. those that would require much money, energy
or time.
▪ Specify the Pros and Cons,
▪ Make a final decision.
42
5. List the instructions
▪ Prepare a list of instructions (Steps) that
will be taken, in the minutest detail that
will result in getting to CST Building in 10
minutes.
43
6. Evaluate the Solution
✓ See if the result matches the expectation of the
problem.
✓ If not, the instructions (Steps) should be reviewed or
the overall process should be repeated.
44
Assignment
▪ Write Short Notes on 5 Solution Techniques
highlighted in this lecture note.
▪ Describe the Solution Approaches highlighted in this
lecture note.
– Maximum of 3 Pages
– Submission via Moodle
– Lifeline: Next Week’s Class
45