MODULE 1
Introduction
Problem-solving is a basic cognitive skill that is important in all fields and is a
key part of being smart. Whether you want to be an engineer, scientist, business
analyst, or computer programmer, you need to be able to deal with difficult
problems and come up with good answers. This is the key to success in almost
any field. In this introduction, we'll talk about what problem-solving is and why
it's important. We'll also lay the groundwork for the methods and techniques
that will guide us through the rest of the course.
Defining Problem Solving
Problem-solving is the process of finding solutions to problems or answers to
questions. These questions or challenges can be about anything, from simple
daily jobs to complicated global problems. Problem-solving is a skill that can be
used in any field. It is a universal skill that people have developed and improved
over thousands of years.
The Importance of Problem Solving
Problem solving is a fundamental cognitive skills that is extremely important in
professional as well as personal life. It is a skill that crosses boundaries and may
be applied in a variety of contexts. Understanding the significance of problem-
solving allows us to understand its role in our everyday lives as well as its
impact on society as a whole. The following are some of the reasons why
problem-solving is important;
Critical Thinking: Problem solving is the cornerstone of critical thinking. It
involves the ability to think analytically, evaluate information, and make
informed decisions. Critical thinking skills are vital in academic pursuits,
professional settings, and personal life. Individuals who excel at problem
1
Page
©CSC121: Introduction to Problem Solving
solving tend to be better at critical thinking, making them more effective
decision-makers.
Innovation and Progress: Many of humanity's greatest achievements have
been the result of innovative problem solving. From the invention of the wheel
to landing humans on the moon, solving complex problems has driven progress
throughout history. Innovators and inventors are essentially problem solvers
who identify challenges and create solutions.
Career Success: In the professional world, problem-solving skills are highly
valued. Employers seek individuals who can address challenges and find
solutions efficiently. Regardless of the industry or job role, problem solvers are
more likely to excel in their careers. They can adapt to changing circumstances,
identify opportunities for improvement, and contribute positively to their
organizations.
Effective Communication: Problem solvers often excel in effective
communication. They can articulate their thoughts, present their solutions
clearly, and collaborate with others to achieve common goals. Effective
communication is vital in team environments and leadership roles.
Personal Growth and Resilience: Overcoming challenges and solving
problems fosters personal growth and resilience. It builds confidence in one's
abilities and provides a sense of accomplishment. People who successfully
navigate difficulties are better prepared to face future obstacles with a positive
attitude.
Societal Impact: At a broader level, the collective problem-solving capacity of
a society plays a crucial role in its progress. Societies that encourage and
nurture problem-solving skills tend to be more innovative and adaptable. They
can address complex issues, such as climate change, healthcare, and poverty,
2
Page
with more effective solutions.
©CSC121: Introduction to Problem Solving
Global Problem Solving: In our interconnected world, global challenges
require global problem solvers. Issues like climate change, pandemics, and
economic disparities demand innovative and collaborative problem-solving
efforts from individuals, organizations, and nations.
Technological Advancements: The rapid advancement of technology owes
much to problem solving. Computer scientists, engineers, and programmers
constantly solve intricate problems to create new technologies and improve
existing ones. Technological innovations have transformed nearly every aspect
of modern life.
Problem Solving Strategies
Effective problem solving involves a systematic and structured approach to
finding solutions to challenges, puzzles, or complex issues. Here are several
problem-solving strategies that can help you tackle problems more efficiently
and creatively:
1. Understand the Problem
Before jumping into solving a problem, take the time to thoroughly understand
it. Define the problem statement, identify the constraints, and clarify what the
desired outcome or solution should look like. This step is crucial because a
well-defined problem is half solved.
Example: You're trying to figure out why your computer won't turn on. You
realize that it's not a power issue because the lights are on, but the screen
remains black. Understanding the problem requires identifying potential causes,
such as a disconnected monitor cable or a faulty graphics card.
2. Divide and Conquer
Break down complex problems into smaller, more manageable sub-problems.
Address each sub-problem individually, and then integrate the solutions to form
3
Page
©CSC121: Introduction to Problem Solving
a complete solution. This approach is particularly useful for tackling large and
intricate challenges.
Example: You have a big pile of laundry to do. Instead of tackling it all at once,
you divide the task into sub-problems: sort clothes by type, wash, dry, fold, and
put them away. By addressing each step separately, you make the laundry task
more manageable.
3. Use Algorithms
An algorithm is a step-by-step procedure for solving a specific problem.
Algorithms provide a structured framework for problem solving. When
applicable, search for or develop algorithms that are relevant to the problem
you're facing. Algorithms can range from mathematical formulas to logical
decision trees.
Example: You want to make a peanut butter and jelly sandwich. The algorithm
is a set of specific steps: spread peanut butter on one slice of bread, spread jelly
on another slice, press the slices together, and cut the sandwich diagonally into
two triangles.
4. Brainstorming
Gather a group of people, if possible, and engage in brainstorming sessions.
Encourage the generation of as many ideas and potential solutions as possible,
without criticism at this stage. Brainstorming can spark creative thinking and
lead to innovative solutions.
Example: You and your friends are deciding what movie to watch. Everyone
suggests different idea and films. Brainstorming generates a list of movie
options to consider.
5. Trial and Error
4
Page
©CSC121: Introduction to Problem Solving
Sometimes, the most straightforward approach is to experiment and learn
through trial and error. Start with a potential solution, test it, and adjust based
on the results. This method is particularly useful for hands-on or practical
problems.
Example: You're solving a jigsaw puzzle. You try different pieces in various
positions until you find the one that fits correctly.
6. Look for Patterns
Patterns often exist within problems and can guide you toward a solution.
Analyze the data or information available to identify recurring elements or
trends that could offer insights or solutions.
Example: You're playing a game of Tic-Tac-Toe, and you notice that every
time your opponent starts in the center, they win. Recognizing this pattern, you
decide to start in the center in your next game to test whether it improves your
chances.
7. Analogies
Analogical thinking involves drawing parallels between the current problem and
similar problems you've encountered or heard of in the past. By recognizing
similarities, you can adapt solutions from previous experiences to the current
problem.
Example: Think of programming languages as different types of vehicles. Just
as you choose a car, bicycle, or motorcycle depending on your needs and
preferences, you select a programming language (e.g., Python, Java, or C++)
based on the task at hand. Each language has its strengths and weaknesses, just
like vehicles do.
8. Use Visual Tools
5
Page
©CSC121: Introduction to Problem Solving
Visual aids, such as flowcharts, diagrams, and mind maps, can help you
visualize the problem and its components. Flowcharts, in particular, are useful
for illustrating the flow of a process or algorithm.
9. Ask Questions
Ask a series of well-defined questions to systematically analyze the problem.
Questions like "What is the root cause?" or "What are the possible solutions?"
can guide your thinking and decision-making process.
Example: You're troubleshooting why your smartphone battery drains quickly.
Questions like "Which apps are consuming the most battery?" and "Is the screen
brightness too high?" help you identify the issue.
10. Prioritize and Plan
Once you have multiple potential solutions, prioritize them based on feasibility,
impact, and other relevant criteria. Create a plan that outlines the steps needed
to implement your chosen solution.
Example: You have a busy day ahead with multiple tasks to complete. You
prioritize your tasks by urgency and importance, creating a to-do list and
planning your day accordingly.
11. Seek Feedback
Don't hesitate to seek feedback from peers, mentors, or subject matter experts.
They can provide valuable perspectives, spot potential flaws in your approach,
and suggest alternative solutions.
Example: You've written an essay for school. You ask a friend to review it and
provide feedback on grammar, clarity, and overall quality to improve your
writing.
12. Persist and Iterate
6
Page
©CSC121: Introduction to Problem Solving
Problem solving can be a challenging and iterative process. Be persistent, and
don't be discouraged by setbacks or failures. Learn from your experiences,
adjust your approach, and continue working toward a solution.
Example: You're trying to solve a challenging Sudoku puzzle. If your initial
number placements don't lead to a solution, you erase and try different numbers
until you successfully complete the puzzle.
13. Use Technology
Leverage technological tools and software, such as data analysis software,
simulations, or specialized problem-solving apps, to assist in your problem-
solving efforts.
Example: You're calculating your monthly budget. Instead of doing it
manually, you use spreadsheet software to perform the calculations and create
visual representations of your financial data.
14. Cross-disciplinary Thinking
Explore solutions and ideas from other fields or disciplines. Sometimes, a
solution from an unrelated domain can be adapted to solve a problem in a novel
way.
Example: Imagine you're a computer programmer. You use computer science
ideas to come up with cool new features for computer programs. Understanding
the programming language the coding involved during programming (coding)
allows you to come up with the new features for computer programs.
15. Ethical Considerations
Always consider the ethical implications of your solutions. Ensure that your
chosen approach aligns with ethical standards and doesn't harm individuals or
communities.
7
Page
©CSC121: Introduction to Problem Solving
Example: You're part of a student team working on a computer science project
involving software development. You discuss ethical considerations, ensuring
the computer/software ethic throughout the programming.
16. Reflect and Learn
After solving a problem, take the time to reflect on the process. What worked
well, and what could be improved? Learning from your problem-solving
experiences enhances your skills over time.
Example: After struggling with a math problem, you review your approach and
realize you made an error in calculations. Reflecting on your mistake, you
correct it and learn from it to avoid similar errors in the future.
8
Page
©CSC121: Introduction to Problem Solving