Home > Courses > Problem Solving (COS 102) > Problem Identification and Types of Problems

Problem Identification and Types of Problems

Subject: Problem Solving (COS 102)

Introduction


Warm-up Discussion
“What problems did you solve today before coming to class?”
Remeber, a problem is any situation where you need to find a solution.





What is Problem Identification


Problem identification is the process of clearly understanding and defining a problem before trying to solve it. It involves carefully examining a situation, asking the right questions, and determining what exactly needs to be done, what information is available, and what the expected result should be. Without proper problem identification, it is easy to solve the wrong problem or apply the wrong solution.

For example, in real life, if a student is performing poorly in school, the problem is not just “low grades”, it could be lack of study time, misunderstanding of subjects, or even health issues. Identifying the exact cause helps in choosing the right solution.

In computing, if a program is not working, the problem might not be the entire code but a small error like a wrong variable name or incorrect input. Another example is when building an application: instead of just saying “create a school app,” proper problem identification would define whether the app is for attendance, grading, or communication. In summary, problem identification helps to clearly state the problem, understand its cause, and prepare the right path toward solving it.

Types of Problems


1. Routine Problems: Routine problems are problems that follow a known pattern and have well-defined steps for solving them. They are usually repetitive and do not require much creativity because the solution method is already established.
These types of problems are common in everyday life and basic computing tasks. For example, calculating the total cost of items in a shop, logging into a system, or performing arithmetic operations like addition and subtraction are routine problems.
In programming, writing a code to add two numbers or display a message is considered a routine problem because the steps are straightforward and predictable.
- Problems that occur frequently and have standard solutions.
- Easy to solve with established methods.
print(2 + 2)



2. Non-Routine Problems: non-routine problems are more complex and do not have a fixed or obvious solution. They require critical thinking, creativity, and sometimes trial and error to solve. These problems often involve new situations where standard methods may not apply directly.
For example, designing a new mobile app, solving a real-world environmental issue, or creating a game involves non-routine problem solving.
In computing, debugging a complex program or developing artificial intelligence systems are non-routine problems because they require deeper thinking and innovative approaches.
- Unique or complex problems without a straightforward solution.
- Require creativity, analysis, and sometimes experimentation.
- Example: Designing a new algorithm to improve search efficiency.

3. Solvable Problems: solvable problems are problems for which a clear solution exists, and the steps to reach that solution can be defined logically. These problems can be handled using algorithms, formulas, or structured methods.
Most problems encountered in school and basic programming fall into this category. For example, calculating a student’s average score, sorting numbers in ascending order, or creating a login system are solvable problems. In programming, if a problem can be broken down into steps that a computer can follow, then it is considered solvable.
- Problems that have a clear solution or method to resolve.
- Example: Debugging a program with a known error message.

4. Unsolvable Problems: unsolvable problems are problems that either have no solution or cannot currently be solved using known methods or technology. Some may be logically impossible, while others are too complex to be solved within a reasonable time.
For example, dividing a number by zero is mathematically undefined, and predicting the exact future with complete certainty is impossible.
In computing, certain problems are known to have no efficient solution, meaning they cannot be solved quickly even with powerful computers. Understanding that some problems are unsolvable helps students focus on realistic and achievable solutions.
- Problems that cannot be solved due to limitations (time, resources, technology).
- Example: Writing a program to divide by zero (mathematically impossible).

print(5 / 0)  # This will cause an error


Computing Examples
Routine: Sorting a list of numbers.
Non-Routine: Developing AI that mimics human creativity.
Solvable: Correcting syntax errors in Python.
Unsolvable: Halting problem (determining if any program will stop or run forever).


Assignment


Theory Assignment
1. What is an Algorithm?
2. Explain Halting problem>
3. Differentiate between routine and non-routine problems
4. Give 2 examples of solvable and unsolvable problems

Practical Assignment
Write a Python program that:


By: Vision University

Comments

No Comment yet!

Login to comment or ask question on this topic


Previous Topic Next Topic