Exploring the Problem Solving Cycle in Computer Science – Strategies, Techniques, and Tools

  • Post author By bicycle-u
  • Post date 08.12.2023

The world of computer science is built on the foundation of problem solving. Whether it’s finding a solution to a complex algorithm or analyzing data to make informed decisions, the problem solving cycle is at the core of every computer science endeavor.

At its essence, problem solving in computer science involves breaking down a complex problem into smaller, more manageable parts. This allows for a systematic approach to finding a solution by analyzing each part individually. The process typically starts with gathering and understanding the data or information related to the problem at hand.

Once the data is collected, computer scientists use various techniques and algorithms to analyze and explore possible solutions. This involves evaluating different approaches and considering factors such as efficiency, accuracy, and scalability. During this analysis phase, it is crucial to think critically and creatively to come up with innovative solutions.

After a thorough analysis, the next step in the problem solving cycle is designing and implementing a solution. This involves creating a detailed plan of action, selecting the appropriate tools and technologies, and writing the necessary code to bring the solution to life. Attention to detail and precision are key in this stage to ensure that the solution functions as intended.

The final step in the problem solving cycle is evaluating the solution and its effectiveness. This includes testing the solution against different scenarios and data sets to ensure its reliability and performance. If any issues or limitations are discovered, adjustments and optimizations are made to improve the solution.

In conclusion, the problem solving cycle is a fundamental process in computer science, involving analysis, data exploration, algorithm development, solution implementation, and evaluation. It is through this cycle that computer scientists are able to tackle complex problems and create innovative solutions that drive progress in the field of computer science.

Understanding the Importance

In computer science, problem solving is a crucial skill that is at the core of the problem solving cycle. The problem solving cycle is a systematic approach to analyzing and solving problems, involving various stages such as problem identification, analysis, algorithm design, implementation, and evaluation. Understanding the importance of this cycle is essential for any computer scientist or programmer.

Data Analysis and Algorithm Design

The first step in the problem solving cycle is problem identification, which involves recognizing and defining the issue at hand. Once the problem is identified, the next crucial step is data analysis. This involves gathering and examining relevant data to gain insights and understand the problem better. Data analysis helps in identifying patterns, trends, and potential solutions.

After data analysis, the next step is algorithm design. An algorithm is a step-by-step procedure or set of rules to solve a problem. Designing an efficient algorithm is crucial as it determines the effectiveness and efficiency of the solution. A well-designed algorithm takes into consideration the constraints, resources, and desired outcomes while implementing the solution.

Implementation and Evaluation

Once the algorithm is designed, the next step in the problem solving cycle is implementation. This involves translating the algorithm into a computer program using a programming language. The implementation phase requires coding skills and expertise in a specific programming language.

After implementation, the solution needs to be evaluated to ensure that it solves the problem effectively. Evaluation involves testing the program and verifying its correctness and efficiency. This step is critical to identify any errors or issues and to make necessary improvements or adjustments.

In conclusion, understanding the importance of the problem solving cycle in computer science is essential for any computer scientist or programmer. It provides a systematic and structured approach to analyze and solve problems, ensuring efficient and effective solutions. By following the problem solving cycle, computer scientists can develop robust algorithms, implement them in efficient programs, and evaluate their solutions to ensure their correctness and efficiency.

Identifying the Problem

In the problem solving cycle in computer science, the first step is to identify the problem that needs to be solved. This step is crucial because without a clear understanding of the problem, it is impossible to find a solution.

Identification of the problem involves a thorough analysis of the given data and understanding the goals of the task at hand. It requires careful examination of the problem statement and any constraints or limitations that may affect the solution.

During the identification phase, the problem is broken down into smaller, more manageable parts. This can involve breaking the problem down into sub-problems or identifying the different aspects or components that need to be addressed.

Identifying the problem also involves considering the resources and tools available for solving it. This may include considering the specific tools and programming languages that are best suited for the problem at hand.

By properly identifying the problem, computer scientists can ensure that they are focused on the right goals and are better equipped to find an effective and efficient solution. It sets the stage for the rest of the problem solving cycle, including the analysis, design, implementation, and evaluation phases.

Gathering the Necessary Data

Before finding a solution to a computer science problem, it is essential to gather the necessary data. Whether it’s writing a program or developing an algorithm, data serves as the backbone of any solution. Without proper data collection and analysis, the problem-solving process can become inefficient and ineffective.

The Importance of Data

In computer science, data is crucial for a variety of reasons. First and foremost, it provides the information needed to understand and define the problem at hand. By analyzing the available data, developers and programmers can gain insights into the nature of the problem and determine the most efficient approach for solving it.

Additionally, data allows for the evaluation of potential solutions. By collecting and organizing relevant data, it becomes possible to compare different algorithms or strategies and select the most suitable one. Data also helps in tracking progress and measuring the effectiveness of the chosen solution.

Data Gathering Process

The process of gathering data involves several steps. Firstly, it is necessary to identify the type of data needed for the particular problem. This may include numerical values, textual information, or other types of data. It is important to determine the sources of data and assess their reliability.

Once the required data has been identified, it needs to be collected. This can be done through various methods, such as surveys, experiments, observations, or by accessing existing data sets. The collected data should be properly organized, ensuring its accuracy and validity.

Data cleaning and preprocessing are vital steps in the data gathering process. This involves removing any irrelevant or erroneous data and transforming it into a suitable format for analysis. Properly cleaned and preprocessed data will help in generating reliable and meaningful insights.

Data Analysis and Interpretation

After gathering and preprocessing the data, the next step is data analysis and interpretation. This involves applying various statistical and analytical methods to uncover patterns, trends, and relationships within the data. By analyzing the data, programmers can gain valuable insights that can inform the development of an effective solution.

During the data analysis process, it is crucial to remain objective and unbiased. The analysis should be based on sound reasoning and logical thinking. It is also important to communicate the findings effectively, using visualizations or summaries to convey the information to stakeholders or fellow developers.

In conclusion, gathering the necessary data is a fundamental step in solving computer science problems. It provides the foundation for understanding the problem, evaluating potential solutions, and tracking progress. By following a systematic and rigorous approach to data gathering and analysis, developers can ensure that their solutions are efficient, effective, and well-informed.

Analyzing the Data

Once you have collected the necessary data, the next step in the problem-solving cycle is to analyze it. Data analysis is a crucial component of computer science, as it helps us understand the problem at hand and develop effective solutions.

To analyze the data, you need to break it down into manageable pieces and examine each piece closely. This process involves identifying patterns, trends, and outliers that may be present in the data. By doing so, you can gain insights into the problem and make informed decisions about the best course of action.

There are several techniques and tools available for data analysis in computer science. Some common methods include statistical analysis, data visualization, and machine learning algorithms. Each approach has its own strengths and limitations, so it’s essential to choose the most appropriate method for the problem you are solving.

Statistical Analysis

Statistical analysis involves using mathematical models and techniques to analyze data. It helps in identifying correlations, distributions, and other statistical properties of the data. By applying statistical tests, you can determine the significance and validity of your findings.

Data Visualization

Data visualization is the process of presenting data in a visual format, such as charts, graphs, or maps. It allows for a better understanding of complex data sets and facilitates the communication of findings. Through data visualization, patterns and trends can become more apparent, making it easier to derive meaningful insights.

Machine Learning Algorithms

Machine learning algorithms are powerful tools for analyzing large and complex data sets. These algorithms can automatically detect patterns and relationships in the data, leading to the development of predictive models and solutions. By training the algorithm on a labeled dataset, it can learn from the data and make accurate predictions or classifications.

In conclusion, analyzing the data is a critical step in the problem-solving cycle in computer science. It helps us gain a deeper understanding of the problem and develop effective solutions. Whether through statistical analysis, data visualization, or machine learning algorithms, data analysis plays a vital role in transforming raw data into actionable insights.

Exploring Possible Solutions

Once you have gathered data and completed the analysis, the next step in the problem-solving cycle is to explore possible solutions. This is where the true power of computer science comes into play. With the use of algorithms and the application of scientific principles, computer scientists can develop innovative solutions to complex problems.

During this stage, it is important to consider a variety of potential solutions. This involves brainstorming different ideas and considering their feasibility and potential effectiveness. It may be helpful to consult with colleagues or experts in the field to gather additional insights and perspectives.

Developing an Algorithm

One key aspect of exploring possible solutions is the development of an algorithm. An algorithm is a step-by-step set of instructions that outlines a specific process or procedure. In the context of problem solving in computer science, an algorithm provides a clear roadmap for implementing a solution.

The development of an algorithm requires careful thought and consideration. It is important to break down the problem into smaller, manageable steps and clearly define the inputs and outputs of each step. This allows for the creation of a logical and efficient solution.

Evaluating the Solutions

Once you have developed potential solutions and corresponding algorithms, the next step is to evaluate them. This involves analyzing each solution to determine its strengths, weaknesses, and potential impact. Consider factors such as efficiency, scalability, and resource requirements.

It may be helpful to conduct experiments or simulations to further assess the effectiveness of each solution. This can provide valuable insights and data to support the decision-making process.

Ultimately, the goal of exploring possible solutions is to find the most effective and efficient solution to the problem at hand. By leveraging the power of data, analysis, algorithms, and scientific principles, computer scientists can develop innovative solutions that drive progress and solve complex problems in the world of technology.

Evaluating the Options

Once you have identified potential solutions and algorithms for a problem, the next step in the problem-solving cycle in computer science is to evaluate the options. This evaluation process involves analyzing the potential solutions and algorithms based on various criteria to determine the best course of action.

Consider the Problem

Before evaluating the options, it is important to take a step back and consider the problem at hand. Understand the requirements, constraints, and desired outcomes of the problem. This analysis will help guide the evaluation process.

Analyze the Options

Next, it is crucial to analyze each solution or algorithm option individually. Look at factors such as efficiency, accuracy, ease of implementation, and scalability. Consider whether the solution or algorithm meets the specific requirements of the problem, and if it can be applied to related problems in the future.

Additionally, evaluate the potential risks and drawbacks associated with each option. Consider factors such as cost, time, and resources required for implementation. Assess any potential limitations or trade-offs that may impact the overall effectiveness of the solution or algorithm.

Select the Best Option

Based on the analysis, select the best option that aligns with the specific problem-solving goals. This may involve prioritizing certain criteria or making compromises based on the limitations identified during the evaluation process.

Remember that the best option may not always be the most technically complex or advanced solution. Consider the practicality and feasibility of implementation, as well as the potential impact on the overall system or project.

In conclusion, evaluating the options is a critical step in the problem-solving cycle in computer science. By carefully analyzing the potential solutions and algorithms, considering the problem requirements, and considering the limitations and trade-offs, you can select the best option to solve the problem at hand.

Making a Decision

Decision-making is a critical component in the problem-solving process in computer science. Once you have analyzed the problem, identified the relevant data, and generated a potential solution, it is important to evaluate your options and choose the best course of action.

Consider All Factors

When making a decision, it is important to consider all relevant factors. This includes evaluating the potential benefits and drawbacks of each option, as well as understanding any constraints or limitations that may impact your choice.

In computer science, this may involve analyzing the efficiency of different algorithms or considering the scalability of a proposed solution. It is important to take into account both the short-term and long-term impacts of your decision.

Weigh the Options

Once you have considered all the factors, it is important to weigh the options and determine the best approach. This may involve assigning weights or priorities to different factors based on their importance.

Using techniques such as decision matrices or cost-benefit analysis can help you systematically compare and evaluate different options. By quantifying and assessing the potential risks and rewards, you can make a more informed decision.

Remember: Decision-making in computer science is not purely subjective or based on personal preference. It is crucial to use analytical and logical thinking to select the most optimal solution.

In conclusion, making a decision is a crucial step in the problem-solving process in computer science. By considering all relevant factors and weighing the options using logical analysis, you can choose the best possible solution to a given problem.

Implementing the Solution

Once the problem has been analyzed and a solution has been proposed, the next step in the problem-solving cycle in computer science is implementing the solution. This involves turning the proposed solution into an actual computer program or algorithm that can solve the problem.

In order to implement the solution, computer science professionals need to have a strong understanding of various programming languages and data structures. They need to be able to write code that can manipulate and process data in order to solve the problem at hand.

During the implementation phase, the proposed solution is translated into a series of steps or instructions that a computer can understand and execute. This involves breaking down the problem into smaller sub-problems and designing algorithms to solve each sub-problem.

Computer scientists also need to consider the efficiency of their solution during the implementation phase. They need to ensure that the algorithm they design is able to handle large amounts of data and solve the problem in a reasonable amount of time. This often requires optimization techniques and careful consideration of the data structures used.

Once the code has been written and the algorithm has been implemented, it is important to test and debug the solution. This involves running test cases and checking the output to ensure that the program is working correctly. If any errors or bugs are found, they need to be fixed before the solution can be considered complete.

In conclusion, implementing the solution is a crucial step in the problem-solving cycle in computer science. It requires strong programming skills and a deep understanding of algorithms and data structures. By carefully designing and implementing the solution, computer scientists can solve problems efficiently and effectively.

Testing and Debugging

In computer science, testing and debugging are critical steps in the problem-solving cycle. Testing helps ensure that a program or algorithm is functioning correctly, while debugging analyzes and resolves any issues or bugs that may arise.

Testing involves running a program with specific input data to evaluate its output. This process helps verify that the program produces the expected results and handles different scenarios correctly. It is important to test both the normal and edge cases to ensure the program’s reliability.

Debugging is the process of identifying and fixing errors or bugs in a program. When a program does not produce the expected results or crashes, it is necessary to go through the code to find and fix the problem. This can involve analyzing the program’s logic, checking for syntax errors, and using debugging tools to trace the flow of data and identify the source of the issue.

Data analysis plays a crucial role in both testing and debugging. It helps to identify patterns, anomalies, or inconsistencies in the program’s behavior. By analyzing the data, developers can gain insights into potential issues and make informed decisions on how to improve the program’s performance.

In conclusion, testing and debugging are integral parts of the problem-solving cycle in computer science. Through testing and data analysis, developers can verify the correctness of their programs and identify and resolve any issues that may arise. This ensures that the algorithms and programs developed in computer science are robust, reliable, and efficient.

Iterating for Improvement

In computer science, problem solving often involves iterating through multiple cycles of analysis, solution development, and evaluation. This iterative process allows for continuous improvement in finding the most effective solution to a given problem.

The problem solving cycle starts with problem analysis, where the specific problem is identified and its requirements are understood. This step involves examining the problem from various angles and gathering all relevant information.

Once the problem is properly understood, the next step is to develop an algorithm or a step-by-step plan to solve the problem. This algorithm is a set of instructions that, when followed correctly, will lead to the solution.

After the algorithm is developed, it is implemented in a computer program. This step involves translating the algorithm into a programming language that a computer can understand and execute.

Once the program is implemented, it is then tested and evaluated to ensure that it produces the correct solution. This evaluation step is crucial in identifying any errors or inefficiencies in the program and allows for further improvement.

If any issues or problems are found during testing, the cycle iterates, starting from problem analysis again. This iterative process allows for refinement and improvement of the solution until the desired results are achieved.

Iterating for improvement is a fundamental concept in computer science problem solving. By continually analyzing, developing, and evaluating solutions, computer scientists are able to find the most optimal and efficient approaches to solving problems.

Documenting the Process

Documenting the problem-solving process in computer science is an essential step to ensure that the cycle is repeated successfully. The process involves gathering information, analyzing the problem, and designing a solution.

During the analysis phase, it is crucial to identify the specific problem at hand and break it down into smaller components. This allows for a more targeted approach to finding the solution. Additionally, analyzing the data involved in the problem can provide valuable insights and help in designing an effective solution.

Once the analysis is complete, it is important to document the findings. This documentation can take various forms, such as written reports, diagrams, or even code comments. The goal is to create a record that captures the problem, the analysis, and the proposed solution.

Documenting the process serves several purposes. Firstly, it allows for easy communication and collaboration between team members or future developers. By documenting the problem, analysis, and solution, others can easily understand the thought process behind the solution and potentially build upon it.

Secondly, documenting the process provides an opportunity for reflection and improvement. By reviewing the documentation, developers can identify areas where the problem-solving cycle can be strengthened or optimized. This continuous improvement is crucial in the field of computer science, as new challenges and technologies emerge rapidly.

In conclusion, documenting the problem-solving process is an integral part of the computer science cycle. It allows for effective communication, collaboration, and reflection on the solutions devised. By taking the time to document the process, developers can ensure a more efficient and successful problem-solving experience.

Communicating the Solution

Once the problem solving cycle is complete, it is important to effectively communicate the solution. This involves explaining the analysis, data, and steps taken to arrive at the solution.

Analyzing the Problem

During the problem solving cycle, a thorough analysis of the problem is conducted. This includes understanding the problem statement, gathering relevant data, and identifying any constraints or limitations. It is important to clearly communicate this analysis to ensure that others understand the problem at hand.

Presenting the Solution

The next step in communicating the solution is presenting the actual solution. This should include a detailed explanation of the steps taken to solve the problem, as well as any algorithms or data structures used. It is important to provide clear and concise descriptions of the solution, so that others can understand and reproduce the results.

Overall, effective communication of the solution in computer science is essential to ensure that others can understand and replicate the problem solving process. By clearly explaining the analysis, data, and steps taken, the solution can be communicated in a way that promotes understanding and collaboration within the field of computer science.

Reflecting and Learning

Reflecting and learning are crucial steps in the problem solving cycle in computer science. Once a problem has been solved, it is essential to reflect on the entire process and learn from the experience. This allows for continuous improvement and growth in the field of computer science.

During the reflecting phase, one must analyze and evaluate the problem solving process. This involves reviewing the initial problem statement, understanding the constraints and requirements, and assessing the effectiveness of the chosen algorithm and solution. It is important to consider the efficiency and accuracy of the solution, as well as any potential limitations or areas for optimization.

By reflecting on the problem solving cycle, computer scientists can gain valuable insights into their own strengths and weaknesses. They can identify areas where they excelled and areas where improvement is needed. This self-analysis helps in honing problem solving skills and becoming a better problem solver.

Learning from Mistakes

Mistakes are an integral part of the problem solving cycle, and they provide valuable learning opportunities. When a problem is not successfully solved, it is essential to analyze the reasons behind the failure and learn from them. This involves identifying errors in the algorithm or solution, understanding the underlying concepts or principles that were misunderstood, and finding alternative approaches or strategies.

Failure should not be seen as a setback, but rather as an opportunity for growth. By learning from mistakes, computer scientists can improve their problem solving abilities and expand their knowledge and understanding of computer science. It is through these failures and the subsequent learning process that new ideas and innovations are often born.

Continuous Improvement

Reflecting and learning should not be limited to individual problem solving experiences, but should be an ongoing practice. As computer science is a rapidly evolving field, it is crucial to stay updated with new technologies, algorithms, and problem solving techniques. Continuous learning and improvement contribute to staying competitive and relevant in the field.

Computer scientists can engage in continuous improvement by seeking feedback from peers, participating in research and development activities, attending conferences and workshops, and actively seeking new challenges and problem solving opportunities. This dedication to learning and improvement ensures that one’s problem solving skills remain sharp and effective.

In conclusion, reflecting and learning are integral parts of the problem solving cycle in computer science. They enable computer scientists to refine their problem solving abilities, learn from mistakes, and continuously improve their skills and knowledge. By embracing these steps, computer scientists can stay at the forefront of the ever-changing world of computer science and contribute to its advancements.

Applying Problem Solving in Real Life

In computer science, problem solving is not limited to the realm of programming and algorithms. It is a skill that can be applied to various aspects of our daily lives, helping us to solve problems efficiently and effectively. By using the problem-solving cycle and applying the principles of analysis, data, solution, algorithm, and cycle, we can tackle real-life challenges with confidence and success.

The first step in problem-solving is to analyze the problem at hand. This involves breaking it down into smaller, more manageable parts and identifying the key issues or goals. By understanding the problem thoroughly, we can gain insights into its root causes and potential solutions.

For example, let’s say you’re facing a recurring issue in your daily commute – traffic congestion. By analyzing the problem, you may discover that the main causes are a lack of alternative routes and a lack of communication between drivers. This analysis helps you identify potential solutions such as using navigation apps to find alternate routes or promoting carpooling to reduce the number of vehicles on the road.

Gathering and Analyzing Data

Once we have identified the problem, it is important to gather relevant data to support our analysis. This may involve conducting surveys, collecting statistics, or reviewing existing research. By gathering data, we can make informed decisions and prioritize potential solutions based on their impact and feasibility.

Continuing with the traffic congestion example, you may gather data on the average commute time, the number of vehicles on the road, and the impact of carpooling on congestion levels. This data can help you analyze the problem more accurately and determine the most effective solutions.

Generating and Evaluating Solutions

After analyzing the problem and gathering data, the next step is to generate potential solutions. This can be done through brainstorming, researching best practices, or seeking input from experts. It is important to consider multiple options and think outside the box to find innovative and effective solutions.

For our traffic congestion problem, potential solutions can include implementing a smart traffic management system that optimizes traffic flow or investing in public transportation to incentivize people to leave their cars at home. By evaluating each solution’s potential impact, cost, and feasibility, you can make an informed decision on the best course of action.

Implementing and Iterating

Once a solution has been chosen, it is time to implement it in real life. This may involve developing a plan, allocating resources, and executing the solution. It is important to monitor the progress and collect feedback to learn from the implementation and make necessary adjustments.

For example, if the chosen solution to address traffic congestion is implementing a smart traffic management system, you would work with engineers and transportation authorities to develop and deploy the system. Regular evaluation and iteration of the system’s performance would ensure that it is effective and making a positive impact on reducing congestion.

By applying the problem-solving cycle derived from computer science to real-life situations, we can approach challenges with a systematic and analytical mindset. This can help us make better decisions, improve our problem-solving skills, and ultimately achieve more efficient and effective solutions.

Building Problem Solving Skills

In the field of computer science, problem-solving is a fundamental skill that is crucial for success. Whether you are a computer scientist, programmer, or student, developing strong problem-solving skills will greatly benefit your work and studies. It allows you to approach challenges with a logical and systematic approach, leading to efficient and effective problem resolution.

The Problem Solving Cycle

Problem-solving in computer science involves a cyclical process known as the problem-solving cycle. This cycle consists of several stages, including problem identification, data analysis, solution development, implementation, and evaluation. By following this cycle, computer scientists are able to tackle complex problems and arrive at optimal solutions.

Importance of Data Analysis

Data analysis is a critical step in the problem-solving cycle. It involves gathering and examining relevant data to gain insights and identify patterns that can inform the development of a solution. Without proper data analysis, computer scientists may overlook important information or make unfounded assumptions, leading to subpar solutions.

To effectively analyze data, computer scientists can employ various techniques such as data visualization, statistical analysis, and machine learning algorithms. These tools enable them to extract meaningful information from large datasets and make informed decisions during the problem-solving process.

Developing Effective Solutions

Developing effective solutions requires creativity, critical thinking, and logical reasoning. Computer scientists must evaluate multiple approaches, consider various factors, and assess the feasibility of different solutions. They should also consider potential limitations and trade-offs to ensure that the chosen solution addresses the problem effectively.

Furthermore, collaboration and communication skills are vital when building problem-solving skills. Computer scientists often work in teams and need to effectively communicate their ideas, propose solutions, and address any challenges that arise during the problem-solving process. Strong interpersonal skills facilitate collaboration and enhance problem-solving outcomes.

  • Mastering programming languages and algorithms
  • Staying updated with technological advancements in the field
  • Practicing problem solving through coding challenges and projects
  • Seeking feedback and learning from mistakes
  • Continuing to learn and improve problem-solving skills

By following these strategies, individuals can strengthen their problem-solving abilities and become more effective computer scientists or programmers. Problem-solving is an essential skill in computer science and plays a central role in driving innovation and advancing the field.

Questions and answers:

What is the problem solving cycle in computer science.

The problem solving cycle in computer science refers to a systematic approach that programmers use to solve problems. It involves several steps, including problem definition, algorithm design, implementation, testing, and debugging.

How important is the problem solving cycle in computer science?

The problem solving cycle is extremely important in computer science as it allows programmers to effectively tackle complex problems and develop efficient solutions. It helps in organizing the thought process and ensures that the problem is approached in a logical and systematic manner.

What are the steps involved in the problem solving cycle?

The problem solving cycle typically consists of the following steps: problem definition and analysis, algorithm design, implementation, testing, and debugging. These steps are repeated as necessary until a satisfactory solution is achieved.

Can you explain the problem definition and analysis step in the problem solving cycle?

During the problem definition and analysis step, the programmer identifies and thoroughly understands the problem that needs to be solved. This involves analyzing the requirements, constraints, and possible inputs and outputs. It is important to have a clear understanding of the problem before proceeding to the next steps.

Why is testing and debugging an important step in the problem solving cycle?

Testing and debugging are important steps in the problem solving cycle because they ensure that the implemented solution functions as intended and is free from errors. Through testing, the programmer can identify and fix any issues or bugs in the code, thereby improving the quality and reliability of the solution.

What is the problem-solving cycle in computer science?

The problem-solving cycle in computer science refers to the systematic approach that computer scientists use to solve problems. It involves various steps, including problem analysis, algorithm design, coding, testing, and debugging.

Related posts:

  • The Stages of the Problem Solving Cycle in Cognitive Psychology – Understanding, Planning, Execution, Evaluation, and Reflection
  • A Comprehensive Guide to the Problem Solving Cycle in Psychology – Strategies, Techniques, and Applications
  • The Step-by-Step Problem Solving Cycle for Effective Solutions
  • The Importance of Implementing the Problem Solving Cycle in Education to Foster Critical Thinking and Problem-Solving Skills in Students
  • The Importance of the Problem Solving Cycle in Business Studies – Strategies for Success
  • The Comprehensive Guide to the Problem Solving Cycle in PDF Format
  • A Comprehensive Guide on the Problem Solving Cycle – Step-by-Step Approach with Real-Life Example
  • The Seven Essential Steps of the Problem Solving Cycle
  • Skip to primary navigation
  • Skip to main content
  • Skip to footer

logo

Eduinput- Online tutoring platform for Math, chemistry, Biology Physics

An online learning platform for Mcat, JEE, NEET and UPSC students

Problem Solving Techniques in Computer Science

mention any two computer problem solving techniques

Problem-solving is the process of identifying a problem and finding the best solution for it. Problem-solving is a technique that can be developed by following a well-organized approach. Every day we encounter many problems and solve them.

Every problem is different. Some problems are very difficult and are needed more attention to recognize the solution.

A problem may be solved by multiple methods. One solution may be faster, cheaper, and more reliable than others. It is important to choose a suitable worthy solution.

Different strategies, techniques, and tools are used to solve a problem. Computers are used as a tool to solve complex problems by developing computer programs.

Computer programs contain different instructions for computers. A programmer writes instructions and the computer executes these instructions to solve a problem. A person can be a good programmer if he has the skill of solving problems.

Table of Contents

Problem-Solving Techniques.

There are three different types of problem-solving techniques.

A set of instructions given to a computer to solve a problem is called a program.

A computer works according to the given instructions in the program. Computer programs are written in programming languages. A person who develops a program is called a programmer.

The programmer develops programs to instruct the computer on how to process data into information. The programmer uses programming languages or tools to write programs.

 Advantages of Computer Program

Different advantages of computer programs are as follows:

  • A computer program can solve many problems by giving instructions to the computer.
  • A computer program can be used to perform a task again and again and fastly.
  • A program can process a large amount of data easily.
  • It can display the results in different styles.
  • The processing of a program is more efficient and less time-consuming.
  • Different types of programs are used in different fields to perform certain tasks.

   Algorithms & Pseudo Code

An algorithm is a step-by-step procedure to solve a problem. The process of solving

problem becomes simpler and easier with help of algorithm. It is better to write an algorithm

before writing the actual computer program.

Properties of Algorithm

Following are some properties of an algorithm:

  • The given problem should be broken down into simple and meaningful steps.
  • The steps should be numbered sequentially.
  • The steps should be descriptive and written in simple English. 

Algorithms are written in a language that is similar to simple English called pseudocode. There is no standard to write pseudo code. It is used to specify program logic in an English-like manner that is independent of any particular programming language.

Pseudocode simplifies program development by separating it into two main parts.

Logic Design

In this part, the logic of the program is designed. We specify different steps required to solve the problem and the sequence of these steps.

In this part, the algorithm is converted into a program. The steps of the algorithm are

translated into instructions of any programming language.

The use of pseudo-code allows the programmer to focus on the planning of the program. After the planning is final, it can be written in any programming language.

The following algorithm inputs two numbers calculate the sum and then displays the result on the screen.

4. Total A+B

5. Display Total

The following algorithm inputs the radius from the user and calculates the area of a circle.

Hint: Area 3.14* radius* radius)

2. Input radius in r

3. area = 3.14* r* r

4. Print area

Advantages of Algorithm

There are many advantages of an algorithm

Reduce complexity

Writing algorithm and program separately simplifies the overall task by dividing it into two simpler tasks. While writing the algorithm, we can focus on solving the problem instead of concentrating on a particular language.

Increased Flexibility

An algorithm is written so that the code may be written in any language. Using an algorithm, the program could be written in Visual Basic, Java or C++, etc.

Ease of Understanding

It is not necessary to understand a particular programming language to understand an algorithm. It is written in an English-like manner.

A flowchart is a combination of two words flow and chart. A chart consists of different symbols to display information about any program. Flow indicates the direction processing that takes place in the program.

Flowchart is a graphical representation of an algorithm. It is a way of visually presenting the flow of data, operations performed on data, and the sequence of these operations.

Flowchart is similar to the layout plan of a building. A designer draws the layout plan of the building before constructing it. Similarly, a programmer prefers to design the flowchart before writing the computer program. Flowchart is designed according to the defined rule.

Uses of Logic Flowchart

Flowchart is used for the following reasons

  • Flowchart is used to represent an algorithm in a simple graphical manner.
  • Flowchart is used to show the steps of an algorithm easily.
  • Flowchart is used to understand the flow of the program.
  • Flowchart is used to improve the logic for solving a problem.
  • Programs can be reviewed and debugged easily.
  • Chapter-Getting Started with C

Related Articles

mention any two computer problem solving techniques

High-Level Programming Language-Popular High-level languages

mention any two computer problem solving techniques

Debugging in Turbo C++ | Different types of Error in C/ C++

mention any two computer problem solving techniques

Scripting Languages-Different Types of Scripting Languages

mention any two computer problem solving techniques

Structured Programming Technique-Advantages and Disadvantages

Leave a reply cancel reply.

Your email address will not be published. Required fields are marked *

Save my name, email, and website in this browser for the next time I comment.

Get updates about new courses

NCERT solutions

footer-logo

9th Class 10th Class 11 Class 12 Class

Join the groups below to get updates.

Status.net

What is Problem Solving? (Steps, Techniques, Examples)

By Status.net Editorial Team on May 7, 2023 — 5 minutes to read

What Is Problem Solving?

Definition and importance.

Problem solving is the process of finding solutions to obstacles or challenges you encounter in your life or work. It is a crucial skill that allows you to tackle complex situations, adapt to changes, and overcome difficulties with ease. Mastering this ability will contribute to both your personal and professional growth, leading to more successful outcomes and better decision-making.

Problem-Solving Steps

The problem-solving process typically includes the following steps:

  • Identify the issue : Recognize the problem that needs to be solved.
  • Analyze the situation : Examine the issue in depth, gather all relevant information, and consider any limitations or constraints that may be present.
  • Generate potential solutions : Brainstorm a list of possible solutions to the issue, without immediately judging or evaluating them.
  • Evaluate options : Weigh the pros and cons of each potential solution, considering factors such as feasibility, effectiveness, and potential risks.
  • Select the best solution : Choose the option that best addresses the problem and aligns with your objectives.
  • Implement the solution : Put the selected solution into action and monitor the results to ensure it resolves the issue.
  • Review and learn : Reflect on the problem-solving process, identify any improvements or adjustments that can be made, and apply these learnings to future situations.

Defining the Problem

To start tackling a problem, first, identify and understand it. Analyzing the issue thoroughly helps to clarify its scope and nature. Ask questions to gather information and consider the problem from various angles. Some strategies to define the problem include:

  • Brainstorming with others
  • Asking the 5 Ws and 1 H (Who, What, When, Where, Why, and How)
  • Analyzing cause and effect
  • Creating a problem statement

Generating Solutions

Once the problem is clearly understood, brainstorm possible solutions. Think creatively and keep an open mind, as well as considering lessons from past experiences. Consider:

  • Creating a list of potential ideas to solve the problem
  • Grouping and categorizing similar solutions
  • Prioritizing potential solutions based on feasibility, cost, and resources required
  • Involving others to share diverse opinions and inputs

Evaluating and Selecting Solutions

Evaluate each potential solution, weighing its pros and cons. To facilitate decision-making, use techniques such as:

  • SWOT analysis (Strengths, Weaknesses, Opportunities, Threats)
  • Decision-making matrices
  • Pros and cons lists
  • Risk assessments

After evaluating, choose the most suitable solution based on effectiveness, cost, and time constraints.

Implementing and Monitoring the Solution

Implement the chosen solution and monitor its progress. Key actions include:

  • Communicating the solution to relevant parties
  • Setting timelines and milestones
  • Assigning tasks and responsibilities
  • Monitoring the solution and making adjustments as necessary
  • Evaluating the effectiveness of the solution after implementation

Utilize feedback from stakeholders and consider potential improvements. Remember that problem-solving is an ongoing process that can always be refined and enhanced.

Problem-Solving Techniques

During each step, you may find it helpful to utilize various problem-solving techniques, such as:

  • Brainstorming : A free-flowing, open-minded session where ideas are generated and listed without judgment, to encourage creativity and innovative thinking.
  • Root cause analysis : A method that explores the underlying causes of a problem to find the most effective solution rather than addressing superficial symptoms.
  • SWOT analysis : A tool used to evaluate the strengths, weaknesses, opportunities, and threats related to a problem or decision, providing a comprehensive view of the situation.
  • Mind mapping : A visual technique that uses diagrams to organize and connect ideas, helping to identify patterns, relationships, and possible solutions.

Brainstorming

When facing a problem, start by conducting a brainstorming session. Gather your team and encourage an open discussion where everyone contributes ideas, no matter how outlandish they may seem. This helps you:

  • Generate a diverse range of solutions
  • Encourage all team members to participate
  • Foster creative thinking

When brainstorming, remember to:

  • Reserve judgment until the session is over
  • Encourage wild ideas
  • Combine and improve upon ideas

Root Cause Analysis

For effective problem-solving, identifying the root cause of the issue at hand is crucial. Try these methods:

  • 5 Whys : Ask “why” five times to get to the underlying cause.
  • Fishbone Diagram : Create a diagram representing the problem and break it down into categories of potential causes.
  • Pareto Analysis : Determine the few most significant causes underlying the majority of problems.

SWOT Analysis

SWOT analysis helps you examine the Strengths, Weaknesses, Opportunities, and Threats related to your problem. To perform a SWOT analysis:

  • List your problem’s strengths, such as relevant resources or strong partnerships.
  • Identify its weaknesses, such as knowledge gaps or limited resources.
  • Explore opportunities, like trends or new technologies, that could help solve the problem.
  • Recognize potential threats, like competition or regulatory barriers.

SWOT analysis aids in understanding the internal and external factors affecting the problem, which can help guide your solution.

Mind Mapping

A mind map is a visual representation of your problem and potential solutions. It enables you to organize information in a structured and intuitive manner. To create a mind map:

  • Write the problem in the center of a blank page.
  • Draw branches from the central problem to related sub-problems or contributing factors.
  • Add more branches to represent potential solutions or further ideas.

Mind mapping allows you to visually see connections between ideas and promotes creativity in problem-solving.

Examples of Problem Solving in Various Contexts

In the business world, you might encounter problems related to finances, operations, or communication. Applying problem-solving skills in these situations could look like:

  • Identifying areas of improvement in your company’s financial performance and implementing cost-saving measures
  • Resolving internal conflicts among team members by listening and understanding different perspectives, then proposing and negotiating solutions
  • Streamlining a process for better productivity by removing redundancies, automating tasks, or re-allocating resources

In educational contexts, problem-solving can be seen in various aspects, such as:

  • Addressing a gap in students’ understanding by employing diverse teaching methods to cater to different learning styles
  • Developing a strategy for successful time management to balance academic responsibilities and extracurricular activities
  • Seeking resources and support to provide equal opportunities for learners with special needs or disabilities

Everyday life is full of challenges that require problem-solving skills. Some examples include:

  • Overcoming a personal obstacle, such as improving your fitness level, by establishing achievable goals, measuring progress, and adjusting your approach accordingly
  • Navigating a new environment or city by researching your surroundings, asking for directions, or using technology like GPS to guide you
  • Dealing with a sudden change, like a change in your work schedule, by assessing the situation, identifying potential impacts, and adapting your plans to accommodate the change.
  • How to Resolve Employee Conflict at Work [Steps, Tips, Examples]
  • How to Write Inspiring Core Values? 5 Steps with Examples
  • 30 Employee Feedback Examples (Positive & Negative)

What Is Problem Solving? How Software Engineers Approach Complex Challenges

HackerRank AI Promotion

From debugging an existing system to designing an entirely new software application, a day in the life of a software engineer is filled with various challenges and complexities. The one skill that glues these disparate tasks together and makes them manageable? Problem solving . 

Throughout this blog post, we’ll explore why problem-solving skills are so critical for software engineers, delve into the techniques they use to address complex challenges, and discuss how hiring managers can identify these skills during the hiring process. 

What Is Problem Solving?

But what exactly is problem solving in the context of software engineering? How does it work, and why is it so important?

Problem solving, in the simplest terms, is the process of identifying a problem, analyzing it, and finding the most effective solution to overcome it. For software engineers, this process is deeply embedded in their daily workflow. It could be something as simple as figuring out why a piece of code isn’t working as expected, or something as complex as designing the architecture for a new software system. 

In a world where technology is evolving at a blistering pace, the complexity and volume of problems that software engineers face are also growing. As such, the ability to tackle these issues head-on and find innovative solutions is not only a handy skill — it’s a necessity. 

The Importance of Problem-Solving Skills for Software Engineers

Problem-solving isn’t just another ability that software engineers pull out of their toolkits when they encounter a bug or a system failure. It’s a constant, ongoing process that’s intrinsic to every aspect of their work. Let’s break down why this skill is so critical.

Driving Development Forward

Without problem solving, software development would hit a standstill. Every new feature, every optimization, and every bug fix is a problem that needs solving. Whether it’s a performance issue that needs diagnosing or a user interface that needs improving, the capacity to tackle and solve these problems is what keeps the wheels of development turning.

It’s estimated that 60% of software development lifecycle costs are related to maintenance tasks, including debugging and problem solving. This highlights how pivotal this skill is to the everyday functioning and advancement of software systems.

Innovation and Optimization

The importance of problem solving isn’t confined to reactive scenarios; it also plays a major role in proactive, innovative initiatives . Software engineers often need to think outside the box to come up with creative solutions, whether it’s optimizing an algorithm to run faster or designing a new feature to meet customer needs. These are all forms of problem solving.

Consider the development of the modern smartphone. It wasn’t born out of a pre-existing issue but was a solution to a problem people didn’t realize they had — a device that combined communication, entertainment, and productivity into one handheld tool.

Increasing Efficiency and Productivity

Good problem-solving skills can save a lot of time and resources. Effective problem-solvers are adept at dissecting an issue to understand its root cause, thus reducing the time spent on trial and error. This efficiency means projects move faster, releases happen sooner, and businesses stay ahead of their competition.

Improving Software Quality

Problem solving also plays a significant role in enhancing the quality of the end product. By tackling the root causes of bugs and system failures, software engineers can deliver reliable, high-performing software. This is critical because, according to the Consortium for Information and Software Quality, poor quality software in the U.S. in 2022 cost at least $2.41 trillion in operational issues, wasted developer time, and other related problems.

Problem-Solving Techniques in Software Engineering

So how do software engineers go about tackling these complex challenges? Let’s explore some of the key problem-solving techniques, theories, and processes they commonly use.

Decomposition

Breaking down a problem into smaller, manageable parts is one of the first steps in the problem-solving process. It’s like dealing with a complicated puzzle. You don’t try to solve it all at once. Instead, you separate the pieces, group them based on similarities, and then start working on the smaller sets. This method allows software engineers to handle complex issues without being overwhelmed and makes it easier to identify where things might be going wrong.

Abstraction

In the realm of software engineering, abstraction means focusing on the necessary information only and ignoring irrelevant details. It is a way of simplifying complex systems to make them easier to understand and manage. For instance, a software engineer might ignore the details of how a database works to focus on the information it holds and how to retrieve or modify that information.

Algorithmic Thinking

At its core, software engineering is about creating algorithms — step-by-step procedures to solve a problem or accomplish a goal. Algorithmic thinking involves conceiving and expressing these procedures clearly and accurately and viewing every problem through an algorithmic lens. A well-designed algorithm not only solves the problem at hand but also does so efficiently, saving computational resources.

Parallel Thinking

Parallel thinking is a structured process where team members think in the same direction at the same time, allowing for more organized discussion and collaboration. It’s an approach popularized by Edward de Bono with the “ Six Thinking Hats ” technique, where each “hat” represents a different style of thinking.

In the context of software engineering, parallel thinking can be highly effective for problem solving. For instance, when dealing with a complex issue, the team can use the “White Hat” to focus solely on the data and facts about the problem, then the “Black Hat” to consider potential problems with a proposed solution, and so on. This structured approach can lead to more comprehensive analysis and more effective solutions, and it ensures that everyone’s perspectives are considered.

This is the process of identifying and fixing errors in code . Debugging involves carefully reviewing the code, reproducing and analyzing the error, and then making necessary modifications to rectify the problem. It’s a key part of maintaining and improving software quality.

Testing and Validation

Testing is an essential part of problem solving in software engineering. Engineers use a variety of tests to verify that their code works as expected and to uncover any potential issues. These range from unit tests that check individual components of the code to integration tests that ensure the pieces work well together. Validation, on the other hand, ensures that the solution not only works but also fulfills the intended requirements and objectives.

Explore verified tech roles & skills.

The definitive directory of tech roles, backed by machine learning and skills intelligence.

Explore all roles

Evaluating Problem-Solving Skills

We’ve examined the importance of problem-solving in the work of a software engineer and explored various techniques software engineers employ to approach complex challenges. Now, let’s delve into how hiring teams can identify and evaluate problem-solving skills during the hiring process.

Recognizing Problem-Solving Skills in Candidates

How can you tell if a candidate is a good problem solver? Look for these indicators:

  • Previous Experience: A history of dealing with complex, challenging projects is often a good sign. Ask the candidate to discuss a difficult problem they faced in a previous role and how they solved it.
  • Problem-Solving Questions: During interviews, pose hypothetical scenarios or present real problems your company has faced. Ask candidates to explain how they would tackle these issues. You’re not just looking for a correct solution but the thought process that led them there.
  • Technical Tests: Coding challenges and other technical tests can provide insight into a candidate’s problem-solving abilities. Consider leveraging a platform for assessing these skills in a realistic, job-related context.

Assessing Problem-Solving Skills

Once you’ve identified potential problem solvers, here are a few ways you can assess their skills:

  • Solution Effectiveness: Did the candidate solve the problem? How efficient and effective is their solution?
  • Approach and Process: Go beyond whether or not they solved the problem and examine how they arrived at their solution. Did they break the problem down into manageable parts? Did they consider different perspectives and possibilities?
  • Communication: A good problem solver can explain their thought process clearly. Can the candidate effectively communicate how they arrived at their solution and why they chose it?
  • Adaptability: Problem-solving often involves a degree of trial and error. How does the candidate handle roadblocks? Do they adapt their approach based on new information or feedback?

Hiring managers play a crucial role in identifying and fostering problem-solving skills within their teams. By focusing on these abilities during the hiring process, companies can build teams that are more capable, innovative, and resilient.

Key Takeaways

As you can see, problem solving plays a pivotal role in software engineering. Far from being an occasional requirement, it is the lifeblood that drives development forward, catalyzes innovation, and delivers of quality software. 

By leveraging problem-solving techniques, software engineers employ a powerful suite of strategies to overcome complex challenges. But mastering these techniques isn’t simple feat. It requires a learning mindset, regular practice, collaboration, reflective thinking, resilience, and a commitment to staying updated with industry trends. 

For hiring managers and team leads, recognizing these skills and fostering a culture that values and nurtures problem solving is key. It’s this emphasis on problem solving that can differentiate an average team from a high-performing one and an ordinary product from an industry-leading one.

At the end of the day, software engineering is fundamentally about solving problems — problems that matter to businesses, to users, and to the wider society. And it’s the proficient problem solvers who stand at the forefront of this dynamic field, turning challenges into opportunities, and ideas into reality.

This article was written with the help of AI. Can you tell which parts?

Get started with HackerRank

Over 2,500 companies and 40% of developers worldwide use HackerRank to hire tech talent and sharpen their skills.

Recommended topics

  • Hire Developers
  • Problem Solving

Abstract, futuristic image generated by AI

What Factors Actually Impact a Developer’s Decision to Accept an Offer?

How to think like a programmer — lessons in problem solving

How to think like a programmer — lessons in problem solving

by Richard Reis

aNP21-ICMABUCyfdi4Pys7P0D2wiZqTd3iRY

If you’re interested in programming, you may well have seen this quote before:

“Everyone in this country should learn to program a computer, because it teaches you to think.” — Steve Jobs

You probably also wondered what does it mean, exactly, to think like a programmer? And how do you do it??

Essentially, it’s all about a more effective way for problem solving .

In this post, my goal is to teach you that way.

By the end of it, you’ll know exactly what steps to take to be a better problem-solver.

Why is this important?

Problem solving is the meta-skill.

We all have problems. Big and small. How we deal with them is sometimes, well…pretty random.

Unless you have a system, this is probably how you “solve” problems (which is what I did when I started coding):

  • Try a solution.
  • If that doesn’t work, try another one.
  • If that doesn’t work, repeat step 2 until you luck out.

Look, sometimes you luck out. But that is the worst way to solve problems! And it’s a huge, huge waste of time.

The best way involves a) having a framework and b) practicing it.

“Almost all employers prioritize problem-solving skills first.
Problem-solving skills are almost unanimously the most important qualification that employers look for….more than programming languages proficiency, debugging, and system design.
Demonstrating computational thinking or the ability to break down large, complex problems is just as valuable (if not more so) than the baseline technical skills required for a job.” — Hacker Rank ( 2018 Developer Skills Report )

Have a framework

To find the right framework, I followed the advice in Tim Ferriss’ book on learning, “ The 4-Hour Chef ”.

It led me to interview two really impressive people: C. Jordan Ball (ranked 1st or 2nd out of 65,000+ users on Coderbyte ), and V. Anton Spraul (author of the book “ Think Like a Programmer: An Introduction to Creative Problem Solving ”).

I asked them the same questions, and guess what? Their answers were pretty similar!

Soon, you too will know them.

Sidenote: this doesn’t mean they did everything the same way. Everyone is different. You’ll be different. But if you start with principles we all agree are good, you’ll get a lot further a lot quicker.

“The biggest mistake I see new programmers make is focusing on learning syntax instead of learning how to solve problems.” — V. Anton Spraul

So, what should you do when you encounter a new problem?

Here are the steps:

1. Understand

Know exactly what is being asked. Most hard problems are hard because you don’t understand them (hence why this is the first step).

How to know when you understand a problem? When you can explain it in plain English.

Do you remember being stuck on a problem, you start explaining it, and you instantly see holes in the logic you didn’t see before?

Most programmers know this feeling.

This is why you should write down your problem, doodle a diagram, or tell someone else about it (or thing… some people use a rubber duck ).

“If you can’t explain something in simple terms, you don’t understand it.” — Richard Feynman

Don’t dive right into solving without a plan (and somehow hope you can muddle your way through). Plan your solution!

Nothing can help you if you can’t write down the exact steps.

In programming, this means don’t start hacking straight away. Give your brain time to analyze the problem and process the information.

To get a good plan, answer this question:

“Given input X, what are the steps necessary to return output Y?”

Sidenote: Programmers have a great tool to help them with this… Comments!

Pay attention. This is the most important step of all.

Do not try to solve one big problem. You will cry.

Instead, break it into sub-problems. These sub-problems are much easier to solve.

Then, solve each sub-problem one by one. Begin with the simplest. Simplest means you know the answer (or are closer to that answer).

After that, simplest means this sub-problem being solved doesn’t depend on others being solved.

Once you solved every sub-problem, connect the dots.

Connecting all your “sub-solutions” will give you the solution to the original problem. Congratulations!

This technique is a cornerstone of problem-solving. Remember it (read this step again, if you must).

“If I could teach every beginning programmer one problem-solving skill, it would be the ‘reduce the problem technique.’
For example, suppose you’re a new programmer and you’re asked to write a program that reads ten numbers and figures out which number is the third highest. For a brand-new programmer, that can be a tough assignment, even though it only requires basic programming syntax.
If you’re stuck, you should reduce the problem to something simpler. Instead of the third-highest number, what about finding the highest overall? Still too tough? What about finding the largest of just three numbers? Or the larger of two?
Reduce the problem to the point where you know how to solve it and write the solution. Then expand the problem slightly and rewrite the solution to match, and keep going until you are back where you started.” — V. Anton Spraul

By now, you’re probably sitting there thinking “Hey Richard... That’s cool and all, but what if I’m stuck and can’t even solve a sub-problem??”

First off, take a deep breath. Second, that’s fair.

Don’t worry though, friend. This happens to everyone!

The difference is the best programmers/problem-solvers are more curious about bugs/errors than irritated.

In fact, here are three things to try when facing a whammy:

  • Debug: Go step by step through your solution trying to find where you went wrong. Programmers call this debugging (in fact, this is all a debugger does).
“The art of debugging is figuring out what you really told your program to do rather than what you thought you told it to do.”” — Andrew Singer
  • Reassess: Take a step back. Look at the problem from another perspective. Is there anything that can be abstracted to a more general approach?
“Sometimes we get so lost in the details of a problem that we overlook general principles that would solve the problem at a more general level. […]
The classic example of this, of course, is the summation of a long list of consecutive integers, 1 + 2 + 3 + … + n, which a very young Gauss quickly recognized was simply n(n+1)/2, thus avoiding the effort of having to do the addition.” — C. Jordan Ball

Sidenote: Another way of reassessing is starting anew. Delete everything and begin again with fresh eyes. I’m serious. You’ll be dumbfounded at how effective this is.

  • Research: Ahh, good ol’ Google. You read that right. No matter what problem you have, someone has probably solved it. Find that person/ solution. In fact, do this even if you solved the problem! (You can learn a lot from other people’s solutions).

Caveat: Don’t look for a solution to the big problem. Only look for solutions to sub-problems. Why? Because unless you struggle (even a little bit), you won’t learn anything. If you don’t learn anything, you wasted your time.

Don’t expect to be great after just one week. If you want to be a good problem-solver, solve a lot of problems!

Practice. Practice. Practice. It’ll only be a matter of time before you recognize that “this problem could easily be solved with <insert concept here>.”

How to practice? There are options out the wazoo!

Chess puzzles, math problems, Sudoku, Go, Monopoly, video-games, cryptokitties, bla… bla… bla….

In fact, a common pattern amongst successful people is their habit of practicing “micro problem-solving.” For example, Peter Thiel plays chess, and Elon Musk plays video-games.

“Byron Reeves said ‘If you want to see what business leadership may look like in three to five years, look at what’s happening in online games.’
Fast-forward to today. Elon [Musk], Reid [Hoffman], Mark Zuckerberg and many others say that games have been foundational to their success in building their companies.” — Mary Meeker ( 2017 internet trends report )

Does this mean you should just play video-games? Not at all.

But what are video-games all about? That’s right, problem-solving!

So, what you should do is find an outlet to practice. Something that allows you to solve many micro-problems (ideally, something you enjoy).

For example, I enjoy coding challenges. Every day, I try to solve at least one challenge (usually on Coderbyte ).

Like I said, all problems share similar patterns.

That’s all folks!

Now, you know better what it means to “think like a programmer.”

You also know that problem-solving is an incredible skill to cultivate (the meta-skill).

As if that wasn’t enough, notice how you also know what to do to practice your problem-solving skills!

Phew… Pretty cool right?

Finally, I wish you encounter many problems.

You read that right. At least now you know how to solve them! (also, you’ll learn that with every solution, you improve).

“Just when you think you’ve successfully navigated one obstacle, another emerges. But that’s what keeps life interesting.[…]
Life is a process of breaking through these impediments — a series of fortified lines that we must break through.
Each time, you’ll learn something.
Each time, you’ll develop strength, wisdom, and perspective.
Each time, a little more of the competition falls away. Until all that is left is you: the best version of you.” — Ryan Holiday ( The Obstacle is the Way )

Now, go solve some problems!

And best of luck ?

Special thanks to C. Jordan Ball and V. Anton Spraul . All the good advice here came from them.

Thanks for reading! If you enjoyed it, test how many times can you hit in 5 seconds. It’s great cardio for your fingers AND will help other people see the story.

If this article was helpful, share it .

Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started

Book cover

Guide to Teaching Computer Science pp 143–168 Cite as

Problem-Solving Strategies

  • Orit Hazzan   ORCID: orcid.org/0000-0002-8627-0997 4 ,
  • Noa Ragonis   ORCID: orcid.org/0000-0002-8163-0199 5 &
  • Tami Lapidot 4  
  • First Online: 06 August 2020

1325 Accesses

Problem-solving is generally considered as one of the most important and challenging cognitive activities in everyday as well as in any professional contexts. Specifically, it is one of the central activities performed by computer scientists as well as by computer science learners. However, it is not a uniform or linear process that can be taught as an algorithm to be followed, and the understanding of this individual process is not always clear. Computer science learners often face difficulties in performing two of the main stages of a problem-solving process: problem analysis and solution construction. Therefore, it is important that computer science educators be aware of these difficulties and acquire appropriate pedagogical tools to guide and scaffold learners in learning these skills. This chapter is dedicated to such pedagogical tools. It presents several problem-solving strategies to address in the MTCS course together with appropriate activities that mediate them to the prospective computer science teachers by enabling them to experience the different strategies.

This is a preview of subscription content, log in via an institution .

Buying options

  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
  • Available as EPUB and PDF
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
  • Durable hardcover edition

Tax calculation will be finalised at checkout

Purchases are for personal use only

An algorithmic problem is defined by what is given – the initial conditions of the problem and its goals – the desired state, what should be accomplished. An algorithm problem can be solved with a series of actions formulated formally either by pseudo-code or a programming language. See Sect. 12.4.1 .

In advanced computer science classes, it is relevant to mention that in computer science, in addition to the development of problem-solving strategies, special emphasis is placed also on non-solvable problems (see Sect. 12.4.3 ).

Role of Variables in Python: http://www.cs.joensuu.fi/~saja/var_roles/stud_vers/stud_Python_eng.html

Roles of Variables with examples in Scratch: https://www.sisd.net/cms/lib/TX01001452/Centricity/domain/433/cse/1.1.5%20RolesOfVariables_UsedActivity1.2.4.pptx

The Roles of Variables home page ( http://saja.kapsi.fi/var_roles/ ) is a rich resource and contains different kinds of educational resources.

See http://www.cs.joensuu.fi/~saja/var_roles/role_intro.html

See http://www.cs.joensuu.fi/~saja/var_roles/try.html

See http://cs.uef.fi/~pgerdt/RAE/

See http://www.cs.joensuu.fi/~saja/var_roles/why_roles.html

See http://www.cs.joensuu.fi/~saja/var_roles/teaching.html

See http://saja.kapsi.fi/var_roles/literature.html

Ahrendt W, Bubel R, Hahnle R (2009) Integrated and tool-supported teaching of testing, debugging, and verification. In: Gibbons J, Oliveira JN (eds) Proceedings of the 2nd international conference on teaching formal methods (TFM ’09). Springer, Berlin/Heidelberg, pp 125–143

Google Scholar  

Alqadi BS, Maletic JI (2017) An empirical study of debugging patterns among novices programmers. In: Proceedings of the 2017 ACM SIGCSE technical symposium on computer science education (SIGCSE ’17). ACM, New York, pp 15–20

Arshad N (2009) Teaching programming and problem solving to CS2 students using think-alouds. SIGCSE Bull 41(1):372–376

Astrachan O, Berry G, Cox L, Mitchener G (1998) Design patterns: an essential component of CS curricula. In: Proceeding of SIGCSE, pp 153–160

Batory D, Sarvela JN, Rauschmayer A (2004) Scaling stepwise refinement. IEEE Trans Softw Eng 30(6):355–371

Bauer A, Popović Z (2017) Collaborative problem solving in an open-ended scientific discovery game. In: Proceedings of the ACM Human-Computer Interaction 1, CSCW, Article 22 (December 2017)

Ben-Ari M, Sajaniemi J (2003) Roles of variables from the perspective of computer science educators. University of Joensuu, Department of Computer Science, Technical Report, Series A-2003–6

Börstler J, Hilburn TB (2016) Team projects in computing education. ACM Trans Comput Educ 16(2), Article 4 (March 2016)

Byckling P, Sajaniemi J (2006) Roles of variables and programming skills improvement. SIGCSE Bull 38(1):413–417

Carver S, McCoy (1988) Learning and transfer of debugging skills: applying task analysis to curriculum design and assessment. In Mayer RE (ed) Teaching and learning computer programming, multiple research perspectives. Lawrence Erlbaum Associates, Inc., Chapter 11

Celepkolu M, Boyer KE (2018) The importance of producing shared code through pair programming. In: Proceedings of the 49th ACM technical symposium on computer science education (SIGCSE ’18). ACM, New York, pp 765–770

Clancy MJ, Linn M C (1999) Patterns and pedagogy. In: Proceedings of the SIGCSE’99, pp 37–42

Cosmides L, Tooby J (1997) Evolutionary psychology: a primer. Retrieved 24 October 2004, from http://www.psych.ucsb.edu/research/cep/primer.html

Dijkstra EW (1976) A discipline of programming. Prentice-Hall, Englewood Cliffs

MATH   Google Scholar  

East JP, Thomas SR, Wallingford E, Beck W, Drake J (1996) Pattern-based programming instruction. In: Proceedings of ASEE annual conference and exposition, Washington, DC

Ginat D (2003) The greedy trap and learning from mistakes. SIGCSE Bull 35(1):11–15

Ginat D (2004) Algorithmic patterns and the case of the sliding delta. SIGCSE Bull 36(2):29–33

Ginat D (2008) Learning from wrong and creative algorithm design. SIGCSE Bull 40(1):26–30

Ginat D (2009) Interleaved pattern composition and scaffolded learning. In: Proceedings of the 14th Annual ACM SIGCSE Conference on Innovation and Technology in Computer Science Education – ITiCSE ‘09, Paris, France, pp 109–113

Ginat D, Shmalo R (2013) Constructive use of errors in teaching CS1. In: Proceedings of the 44th ACM technical symposium on Computer science education (SIGCSE ’13). ACM, New York, pp 353–358

Hasni TF, Lodhi F (2011) Teaching problem solving effectively. ACM Inroads 2(3):58–62

Hazzan O, Leron U (2006) Why do we resist testing? Syst Des Front Exclus Front Cover Syst Des 3(7):20–23

Johnson DW, Johanson RT (2017) Cooperative learning. Retrieved from: https://2017.congresoinnovacion.educa.aragon.es/documents/48/David_Johnson.pdf

Jonassen DH (2000) Toward a design theory of problem solving. Educ Technol Res Dev 48(4):63–85

Kiesmüller U (2009) Diagnosing learners’ problem-solving strategies using learning environments with algorithmic problems in secondary education. Trans Comput Educ 9(3), Article 17 (September 2009), 26 pages

Laakso MJ, Malmi L, Korhonen A, Rajala T, Kaila E, Salakoski T (2008) Using roles of variables to enhance novice’s debugging work. Issues Informing Sci Inf Technol 5:281–295

Lapidot T, Hazzan O (2005) Song debugging: merging content and pedagogy in computer science education. Inroads SIGCSE Bull 37(4):79–83

Lieberman H (1997) The debugging scandal and what to do about it (special section). Comm ACM 40(4):27–29

Lishinski A, Yadav A, Enbody R, Good J (2016) The influence of problem solving abilities on Students’ performance on different assessment tasks in CS1. In: Proceedings of the 47th ACM technical symposium on computing science education (SIGCSE ’16). ACM, New York, pp 329–334

Muller O (2005) Pattern oriented instruction and the enhancement of analogical reasoning. In: Proceedings of the first International Workshop on Computer Education Research ICER ‘05, Seattle, WA, USA, pp 57–67

Muller O, Haberman B, Averbuch H (2004) (An almost) pedagogical pattern for pattern-based problem solving instruction. In: Proceedings of the 9th Annual SIGCSE Conference on Innovation and Technology in Computer Science. Education, pp 102–106

Muller O, Ginat D, Haberman B (2007) Pattern-oriented instruction and its influence on problem decomposition and solution construction. ACM SIGCSE Bull 39(3):151–155

Murphy L, Lewandowski G, McCauley R, Simon B, Thomas L, Zander C (2008) Debugging: the good, the bad, and the quirky – a qualitative analysis of novices’ strategies. SIGCSE Bull 40(1):163–167

Nagvajara P, Taskin B (2007) Design-for-debug: a vital aspect in education. In: Proceedings of the 2007 IEEE international conference on microelectronic systems education (MSE ’07). IEEE Computer Society, Washington, DC, USA, pp 65–66

Papert S (1980) Mindstorms: children, computers and powerful ideas. Basic Books Inc, New York

Polya G (1957) How to solve it. Doubleday and Co., Inc, Garden City

Polya G (1981) Mathematical discovery on understanding learning and teaching problem solving. Wiley, New York

Popper KR (1992/1959) Logic of scientific discovery. Harper and Row, New York

Proulx VK (2000) Programming patterns and design patterns in the introductory computer science course. Proc SIGCSE 32(1):80–84

Ragonis N (2012) Integrating the teaching of algorithmic patterns into computer science teacher preparation programs. In: Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education (ITiCSE ’12). ACM, New York, pp 339–344

Raman K, Svore KM, Gilad-Bachrach R, Burges CJC (2012) Learning from mistakes: towards a correctable learning algorithm. In: Proceedings of the 21st ACM international conference on information and knowledge management (CIKM ’12). ACM, New York, pp 1930–1934

Reed D (1999) Incorporating problem-solving patterns in CS1. J Comput Sci Edu 13(1):6–13

Reynolds RG, Maletic JI, Porvin SE (1992) Stepwise refinement and problem solving. IEEE Softw 9(5):79–88

Robins A, Rountree J, Rountree N (2003) Learning and teaching programming: a review and discussion. Comput Sci Edu 13(2):137–172

Sajaniemi J (2005) Roles of variables and learning to program. In: Jimoyiannis A (ed) Proceedings of the 3rd Panhellenic conference didactics of informatics, University of Peloponnese, Korinthos, Greece. http://cs.joensuu.fi/~saja/var_roles/abstracts/didinf05.pdf . Accessed 3 July 2010

Santos AL, Sousa J (2017) An exploratory study of how programming instructors illustrate variables and control flow. In: Proceedings of the 17th Koli calling international conference on computing education research (Koli Calling ’17). ACM, New York, pp 173–177

Schoenfeld AH (1983) Episodes and executive decisions in mathematical problem-solving. In: Lesh R, Landaue M (eds) Acquisition of mathematics concepts and processes. Academic Press Inc, New York

Schön DA (1983) The reflective practitioner. BasicBooks

Seta K, Kajino T, Umano M, Ikeda M (2006) An ontology based reflection support system to encourage learning from mistakes. In: Deved V (ed) Proceedings of the 24th IASTED international conference on artificial intelligence and applications (AIA’06). ACTA Press, Anaheim, pp 142–149

Soloway E (1986) Learning to program = learning to construct mechanisms and explanations. CACM 29(1):850–858

Spohrer JG, Soloway E (1986) Analyzing the high frequency bugs in novice programs. In: Soloway E, Iyengar S (eds) Empirical studies of programmers. Ablex, Norwood, pp 230–251

Stoeffler K, Rosen Y, von Davier A (2017) Exploring the measurement of collaborative problem solving using a human-agent educational game. In: Proceedings of the seventh international learning analytics & knowledge conference (LAK ‘17). ACM, New York, pp 570–571

Vainio V, Sajaniemi J (2007) Factors in novice programmers’ poor tracing skills. SIGCSE Bull 39(3):236–240

Vasconcelos J (2007) Basic strategy for algorithmic problem solving. http://www.cs.jhu.edu/~jorgev/cs106/ProblemSolving.html . Accessed 2 June 2010

Vírseda R d V, Orna EP, Berbis E, Guerrero S d L (2011) A logic teaching tool based on tableaux for verification and debugging of algorithms. In: Blackburn P, van Ditmarsch H, Soler-Toscano F, Manzano M (eds) Proceedings of the third international congress conference on tools for teaching logic (TICTTL’11). Springer, Berlin/Heidelberg, pp 239–248

Von Davier AA, Halpin PF (2013) Collaborative problem solving and the assessment of cognitive skills: psychometric considerations. ETS Res Rep Ser 2013(2):1–36

Wallingford E (1996) Toward a first course based on object-oriented patterns. In: Proceedings of the SIGCSE, pp 27–31

Wirth N (1971) Program development by stepwise refinement. CACM 14(4):221–227. http://sunnyday.mit.edu/16.355/wirth-refinement.html . Accessed 13 Nov 2010

Download references

Author information

Authors and affiliations.

Department of Education in Science & Technology, Technion–Israel Institute of Technology, Haifa, Israel

Orit Hazzan & Tami Lapidot

Faculty of Education, Beit Berl College, Doar Beit Berl, Israel

Noa Ragonis

You can also search for this author in PubMed   Google Scholar

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Cite this chapter.

Hazzan, O., Ragonis, N., Lapidot, T. (2020). Problem-Solving Strategies. In: Guide to Teaching Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-030-39360-1_8

Download citation

DOI : https://doi.org/10.1007/978-3-030-39360-1_8

Published : 06 August 2020

Publisher Name : Springer, Cham

Print ISBN : 978-3-030-39359-5

Online ISBN : 978-3-030-39360-1

eBook Packages : Computer Science Computer Science (R0)

Share this chapter

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

  • Publish with us

Policies and ethics

  • Find a journal
  • Track your research

mention any two computer problem solving techniques

2.2 Computer Science Fundamentals

Wrap your mind around computational thinking, from everyday tasks to algorithms.

Making Decisions

Computers use decision trees to turn many simple decisions into one big decision.

Searching for Solutions

Sometimes, the right way to solve a computational problem is by “brute force.”

  • Parallelism

When Pierre the baker wants to get lots of things done, it helps to do many things at once.

End of Unit 1

Complete all lessons above to reach this milestone.

0 of 3 lessons complete

Resource Tradeoffs

Computer scientists deal with tradeoffs all the time. So does Farhad when he does his chores.

Order and Search

Information needs to be organized for use by humans or computers, as Tiye the librarian knows well.

Computer systems and people need to be able to reliably find and access people and resources.

Abstraction

Mayor Jing uses abstraction—a critical tool in computer science—to help her run City Hall.

Abstractions have interfaces that explain what they can and cannot do.

End of Unit 2

0 of 5 lessons complete

Algorithms and Implementations

Algorithms are step-by-step processes for achieving an outcome. They can be very specific or quite general.

Divide and Conquer

Problems often get easier when you split them in half, as the 20 Questions guessing game shows.

  • Binary Search

Binary search is a more algorithm-friendly version of the 20 Questions game.

Thinking with Graphs

Graphs are a powerful tool for understanding problems and solving them in clever ways.

Representing Games and Puzzles

Graphs can help us plan solutions to complex problems, like this classic river-crossing puzzle.

Graph Search

Some of the most fundamental algorithms on graphs are designed to get you from point A to point B.

End of Unit 3

0 of 6 lessons complete

Course description

Learn the key ideas of computer science with this interactive course – no coding required! This course is ideal for a high school or college student who wants to learn the fundamentals, or an early professional who wants to strengthen their knowledge of core computer science concepts. Whether you're exploring computer science for the first time or looking to deepen your understanding, this course will allow you to develop the problem-solving techniques you need to think like a computer scientist. Follow librarians, cooks, and mayors to see how computer science problem solving techniques affect their daily lives. Get hands-on with a few specific algorithms, and learn the general principles demonstrated by these algorithms.

Topics covered

  • Brute-Force Search
  • Concurrency
  • Decision Trees
  • Graph Abstractions
  • Greedy Algorithms
  • Programming

Prerequisites and next steps

You don’t need any previous computer science experience to take this course! This course is for anyone excited to actively learn more about how computer scientists think and understand our world.

3.1 Next Steps in Python

Boost your proficiency in Python by learning how to access social media data with public functions.

UNIT 1: How to Think Like an Engineer.

Learning objectives.

  • Explain what we mean by “Computational Thinking”.
  • Describe the problem being solved in a computational algorithm.
  • Explain the process for generating computational algorithms.
  • Generate and test algorithms to solve computational problems.
  • Evaluate computational algorithms for exactness, correctness, termination, generalizability and understandability.
  • Explain the role of programming in the field of Informatics.

Introduction

The goal of this book is to teach you to solve computational problems and to think like an engineer. Computational problems are problems that can be solved by the use of computations (a computation is what you do when you calculate something). Engineers are people who solve problems – they invent, design, analyze, build and test “things” to fulfill objectives and requirements. The single most important skill for you to learn is problem solving. Problem solving means the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem-solving skills.

This book strives to prepare you to write well-designed computer programs that solve interesting problems involving data.

Computational Thinking

image

Figure 1: “The seven components to computational thinking”(www.ignitemyfutureinschool.org/about)

Computational Thinking is the thought processes involved in understanding a problem and expressing its solution in a way that a computer can effectively carry out. Computational thinking involves solving problems, designing systems, and understanding human behavior (e.g. what the user needs or wants) – thinking like an engineer. Computational thinking is a fundamental skill for everyone, not just for programmers because computational thinking is what comes before any computing technology. [1]

Computer science is the study of computation — what can be computed and how to compute it whereas computational thinking is:

Conceptualizing , not programming. Computer science is not only computer programming. Thinking like a computer scientist means more than being able to program a computer. It requires thinking at multiple levels of abstraction;

Fundamental , not rote skill. A fundamental skill is something every human being must know to function in modern society. Rote means a mechanical routine;

A way that humans, not computers, think . Computational thinking is a way humans solve problems; it is not trying to get humans to think like computers. Computers are dull and boring; humans are clever and imaginative. We humans make computers exciting. Equipped with computing devices, we use our cleverness to tackle problems we would not dare take on before the age of computing and build systems with functionality limited only by our imaginations;

Complements and combines mathematical and engineering thinking . Computer science inherently draws on mathematical thinking, given that, like all sciences, its formal foundations rest on mathematics. Computer science inherently draws on engineering thinking, given that we build systems that interact with the real world;

Ideas , not artifacts. It’s not just the software and hardware artifacts we produce that will be physically present everywhere and touch our lives all the time, it will be the computational concepts we use to approach and solve problems, manage our daily lives, and communicate and interact with other people;

For everyone, everywhere . Computational thinking will be a reality when it is so integral to human endeavors it disappears as an explicit philosophy. [2]

mention any two computer problem solving techniques

Figure 2 “Are you happy?” by Typcut http://www.typcut.com/headup/are-you-happy

An algorithm specifies a series of steps that perform a particular computation or task. Throughout this book we’ll examine a number of different algorithms to solve a variety of computational problems.

Algorithms resemble recipes. Recipes tell you how to accomplish a task by performing a number of steps. For example, to bake a cake the steps are: preheat the oven; mix flour, sugar, and eggs thoroughly; pour into a baking pan; set the timer and bake until done.

However, “algorithm” is a technical term with a more specific meaning than “recipe”, and calling something an algorithm means that the following properties are all true:

  • An algorithm is an unambiguous description that makes clear what has to be implemented in order to solve the problem. In a recipe, a step such as “Bake until done” is ambiguous because it doesn’t explain what “done” means. A more explicit description such as “Bake until the cheese begins to bubble” is better. In a computational algorithm, a step such as “Choose a large number” is vague: what is large? 1 million, 1 billion, or 100? Does the number have to be different each time, or can the same number be used again?
  • An algorithm expects a defined set of inputs. For example, it might require two numbers where both numbers are greater than zero. Or it might require a word, or a list customer names.
  • An algorithm produces a defined set of outputs. It might output the larger of the two numbers, an all-uppercase version of a word, or a sorted version of the list of names.
  • An algorithm is guaranteed to terminate and produce a result, always stopping after a finite time. If an algorithm could potentially run forever, it wouldn’t be very useful because you might never get an answer.
  • Must be general for any input it is given. Algorithms solve general problems (determine if a password is valid); they are of little use if they only solve a specific problem (determine if ‘comp15’ is a valid password)
  • It is at the right level of detail…..the person or device executing the instruction know how to accomplish the instruction without any extra information.

Once we know it’s possible to solve a problem with an algorithm, a natural question is whether the algorithm is the best possible one. Can the problem be solved more quickly or efficiently?

The first thing you need to do before designing an algorithm is to understand completely the problem given. Read the problem’s description carefully, then read it again. Try sketching out by hand some examples of how the problem can be solved. Finally consider any special cases and design your algorithm to address them.

An algorithm does not solve a problem rather it gives you a series of steps that, if executed correctly, will result in a solution to a problem.

An Example Algorithm

Let us look at a very simple algorithm called find_max.

Problem : Given a list of positive numbers, return the largest number on the list.

Inputs : A list of positive numbers. This list must contain at least one number. (Asking for the largest number in a list of no numbers is not a meaningful question.)

Outputs : A number, which will be the largest number in the list.

Algorithm :

  • Accept a list of positive numbers; set to nums_list
  • Set max_number to 0.
  • If the number is larger, set max_number to the larger number.
  • max_number is now set to the largest number in the list of positive numbers, nums_list.

Does this meet the criteria for being an algorithm?

  • Is it unambiguous? Yes. Each step of the algorithm consists of uncomplicated operations, and translating each step into programming code is straight forward.
  • Does it have defined inputs and outputs? Yes.
  • Is it guaranteed to terminate? Yes. The list nums_list is of finite length, so after looking at every element of the list the algorithm will stop.
  • Is it general for any input? Yes. A list of any set of positive numbers works.
  • Does it produce the correct result? Yes. When tested, the results are what are expected

[3] Figure 3: Example Algotithm

Verifying your Algorithm

How do we know if an algorithm is unambiguous, correct, comes to an end, is general AND is at the right level of detail? We must test the algorithm. Testing means verifying that the algorithm does what we expect it to do. In our ‘bake a cake’ example we know our algorithm is ‘working’ if, in the end, we get something that looks, smells and tastes like a cake.

mention any two computer problem solving techniques

Figure 4 “ Keyboard ” by Geralt is licensed under CC 2

Your first step should be to carefully read through EACH step of the algorithm to check for ambiguity and if there is any information missing. To ensure that the algorithm is correct, terminates and is general for any input we devise ‘test cases’ for the algorithm.

A test case is a set of inputs, conditions, and expected results developed for a particular computational problem to be solved. A test case is really just a question that you ask of the algorithm (e.g. if my list is the three numbers 2, 14, and 11 does the algorithm return the number 14?). The point of executing the test is to make sure the algorithm is correct, that it terminates and is general for any input.

Good (effective) test cases:

  • are easy to understand and execute
  • are created with the user in mind (what input mistakes will be made? what are the preconditions?)
  • make no assumptions (you already know what it is supposed to do)
  • consider the boundaries for a specified range of values.

Let us look at the example algorithm from the previous section. The input for the algorithm is ‘a list of positive numbers’. To make it easy to understand and execute keep the test lists short. The preconditions are that the list only contains numbers and these numbers must be positive so include a test with a ‘non-number’ (i.e. a special character or a letter) and a test with a negative number. The boundaries for the list are zero and the highest positive number so include a test with zero and a large positive number. That is it! Here is an example of three different test cases.

Manually, you should step through your algorithm using each of the three test cases, making sure that the algorithm does indeed terminate and that you get your expected result. As our algorithms and programs become more complex, skilled programmers often break each test case into individual steps of the algorithm/program and indicate what the expected result of each step should be. When you write a detailed test case, you don’t necessarily need to specify the expected result for each test step if the result is obvious.

In computer programming we accept a problem to solve and develop an algorithm that can serve as a general solution. Once we have such a solution, we can use our computer to automate the execution. Programming is a skill that allows a competent programmer to take an algorithm and represent it in a notation (a program) that can be followed by a computer. These programs are written in programming languages (such as Python). Writing a correct and valid algorithm to solve a computational problem is key to writing good code. Learn to Think First and coding will come naturally!

Computational problem solving does not simply involve the act of computer programming. It is a process, with programming being only one of the steps. Before a program is written, a design for the program must be developed (the algorithm). And before a design can be developed, the problem to be solved must be well understood. Once written, the program must be thoroughly tested. These steps are outlined in Figure 5.

mention any two computer problem solving techniques

Figure 5: Process of Computational Problem Solving

Values and Variables

A value is one of the basic things computer programs works with, like a password or a number of errors.

Values belong to different types: 21 is an integer (like the number of errors), and ‘comp15’ is a string of characters (like the password). Python lets you give names to values giving us the ability to generalize our algorithms.

One of the most powerful features of a programming language is the ability to use variables. A variable is simply a name that refers to a value as shown below,

Whenever the variable errors appears in a calculation the current value of the variable is used.

We need some way of storing information (i.e. the number of errors or the password) and manipulate them as well. This is where variables come into the picture. Variables are exactly what the name implies – their value can vary, i.e., you can store anything using a variable. Variables are just parts of your computer’s memory where you store some information. Unlike literal constants, you need some method of accessing these variables and hence you give them names.

Programmers generally choose names for their variables that are meaningful and document what the variable is used for. It is a good idea to begin variable names with a lowercase letter . The underscore character (_) can appear in a name and is often used in names with multiple words.

What is a program?

image

Figure 6: “ Python Code ” by nyuhuhuu is licensed under CC-BY 2.0

A program is a sequence of instructions that specifies how to perform a computation. The computation might be something mathematical, such as solving a system of mathematical equations or finding the roots of a polynomial, but it can also be a symbolic computation, such as searching and replacing text in a document or something graphical, like processing user input on an ATM device.

The details look different in different computer programming languages, but there are some low-level conceptual patterns (constructs) that we use to write all programs. These constructs are not just for Python programs, they are a part of every programming language.

input Get data from the “outside world”. This might be reading data from a file, or even some kind of sensor like a microphone or GPS. In our initial algorithms and programs, our input will come from the user typing data on the keyboard.

output Display the results of the program on a screen or store them in a file or perhaps write them to a device like a speaker to play music or speak text.

sequential execution Perform statements one after another in the order they are encountered in the script.

conditional execution Checks for certain conditions and then executes or skips a sequence of statements.

repeated execution Perform some set of statements repeatedly, usually with some variation.

reuse Write a set of instructions once and give them a name and then reuse those instructions as needed throughout your program.

Believe it or not, that’s pretty much all there is to it. Every computer application you’ve ever used, no matter how complicated, is made up of constructs that look pretty much like these. So you can think of programming as the process of breaking a large, complex task into smaller and smaller subtasks until the subtasks are simple enough to be performed with one of these basic constructs. The “art” of writing a program is composing and weaving these basic elements together many times over to produce something that is useful to its users.

Computational Problem Design using the Basic Programming Constructs

The key to better algorithm design and thus to programming lies in limiting the control structure to only three constructs as shown below.

  • The Sequence structure (sequential execution)
  • The Decision, Selection or Control structure (conditional execution)
  • Repetition or Iteration Structure (repeated execution)

image

Figure 7: the 3 Programming Constructs

  Let us look at some examples for the sequential control and the selection control.

Sequential Control Example

The following algorithm is an example of sequential control .

Problem : Given two numbers, return the sum and the product of the two numbers.

Inputs : Two numbers.

Outputs : The sum and the product.

  • display “Input two numbers”
  • accept number1, accept number2
  • sum = number1 + number2
  • print “The sum is “, sum
  • product = number1 * number2
  • print “The product is “, product
  • Is it guaranteed to terminate? Yes. Sequential control, by its nature, always ends.
  • Is it general for any input? Yes. Any two numbers work in this design.
  • Does it produce the correct result? Yes. When tested, the results are what are expected.

Here is an example of three different test cases that are used to verify the algorithm.

Selection Control Examples

The following two algorithms are examples of selection control which uses the ‘IF’ statement in most programming languages.

Problem : Given two numbers, the user chooses to either multiply, add or subtract the two numbers. Return the value of the chosen calculation.

Inputs : Two numbers and calculation option.

Outputs : The value of the chosen calculation.

The relational (or comparison) operators used in selection control are:

= is equal to [in Python the operator is ==]

> is greater than

< is less than

>= is greater than or equal

<= is less than or equal

<> is not equal to [in Python the operator is !=]

  • display “choose one of the following”
  • display “m for multiply”
  • display “a for add”
  • display “s for subtract”
  • accept choice
  • display “input two numbers you want to use”
  • accept number1, number2
  • if choice = m then answer= number1 * number2
  • if choice = a then answer= number1 + number2
  • if choice = s then answer= number1 -number212. if choice is not m, a, or s then answer is NONE
  • display answer
  • Is it guaranteed to terminate? Yes. The input is of finite length, so after accepting the user’s choice and the two numbers the algorithm will stop.
  • Is it general for any input? Yes. Any two numbers work in this design and only a choice of a’m’, ‘a’, or ‘s’ will result in numeric output.

This example uses an extension of the simple selection control structure we just saw and is referred to as the ‘IF-ELSE’ structure.

Problem : Accept from the user a positive integer value representing a salary amount, return tax due based on the salary amount.

Inputs : One positive integer number.

Outputs : The calculated tax amount.

= is equal to  [in Python the operator is ==]

<> is not equal to  [in Python the operator is !=]

  • accept salary
  • If salary < 50000 then
  • Tax = 0 Else
  • If salary > 50000 AND salary < 100000 then
  • Tax = 50000 * 0.05 Else
  • Tax = 100000 * 0.30
  • display Tax
  • Is it guaranteed to terminate? Yes. The input is of finite length, so after accepting the user’s number, even if it is negative, the algorithm will stop.
  • Is it general for any input? Yes. Any number entered in this design will work.

Iterative Control Examples

The third programming control is the iterative or, also referred to as, the repetition structure. This control structure causes certain steps to be repeated in a sequence a specified number of times or until a condition is met. This is what is called a ‘loop’ in programming

In all programming languages there are generally two options: an indefinite loop (the Python ‘WHILE’ programming statement) and a definite loop (the Python ‘FOR’ programming statement). We can use these two constructs, WHILE and FOR, for iterations or loops in our algorithms.

Note for Reader: A definite loop is where we know exactly the number of times the loop’s body will be executed. Definite iteration is usually best coded as a Python for loop. An indefinite loop is where we do not know before entering the body of the loop the exact number of iterations the loop will perform. The loop just keeps going until some condition is met. A while statement is used in this case.

The following algorithm is an example of iterative control using WHILE .

Problem : Print each keyboard character the users types in until the user chooses the ‘q’ (for ‘quit’) character.

Inputs : A series of individual characters.

Outputs : Each character typed in by the user.

  • initialize (set) letter = ‘a’
  • WHILE letter <> ‘q’
  • ACCEPT letter
  • DISPLAY “The character you typed is”, letter
  • Is it guaranteed to terminate? Yes. The input is of finite length, so after accepting the user’s keyboard character, even if it is not a letter, the algorithm will stop.
  • Is it general for any input? Yes. Any keyboard character entered in this design will work.

The following algorithm is an example of iterative control using FOR . This statement is used when the number of iterations is known in advance.

Problem : Ask the user how many words they want to enter then print the words entered by the user.

Inputs : Number of words to be entered; this value must be a positive integer greater than zero. Individual words.

Outputs : Each word typed in by the user.

  • accept num_words (must be at least one)
  • repeat num_words times (FOR 1 to num_words)
  • accept word
  • DISPLAY “The word you entered is”, word
  • Is it guaranteed to terminate? Yes. The input is of finite length, so after accepting the user’s number of words to enter and any characters typed on the keyboard, even if it is not a ‘word’ per say, the algorithm will stop.
  • Is it general for any input? Yes. Any positive integer greater than zero and any size ‘word’ will work.

Here is an example of two different test cases that are used to verify the algorithm.

The Role of Programming in the Field of Informatics

image

Figure8: iPhone apps by Jaap Arriens/NurPhoto via Getty Images (abcnews.go.com)

You see computer programming in use every day. When you use Google or your smartphone, or watch a movie with special effects, there is programing at work. When you order a product over the Internet, there is code in the web site, in the cryptography used to keep your credit card number secure, and in the way that UPS routes their delivery vehicle to get your order to you as quickly as possible.

Programming is indeed important to an informatics professional as they are interested in finding solutions for a wide variety of computational problems involving data.

When you Google the words “pie recipe,” Google reports that it finds approximately 38 million pages, ranked in order of estimated relevance and usefulness. Facebook has approximately 1 billion active users who generate over 3 billion comments and “Likes” each day. GenBank, a national database of DNA sequences used by biologists and medical researchers studying genetic diseases, has over 100 million genetic sequences with over 100 billion DNA base pairs. According to the International Data Corporation, by 2020 the digital universe – the data we create and copy annually – will reach 44 zettabytes, or 44 trillion gigabytes.

image

Figure 9: The Digital Universe ( www.emc.com/leadership/digital-universe/2014iview/images )

  Doing meaningful things with data is challenging, even if we’re not dealing with millions or billions of things. In this book, we will be working with smaller sets of data. But much of what we’ll do will be applicable to very large amounts of data too.

Unit Summary

Computational Thinking is the thought processes involved in formulating a problem and expressing its solution in a way that a computer—human or machine—can effectively carry out.

Computational Thinking is what comes before any computing technology—thought of by a human, knowing full well the power of automation.

Writing a correct and valid algorithm to solve a computational problem is key to writing good code.

  • What are the inputs?
  • What are the outputs (or results)?
  • Can we break the problem into parts?
  • Think about the connections between the input & output.
  • Consider designing ‘backwards’.
  • Have you seen the problem before? In a slightly different form?
  • Can you solve part of the problem?
  • Did you use all the inputs?
  • Can you test it on a variety of inputs?
  • Can you think of how you might write the algorithm differently if you had to start again?
  • Does it solve the problem? Does it meet all the requirements? Is the output correct?
  • Does it terminate?
  • Is it general for all cases?

Practice Problems

  • Write about a process in your life (e.g. driving to the mall, walking to class, etc.) and estimate the number of steps necessary to complete the task. Would you consider this a complex or simple task? What happens if you scale that task (e.g. driving two states away to the mall)? Is your method the most efficient? Can you come up with a more efficient way?

image

  • Write an algorithm to find the average of 25 test grades out of a possible 100 points.
  • If you are given three sticks, you may or may not be able to arrange them in a triangle. For example, if one of the sticks is 12 inches long and the other two are one inch long, it is clear that you will not be able to get the short sticks to meet in the middle. For any three lengths, there is a simple test to see if it is possible to form a triangle: “If any of the three lengths is greater than the sum of the other two, then you cannot form a triangle. Otherwise, you can.”Write an algorithm that accepts three integers as arguments, and that displays either “Yes” or “No,” depending on whether you can or cannot form a triangle from sticks with the given lengths.
  • ROT13 is a weak form of encryption that involves “rotating” each letter in a word by 13 places. To rotate a letter means to shift it through the alphabet, wrapping around to the beginning if necessary, so ‘A’ shifted by 3 is ‘D’ and ‘Z’ shifted by 1 is ‘A’. Write an algorithm that accepts a word and an integer from the user, and that prints a new encrypted word that contains the letters from the original word “rotated” by the given amount (the integer input). For example, “cheer” rotated by 7 is “jolly” and “melon” rotated by −10 is “cubed.”
  • Write an algorithm which repeatedly accepts numbers until the user enters “done”. Once “done” is entered, display the total sum of all the numbers, the count of numbers entered, and the average of all the numbers.
  • Write an algorithm that sums a series of ten positive integers entered by the user excluding all numbers greater than 100. Display the final sum.
  • Wing, Jeannette M. "Computational thinking." Communications of the ACM 49.3 (2006): 33-35. ↵

mention any two computer problem solving techniques

Privacy Policy

GCFGlobal Logo

  • Get started with computers
  • Learn Microsoft Office
  • Apply for a job
  • Improve my work skills
  • Design nice-looking docs
  • Getting Started
  • Smartphones & Tablets
  • Typing Tutorial
  • Online Learning
  • Basic Internet Skills
  • Online Safety
  • Social Media
  • Zoom Basics
  • Google Docs
  • Google Sheets
  • Career Planning
  • Resume Writing
  • Cover Letters
  • Job Search and Networking
  • Business Communication
  • Entrepreneurship 101
  • Careers without College
  • Job Hunt for Today
  • 3D Printing
  • Freelancing 101
  • Personal Finance
  • Sharing Economy
  • Decision-Making
  • Graphic Design
  • Photography
  • Image Editing
  • Learning WordPress
  • Language Learning
  • Critical Thinking
  • For Educators
  • Translations
  • Staff Picks
  • English expand_more expand_less

Computer Basics  - Basic Troubleshooting Techniques

Computer basics  -, basic troubleshooting techniques, computer basics basic troubleshooting techniques.

GCFLearnFree Logo

Computer Basics: Basic Troubleshooting Techniques

Lesson 19: basic troubleshooting techniques.

/en/computerbasics/creating-a-safe-workspace/content/

Troubleshooting

Do you know what to do if your screen goes blank? What if you can't seem to close an application, or can't hear any sound from your speakers? Whenever you have a problem with your computer, don't panic! There are many basic troubleshooting techniques you can use to fix issues like this. In this lesson, we'll show you some simple things to try when troubleshooting, as well as how to solve common problems you may encounter.

General tips to keep in mind

There are many different things that could cause a problem with your computer. No matter what's causing the issue, troubleshooting will always be a process of trial and error —in some cases, you may need to use several different approaches before you can find a solution; other problems may be easy to fix. We recommend starting by using the following tips.

  • Write down your steps : Once you start troubleshooting, you may want to write down each step you take. This way, you'll be able to remember exactly what you've done and can avoid repeating the same mistakes. If you end up asking other people for help, it will be much easier if they know exactly what you've tried already.
  • Take notes about error messages : If your computer gives you an error message , be sure to write down as much information as possible. You may be able to use this information later to find out if other people are having the same error.

cables

  • Restart the computer : When all else fails, restarting the computer is a good thing to try. This can solve a lot of basic issues you may experience with your computer.

Using the process of elimination

If you're having an issue with your computer, you may be able to find out what's wrong using the process of elimination . This means you'll make a list of things that could be causing the problem and then test them out one by one to eliminate them. Once you've identified the source of your computer issue, it will be easier to find a solution.

Let's say you're trying to print out invitations for a birthday party, but the printer won't print. You have some ideas about what could be causing this, so you go through them one by one to see if you can eliminate any possible causes.

First, you check the printer to see that it's turned on and plugged in to the surge protector . It is, so that's not the issue. Next, you check to make sure the printer's ink cartridge still has ink and that there is paper loaded in the paper tray . Things look good in both cases, so you know the issue has nothing to do with ink or paper.

Now you want to make sure the printer and computer are communicating correctly . If you recently downloaded an update to your operating system , it might interfere with the printer. But you know there haven't been any recent updates and the printer was working yesterday, so you'll have to look elsewhere.

You check the printer's USB cord and find that it's not plugged in. You must have unplugged it accidentally when you plugged something else into the computer earlier. Once you plug in the USB cord, the printer starts working again. It looks like this printer issue is solved!

This is just one example of an issue you might encounter while using a computer. In the rest of this lesson, we'll talk about other common computer problems and some ways to solve them.

Simple solutions to common problems

Most of the time, problems can be fixed using simple troubleshooting techniques, like closing and reopening the program. It's important to try these simple solutions before resorting to more extreme measures. If the problem still isn't fixed, you can try other troubleshooting techniques.

Problem: Power button will not start computer

  • Solution 1 : If your computer does not start , begin by checking the power cord to confirm that it is plugged securely into the back of the computer case and the power outlet.
  • Solution 2 : If it is plugged into an outlet, make sure it is a working outlet . To check your outlet, you can plug in another electrical device , such as a lamp .

surge protector

  • Solution 4 : If you are using a laptop , the battery may not be charged. Plug the AC adapter into the wall, then try to turn on the laptop. If it still doesn't start up, you may need to wait a few minutes and try again.

Problem: An application is running slowly

  • Solution 1 : Close and reopen the application.

Checking for updates

Problem: An application is frozen

Sometimes an application may become stuck, or frozen . When this happens, you won't be able to close the window or click any buttons within the application.

task manager in Windows 10

  • Solution 2 : Restart the computer. If you are unable to force quit an application, restarting your computer will close all open apps.

Problem: All programs on the computer run slowly

virus scanner

  • Solution 2 : Your computer may be running out of hard drive space. Try deleting any files or programs you don't need.
  • Solution 3 : If you're using a PC , you can run Disk Defragmenter . To learn more about Disk Defragmenter , check out our lesson on Protecting Your Computer .

Problem: The computer is frozen

Sometimes your computer may become completely unresponsive, or frozen . When this happens, you won't be able to click anywhere on the screen, open or close applications, or access shut-down options.

restarting Windows Explorer in Windows 10

  • Solution 3 : Press and hold the Power button. The Power button is usually located on the front or side of the computer, typically indicated by the power symbol . Press and hold the Power button for 5 to 10 seconds to force the computer to shut down.
  • Solution 4 : If the computer still won't shut down, you can unplug the power cable from the electrical outlet. If you're using a laptop, you may be able to remove the battery to force the computer to turn off. Note : This solution should be your last resort after trying the other suggestions above.

Problem: The mouse or keyboard has stopped working

wired mouse or keyboard

  • Solution 2 : If you're using a wireless mouse or keyboard, make sure it's turned on and that its batteries are charged.

Problem: The sound isn't working

  • Solution 1 : Check the volume level. Click the audio button in the top-right or bottom-right corner of the screen to make sure the sound is turned on and that the volume is up.
  • Solution 2 : Check the audio player controls. Many audio and video players will have their own separate audio controls. Make sure the sound is turned on and that the volume is turned up in the player.
  • Solution 3 : Check the cables. Make sure external speakers are plugged in, turned on, and connected to the correct audio port or a USB port. If your computer has color-coded ports, the audio output port will usually be green .

headphones and speakers

Problem: The screen is blank

  • Solution 1 : The computer may be in Sleep mode. Click the mouse or press any key on the keyboard to wake it.
  • Solution 2 : Make sure the monitor is plugged in and turned on .
  • Solution 3 : Make sure the computer is plugged in and turned on .
  • Solution 4 : If you're using a desktop, make sure the monitor cable is properly connected to the computer tower and the monitor.

Solving more difficult problems

If you still haven't found a solution to your problem, you may need to ask someone else for help. As an easy starting point, we'd recommend searching the Web . It's possible that other users have had similar problems, and solutions to these problems are often posted online. Also, if you have a friend or family member who knows a lot about computers, they may be able to help you.

Google search of Windows 10

Keep in mind that most computer problems have simple solutions, although it may take some time to find them. For difficult problems, a more drastic solution may be required, like reformatting your hard drive or reinstalling your operating system. If you think you might need a solution like this, we recommend consulting a professional first. If you're not a computer expert, it's possible that attempting these solutions could make the situation worse.

previous

/en/computerbasics/how-to-use-your-computers-builtin-help/content/

Oberlin College Computer Science

  • Course Websites
  • CS Lab Helper Schedule

Problem Solving Tips

  • Course Catalog
  • Major/Minor in CS
  • Electives Schedule
  • Intro Course Placement
  • Academic Calendar
  • Department Honors
  • Bob Geitz (chair)
  • Stephen Checkoway
  • Roberto Hoyle
  • Dylan McKay
  • Sam Taggart
  • Cynthia Taylor
  • Blair Rossetti
  • Molly Feldman
  • 2013-Wearable-Electronics
  • 2011 ACM Programming Contest
  • 2013 Alexa's Tenure Celebration
  • 2013 Pledge Ceremony
  • 2012 Games Showcase
  • 2011 CSMC Unix Night
  • MCURCSM 2009
  • 2009 Games Showcase
  • OCCS 25th Anniversary
  • 2010 Spring Social
  • 2009 Spring Picnic
  • 2009 Math/CS Ice Cream Social
  • 2008 Spring Picnic
  • 2010 Denison Programming Contest
  • 2008 Math/CS Sundae Friday
  • 2009 ACM Programming Contest
  • 2009 Denison Programming Contest
  • 2008 ACM Programming Contest
  • 2008 Denison Programming Contest
  • 2007 ACM Programming Contest
  • 2006 ACM Programming Contest
  • Oberlin College

One of the most important skills you learn in your computer science courses is how to problem solve. Although we cover some general problem solving paradigms in class, the best way to improve these skills is to get practice, practice, and more practice. Different people have different techniques that work best for them; below are some general tips that work for most people.

Please read these suggestions carefully.

Questions the Helpers May Ask You

When you ask a lab helper for their assistance, they will assume you have tried to solve the problem yourself. They will (reasonably) expect that you have tried out the steps outlined in this document; you should therefore be prepared to answer the following questions:

  • Did you re-read the prelab and lab?
  • Do you understand the problem?
  • Have you tried solving some examples by hand?
  • (For problems designing a solution) What have you tried? What topic from class does this most ressemble?
  • If you can’t solve the problem whole-hog, what small case can you solve?
  • (For syntax errors) What line of your code is causing the error? What do you think the compile error means, and what usually causes this kind of problem?
  • (For logical errors) On what example does your program consistently break? Have you traced through the program? Which line of your program is not doing what it should?

Four Main Problem Solving Steps:

1. understand the problem..

Solving the right problem is the most important part of problem solving. Be sure, absolutely 100% positively sure, that you understand the problem before attempting a solution. This involves:

  • Reading the prelab and lab very carefully (including all bold text, italicized text, and everything else);
  • Reviewing class notes on related topics;
  • Trying some small examples to make sure you understand what is being asked; if examples are given to you, make sure you understand them before continuing, as they are usually there to help clarify some common misconceptions; and
  • Asking someone to help clarify anything that is still confusing.

2. Design a Solution.

Formulate an algorithm to solve your problem. This involves:

  • Understanding what is being asked of you. See step 1.
  • Draw out some examples. Use paper . How would you solve these small cases, by hand? Is there a method to what you are doing? Try to formalize the steps you are taking, and try to think about whether they would work more generally, in bigger cases. Then try some bigger cases and convince yourself.
  • Reread the prelab . Did you already run some examples by hand? Did you have trouble with it then?
  • Write down the stuff you know about the problem and the examples you’ve tried, so that you can more easily find patterns .
  • Might a recent topic from class help? Usually at least some, if not most, of the lab will make use of recently covered material . Go over that topic, make sure you understand it, then try to make connections to lab.
  • Split the problem into smaller (more manageable) chunks, and try to solve the simpler problems. Go as small as you need in order to find some solution. Once you have the smaller problem solved, worry about how to generalize it to a slightly larger problem.
  • Just try something , anything, even if it is completely random and obviously wrong. When/if your attempt doesn’t work, it may still give you insight into what may work. It is not as crazy as it initially sounds!
  • Use a friend, lab helper, puppet, etc. as a sounding board ; sometimes, just voicing your problem will lead you to the “aha!” moment you need.
  • If you are still stuck, step away from the keyboard . Take a walk, go eat dinner or have a coffee. Sleep on it. Not literally. Taking a break is sometimes the most productive thing you can do, trust me.
  • Finally, stay positive . Even when things don’t work, you can still gain a better understanding of the problem. Don’t give up, just go with the flow and see where it takes you. Struggling is part of the process!

3. Implement your Solution.

Write the code to solve your problem. This involves

  • Understanding the problem, and designing a solution on paper. See steps 1 and 2.
  • Translating your design into actual code. Rather than doing this linearly, implement small chunks at a time. Break your code into subroutines, and make sure that each subroutine works before proceeding to the next. Compile and save often .
  • If you run into syntax errors, determine which line of your code is causing the problem. You can do this by systematically commenting out blocks of code until you find the block that causes the problem.
  • If you run into logical errors (as in, the program compiles but does not do what it is supposed to), find some examples on which your problem consistently fails. Trace through the program line by line, with one of these examples, to figure out exactly which line is not doing what you intend it to.
  • If the output doesn’t match what you expect, use print statements to trace through what your program is doing, and compare that to what your program should be doing. Even better, if you know how to use a debugger (in eclipse, for example, use it!)

4. Check your Solution.

This step is often overlooked, but is absolutely crucial. Your program does not necessarily work because it works on the given test cases on the lab. You have to think critically about what you code. This involves

  • Certainly check your program on all test cases given to you on the lab and prelab. The prelab often specifically contains hand-solved test cases precisely for this purpose!
  • Thinking about the “ boundary cases ,” such as, when would this array go out of bounds? For what indices will this for loop start and end?
  • Think: how would this program break ? Then, that failing: how would I convince my skeptical friend it can’t be broken?

Remember: problem solving is a creative process, which cannot be forced. Don’t get angry if you don’t see the answer right away, or you don’t see it as fast as your friend. You will have different strengths, and you can always improve. You will learn from your mistakes, so that’s always a plus!

Last updated July 3rd, 2012 by asharp

Recent Posts

  • Congratulations Professor Stephen Checkoway; recipient of this prestigious award!
  • Class of 2021 Celebration
  • Undergraduate Research Symposium
  • Grad School Information meeting
  • Tech Resume Workshop Thursday April 1 4:45pm
  • Information
  • Jobs/Internships
  • Uncategorized
  • Association for Computing Machinery (ACM)
  • National Center for Women & Information Technology (NCWIT)
  • Computer Research Association (CRA)

OCCS Social Media

  • Entries feed
  • Comments feed
  • WordPress.org

Oberlin College Computer Science Department -- 10 N. Professor St., Oberlin, OH 44074 -- Phone: (440) 775-8043

Copyright © 1985-2024 Oberlin College Computer Science. Design by Benjamin A. Kuperman . Powered by WordPress .

How to improve your problem solving skills and build effective problem solving strategies

mention any two computer problem solving techniques

Design your next session with SessionLab

Join the 150,000+ facilitators 
using SessionLab.

Recommended Articles

A step-by-step guide to planning a workshop, how to create an unforgettable training session in 8 simple steps, 47 useful online tools for workshop planning and meeting facilitation.

Effective problem solving is all about using the right process and following a plan tailored to the issue at hand. Recognizing your team or organization has an issue isn’t enough to come up with effective problem solving strategies. 

To truly understand a problem and develop appropriate solutions, you will want to follow a solid process, follow the necessary problem solving steps, and bring all of your problem solving skills to the table.  

We’ll first guide you through the seven step problem solving process you and your team can use to effectively solve complex business challenges. We’ll also look at what problem solving strategies you can employ with your team when looking for a way to approach the process. We’ll then discuss the problem solving skills you need to be more effective at solving problems, complete with an activity from the SessionLab library you can use to develop that skill in your team.

Let’s get to it! 

What is a problem solving process?

  • What are the problem solving steps I need to follow?

Problem solving strategies

What skills do i need to be an effective problem solver, how can i improve my problem solving skills.

Solving problems is like baking a cake. You can go straight into the kitchen without a recipe or the right ingredients and do your best, but the end result is unlikely to be very tasty!

Using a process to bake a cake allows you to use the best ingredients without waste, collect the right tools, account for allergies, decide whether it is a birthday or wedding cake, and then bake efficiently and on time. The result is a better cake that is fit for purpose, tastes better and has created less mess in the kitchen. Also, it should have chocolate sprinkles. Having a step by step process to solve organizational problems allows you to go through each stage methodically and ensure you are trying to solve the right problems and select the most appropriate, effective solutions.

What are the problem solving steps I need to follow? 

All problem solving processes go through a number of steps in order to move from identifying a problem to resolving it.

Depending on your problem solving model and who you ask, there can be anything between four and nine problem solving steps you should follow in order to find the right solution. Whatever framework you and your group use, there are some key items that should be addressed in order to have an effective process.

We’ve looked at problem solving processes from sources such as the American Society for Quality and their four step approach , and Mediate ‘s six step process. By reflecting on those and our own problem solving processes, we’ve come up with a sequence of seven problem solving steps we feel best covers everything you need in order to effectively solve problems.

seven step problem solving process

1. Problem identification 

The first stage of any problem solving process is to identify the problem or problems you might want to solve. Effective problem solving strategies always begin by allowing a group scope to articulate what they believe the problem to be and then coming to some consensus over which problem they approach first. Problem solving activities used at this stage often have a focus on creating frank, open discussion so that potential problems can be brought to the surface.

2. Problem analysis 

Though this step is not a million miles from problem identification, problem analysis deserves to be considered separately. It can often be an overlooked part of the process and is instrumental when it comes to developing effective solutions.

The process of problem analysis means ensuring that the problem you are seeking to solve is the right problem . As part of this stage, you may look deeper and try to find the root cause of a specific problem at a team or organizational level.

Remember that problem solving strategies should not only be focused on putting out fires in the short term but developing long term solutions that deal with the root cause of organizational challenges. 

Whatever your approach, analyzing a problem is crucial in being able to select an appropriate solution and the problem solving skills deployed in this stage are beneficial for the rest of the process and ensuring the solutions you create are fit for purpose.

3. Solution generation

Once your group has nailed down the particulars of the problem you wish to solve, you want to encourage a free flow of ideas connecting to solving that problem. This can take the form of problem solving games that encourage creative thinking or problem solving activities designed to produce working prototypes of possible solutions. 

The key to ensuring the success of this stage of the problem solving process is to encourage quick, creative thinking and create an open space where all ideas are considered. The best solutions can come from unlikely places and by using problem solving techniques that celebrate invention, you might come up with solution gold. 

4. Solution development

No solution is likely to be perfect right out of the gate. It’s important to discuss and develop the solutions your group has come up with over the course of following the previous problem solving steps in order to arrive at the best possible solution. Problem solving games used in this stage involve lots of critical thinking, measuring potential effort and impact, and looking at possible solutions analytically. 

During this stage, you will often ask your team to iterate and improve upon your frontrunning solutions and develop them further. Remember that problem solving strategies always benefit from a multitude of voices and opinions, and not to let ego get involved when it comes to choosing which solutions to develop and take further.

Finding the best solution is the goal of all problem solving workshops and here is the place to ensure that your solution is well thought out, sufficiently robust and fit for purpose. 

5. Decision making 

Nearly there! Once your group has reached consensus and selected a solution that applies to the problem at hand you have some decisions to make. You will want to work on allocating ownership of the project, figure out who will do what, how the success of the solution will be measured and decide the next course of action.

The decision making stage is a part of the problem solving process that can get missed or taken as for granted. Fail to properly allocate roles and plan out how a solution will actually be implemented and it less likely to be successful in solving the problem.

Have clear accountabilities, actions, timeframes, and follow-ups. Make these decisions and set clear next-steps in the problem solving workshop so that everyone is aligned and you can move forward effectively as a group. 

Ensuring that you plan for the roll-out of a solution is one of the most important problem solving steps. Without adequate planning or oversight, it can prove impossible to measure success or iterate further if the problem was not solved. 

6. Solution implementation 

This is what we were waiting for! All problem solving strategies have the end goal of implementing a solution and solving a problem in mind. 

Remember that in order for any solution to be successful, you need to help your group through all of the previous problem solving steps thoughtfully. Only then can you ensure that you are solving the right problem but also that you have developed the correct solution and can then successfully implement and measure the impact of that solution.

Project management and communication skills are key here – your solution may need to adjust when out in the wild or you might discover new challenges along the way.

7. Solution evaluation 

So you and your team developed a great solution to a problem and have a gut feeling its been solved. Work done, right? Wrong. All problem solving strategies benefit from evaluation, consideration, and feedback. You might find that the solution does not work for everyone, might create new problems, or is potentially so successful that you will want to roll it out to larger teams or as part of other initiatives. 

None of that is possible without taking the time to evaluate the success of the solution you developed in your problem solving model and adjust if necessary.

Remember that the problem solving process is often iterative and it can be common to not solve complex issues on the first try. Even when this is the case, you and your team will have generated learning that will be important for future problem solving workshops or in other parts of the organization. 

It’s worth underlining how important record keeping is throughout the problem solving process. If a solution didn’t work, you need to have the data and records to see why that was the case. If you go back to the drawing board, notes from the previous workshop can help save time. Data and insight is invaluable at every stage of the problem solving process and this one is no different.

Problem solving workshops made easy

mention any two computer problem solving techniques

Problem solving strategies are methods of approaching and facilitating the process of problem-solving with a set of techniques , actions, and processes. Different strategies are more effective if you are trying to solve broad problems such as achieving higher growth versus more focused problems like, how do we improve our customer onboarding process?

Broadly, the problem solving steps outlined above should be included in any problem solving strategy though choosing where to focus your time and what approaches should be taken is where they begin to differ. You might find that some strategies ask for the problem identification to be done prior to the session or that everything happens in the course of a one day workshop.

The key similarity is that all good problem solving strategies are structured and designed. Four hours of open discussion is never going to be as productive as a four-hour workshop designed to lead a group through a problem solving process.

Good problem solving strategies are tailored to the team, organization and problem you will be attempting to solve. Here are some example problem solving strategies you can learn from or use to get started.

Use a workshop to lead a team through a group process

Often, the first step to solving problems or organizational challenges is bringing a group together effectively. Most teams have the tools, knowledge, and expertise necessary to solve their challenges – they just need some guidance in how to use leverage those skills and a structure and format that allows people to focus their energies.

Facilitated workshops are one of the most effective ways of solving problems of any scale. By designing and planning your workshop carefully, you can tailor the approach and scope to best fit the needs of your team and organization. 

Problem solving workshop

  • Creating a bespoke, tailored process
  • Tackling problems of any size
  • Building in-house workshop ability and encouraging their use

Workshops are an effective strategy for solving problems. By using tried and test facilitation techniques and methods, you can design and deliver a workshop that is perfectly suited to the unique variables of your organization. You may only have the capacity for a half-day workshop and so need a problem solving process to match. 

By using our session planner tool and importing methods from our library of 700+ facilitation techniques, you can create the right problem solving workshop for your team. It might be that you want to encourage creative thinking or look at things from a new angle to unblock your groups approach to problem solving. By tailoring your workshop design to the purpose, you can help ensure great results.

One of the main benefits of a workshop is the structured approach to problem solving. Not only does this mean that the workshop itself will be successful, but many of the methods and techniques will help your team improve their working processes outside of the workshop. 

We believe that workshops are one of the best tools you can use to improve the way your team works together. Start with a problem solving workshop and then see what team building, culture or design workshops can do for your organization!

Run a design sprint

Great for: 

  • aligning large, multi-discipline teams
  • quickly designing and testing solutions
  • tackling large, complex organizational challenges and breaking them down into smaller tasks

By using design thinking principles and methods, a design sprint is a great way of identifying, prioritizing and prototyping solutions to long term challenges that can help solve major organizational problems with quick action and measurable results.

Some familiarity with design thinking is useful, though not integral, and this strategy can really help a team align if there is some discussion around which problems should be approached first. 

The stage-based structure of the design sprint is also very useful for teams new to design thinking.  The inspiration phase, where you look to competitors that have solved your problem, and the rapid prototyping and testing phases are great for introducing new concepts that will benefit a team in all their future work. 

It can be common for teams to look inward for solutions and so looking to the market for solutions you can iterate on can be very productive. Instilling an agile prototyping and testing mindset can also be great when helping teams move forwards – generating and testing solutions quickly can help save time in the long run and is also pretty exciting!

Break problems down into smaller issues

Organizational challenges and problems are often complicated and large scale in nature. Sometimes, trying to resolve such an issue in one swoop is simply unachievable or overwhelming. Try breaking down such problems into smaller issues that you can work on step by step. You may not be able to solve the problem of churning customers off the bat, but you can work with your team to identify smaller effort but high impact elements and work on those first.

This problem solving strategy can help a team generate momentum, prioritize and get some easy wins. It’s also a great strategy to employ with teams who are just beginning to learn how to approach the problem solving process. If you want some insight into a way to employ this strategy, we recommend looking at our design sprint template below!

Use guiding frameworks or try new methodologies

Some problems are best solved by introducing a major shift in perspective or by using new methodologies that encourage your team to think differently.

Props and tools such as Methodkit , which uses a card-based toolkit for facilitation, or Lego Serious Play can be great ways to engage your team and find an inclusive, democratic problem solving strategy. Remember that play and creativity are great tools for achieving change and whatever the challenge, engaging your participants can be very effective where other strategies may have failed.

LEGO Serious Play

  • Improving core problem solving skills
  • Thinking outside of the box
  • Encouraging creative solutions

LEGO Serious Play is a problem solving methodology designed to get participants thinking differently by using 3D models and kinesthetic learning styles. By physically building LEGO models based on questions and exercises, participants are encouraged to think outside of the box and create their own responses. 

Collaborate LEGO Serious Play exercises are also used to encourage communication and build problem solving skills in a group. By using this problem solving process, you can often help different kinds of learners and personality types contribute and unblock organizational problems with creative thinking. 

Problem solving strategies like LEGO Serious Play are super effective at helping a team solve more skills-based problems such as communication between teams or a lack of creative thinking. Some problems are not suited to LEGO Serious Play and require a different problem solving strategy.

Card Decks and Method Kits

  • New facilitators or non-facilitators 
  • Approaching difficult subjects with a simple, creative framework
  • Engaging those with varied learning styles

Card decks and method kids are great tools for those new to facilitation or for whom facilitation is not the primary role. Card decks such as the emotional culture deck can be used for complete workshops and in many cases, can be used right out of the box. Methodkit has a variety of kits designed for scenarios ranging from personal development through to personas and global challenges so you can find the right deck for your particular needs.

Having an easy to use framework that encourages creativity or a new approach can take some of the friction or planning difficulties out of the workshop process and energize a team in any setting. Simplicity is the key with these methods. By ensuring everyone on your team can get involved and engage with the process as quickly as possible can really contribute to the success of your problem solving strategy.

Source external advice

Looking to peers, experts and external facilitators can be a great way of approaching the problem solving process. Your team may not have the necessary expertise, insights of experience to tackle some issues, or you might simply benefit from a fresh perspective. Some problems may require bringing together an entire team, and coaching managers or team members individually might be the right approach. Remember that not all problems are best resolved in the same manner.

If you’re a solo entrepreneur, peer groups, coaches and mentors can also be invaluable at not only solving specific business problems, but in providing a support network for resolving future challenges. One great approach is to join a Mastermind Group and link up with like-minded individuals and all grow together. Remember that however you approach the sourcing of external advice, do so thoughtfully, respectfully and honestly. Reciprocate where you can and prepare to be surprised by just how kind and helpful your peers can be!

Mastermind Group

  • Solo entrepreneurs or small teams with low capacity
  • Peer learning and gaining outside expertise
  • Getting multiple external points of view quickly

Problem solving in large organizations with lots of skilled team members is one thing, but how about if you work for yourself or in a very small team without the capacity to get the most from a design sprint or LEGO Serious Play session? 

A mastermind group – sometimes known as a peer advisory board – is where a group of people come together to support one another in their own goals, challenges, and businesses. Each participant comes to the group with their own purpose and the other members of the group will help them create solutions, brainstorm ideas, and support one another. 

Mastermind groups are very effective in creating an energized, supportive atmosphere that can deliver meaningful results. Learning from peers from outside of your organization or industry can really help unlock new ways of thinking and drive growth. Access to the experience and skills of your peers can be invaluable in helping fill the gaps in your own ability, particularly in young companies.

A mastermind group is a great solution for solo entrepreneurs, small teams, or for organizations that feel that external expertise or fresh perspectives will be beneficial for them. It is worth noting that Mastermind groups are often only as good as the participants and what they can bring to the group. Participants need to be committed, engaged and understand how to work in this context. 

Coaching and mentoring

  • Focused learning and development
  • Filling skills gaps
  • Working on a range of challenges over time

Receiving advice from a business coach or building a mentor/mentee relationship can be an effective way of resolving certain challenges. The one-to-one format of most coaching and mentor relationships can really help solve the challenges those individuals are having and benefit the organization as a result.

A great mentor can be invaluable when it comes to spotting potential problems before they arise and coming to understand a mentee very well has a host of other business benefits. You might run an internal mentorship program to help develop your team’s problem solving skills and strategies or as part of a large learning and development program. External coaches can also be an important part of your problem solving strategy, filling skills gaps for your management team or helping with specific business issues. 

Now we’ve explored the problem solving process and the steps you will want to go through in order to have an effective session, let’s look at the skills you and your team need to be more effective problem solvers.

Problem solving skills are highly sought after, whatever industry or team you work in. Organizations are keen to employ people who are able to approach problems thoughtfully and find strong, realistic solutions. Whether you are a facilitator , a team leader or a developer, being an effective problem solver is a skill you’ll want to develop.

Problem solving skills form a whole suite of techniques and approaches that an individual uses to not only identify problems but to discuss them productively before then developing appropriate solutions.

Here are some of the most important problem solving skills everyone from executives to junior staff members should learn. We’ve also included an activity or exercise from the SessionLab library that can help you and your team develop that skill. 

If you’re running a workshop or training session to try and improve problem solving skills in your team, try using these methods to supercharge your process!

Problem solving skills checklist

Active listening

Active listening is one of the most important skills anyone who works with people can possess. In short, active listening is a technique used to not only better understand what is being said by an individual, but also to be more aware of the underlying message the speaker is trying to convey. When it comes to problem solving, active listening is integral for understanding the position of every participant and to clarify the challenges, ideas and solutions they bring to the table.

Some active listening skills include:

  • Paying complete attention to the speaker.
  • Removing distractions.
  • Avoid interruption.
  • Taking the time to fully understand before preparing a rebuttal.
  • Responding respectfully and appropriately.
  • Demonstrate attentiveness and positivity with an open posture, making eye contact with the speaker, smiling and nodding if appropriate. Show that you are listening and encourage them to continue.
  • Be aware of and respectful of feelings. Judge the situation and respond appropriately. You can disagree without being disrespectful.   
  • Observe body language. 
  • Paraphrase what was said in your own words, either mentally or verbally.
  • Remain neutral. 
  • Reflect and take a moment before responding.
  • Ask deeper questions based on what is said and clarify points where necessary.   
Active Listening   #hyperisland   #skills   #active listening   #remote-friendly   This activity supports participants to reflect on a question and generate their own solutions using simple principles of active listening and peer coaching. It’s an excellent introduction to active listening but can also be used with groups that are already familiar with it. Participants work in groups of three and take turns being: “the subject”, the listener, and the observer.

Analytical skills

All problem solving models require strong analytical skills, particularly during the beginning of the process and when it comes to analyzing how solutions have performed.

Analytical skills are primarily focused on performing an effective analysis by collecting, studying and parsing data related to a problem or opportunity. 

It often involves spotting patterns, being able to see things from different perspectives and using observable facts and data to make suggestions or produce insight. 

Analytical skills are also important at every stage of the problem solving process and by having these skills, you can ensure that any ideas or solutions you create or backed up analytically and have been sufficiently thought out.

Nine Whys   #innovation   #issue analysis   #liberating structures   With breathtaking simplicity, you can rapidly clarify for individuals and a group what is essentially important in their work. You can quickly reveal when a compelling purpose is missing in a gathering and avoid moving forward without clarity. When a group discovers an unambiguous shared purpose, more freedom and more responsibility are unleashed. You have laid the foundation for spreading and scaling innovations with fidelity.

Collaboration

Trying to solve problems on your own is difficult. Being able to collaborate effectively, with a free exchange of ideas, to delegate and be a productive member of a team is hugely important to all problem solving strategies.

Remember that whatever your role, collaboration is integral, and in a problem solving process, you are all working together to find the best solution for everyone. 

Marshmallow challenge with debriefing   #teamwork   #team   #leadership   #collaboration   In eighteen minutes, teams must build the tallest free-standing structure out of 20 sticks of spaghetti, one yard of tape, one yard of string, and one marshmallow. The marshmallow needs to be on top. The Marshmallow Challenge was developed by Tom Wujec, who has done the activity with hundreds of groups around the world. Visit the Marshmallow Challenge website for more information. This version has an extra debriefing question added with sample questions focusing on roles within the team.

Communication  

Being an effective communicator means being empathetic, clear and succinct, asking the right questions, and demonstrating active listening skills throughout any discussion or meeting. 

In a problem solving setting, you need to communicate well in order to progress through each stage of the process effectively. As a team leader, it may also fall to you to facilitate communication between parties who may not see eye to eye. Effective communication also means helping others to express themselves and be heard in a group.

Bus Trip   #feedback   #communication   #appreciation   #closing   #thiagi   #team   This is one of my favourite feedback games. I use Bus Trip at the end of a training session or a meeting, and I use it all the time. The game creates a massive amount of energy with lots of smiles, laughs, and sometimes even a teardrop or two.

Creative problem solving skills can be some of the best tools in your arsenal. Thinking creatively, being able to generate lots of ideas and come up with out of the box solutions is useful at every step of the process. 

The kinds of problems you will likely discuss in a problem solving workshop are often difficult to solve, and by approaching things in a fresh, creative manner, you can often create more innovative solutions.

Having practical creative skills is also a boon when it comes to problem solving. If you can help create quality design sketches and prototypes in record time, it can help bring a team to alignment more quickly or provide a base for further iteration.

The paper clip method   #sharing   #creativity   #warm up   #idea generation   #brainstorming   The power of brainstorming. A training for project leaders, creativity training, and to catalyse getting new solutions.

Critical thinking

Critical thinking is one of the fundamental problem solving skills you’ll want to develop when working on developing solutions. Critical thinking is the ability to analyze, rationalize and evaluate while being aware of personal bias, outlying factors and remaining open-minded.

Defining and analyzing problems without deploying critical thinking skills can mean you and your team go down the wrong path. Developing solutions to complex issues requires critical thinking too – ensuring your team considers all possibilities and rationally evaluating them. 

Agreement-Certainty Matrix   #issue analysis   #liberating structures   #problem solving   You can help individuals or groups avoid the frequent mistake of trying to solve a problem with methods that are not adapted to the nature of their challenge. The combination of two questions makes it possible to easily sort challenges into four categories: simple, complicated, complex , and chaotic .  A problem is simple when it can be solved reliably with practices that are easy to duplicate.  It is complicated when experts are required to devise a sophisticated solution that will yield the desired results predictably.  A problem is complex when there are several valid ways to proceed but outcomes are not predictable in detail.  Chaotic is when the context is too turbulent to identify a path forward.  A loose analogy may be used to describe these differences: simple is like following a recipe, complicated like sending a rocket to the moon, complex like raising a child, and chaotic is like the game “Pin the Tail on the Donkey.”  The Liberating Structures Matching Matrix in Chapter 5 can be used as the first step to clarify the nature of a challenge and avoid the mismatches between problems and solutions that are frequently at the root of chronic, recurring problems.

Data analysis 

Though it shares lots of space with general analytical skills, data analysis skills are something you want to cultivate in their own right in order to be an effective problem solver.

Being good at data analysis doesn’t just mean being able to find insights from data, but also selecting the appropriate data for a given issue, interpreting it effectively and knowing how to model and present that data. Depending on the problem at hand, it might also include a working knowledge of specific data analysis tools and procedures. 

Having a solid grasp of data analysis techniques is useful if you’re leading a problem solving workshop but if you’re not an expert, don’t worry. Bring people into the group who has this skill set and help your team be more effective as a result.

Decision making

All problems need a solution and all solutions require that someone make the decision to implement them. Without strong decision making skills, teams can become bogged down in discussion and less effective as a result. 

Making decisions is a key part of the problem solving process. It’s important to remember that decision making is not restricted to the leadership team. Every staff member makes decisions every day and developing these skills ensures that your team is able to solve problems at any scale. Remember that making decisions does not mean leaping to the first solution but weighing up the options and coming to an informed, well thought out solution to any given problem that works for the whole team.

Lightning Decision Jam (LDJ)   #action   #decision making   #problem solving   #issue analysis   #innovation   #design   #remote-friendly   The problem with anything that requires creative thinking is that it’s easy to get lost—lose focus and fall into the trap of having useless, open-ended, unstructured discussions. Here’s the most effective solution I’ve found: Replace all open, unstructured discussion with a clear process. What to use this exercise for: Anything which requires a group of people to make decisions, solve problems or discuss challenges. It’s always good to frame an LDJ session with a broad topic, here are some examples: The conversion flow of our checkout Our internal design process How we organise events Keeping up with our competition Improving sales flow

Dependability

Most complex organizational problems require multiple people to be involved in delivering the solution. Ensuring that the team and organization can depend on you to take the necessary actions and communicate where necessary is key to ensuring problems are solved effectively.

Being dependable also means working to deadlines and to brief. It is often a matter of creating trust in a team so that everyone can depend on one another to complete the agreed actions in the agreed time frame so that the team can move forward together. Being undependable can create problems of friction and can limit the effectiveness of your solutions so be sure to bear this in mind throughout a project. 

Team Purpose & Culture   #team   #hyperisland   #culture   #remote-friendly   This is an essential process designed to help teams define their purpose (why they exist) and their culture (how they work together to achieve that purpose). Defining these two things will help any team to be more focused and aligned. With support of tangible examples from other companies, the team members work as individuals and a group to codify the way they work together. The goal is a visual manifestation of both the purpose and culture that can be put up in the team’s work space.

Emotional intelligence

Emotional intelligence is an important skill for any successful team member, whether communicating internally or with clients or users. In the problem solving process, emotional intelligence means being attuned to how people are feeling and thinking, communicating effectively and being self-aware of what you bring to a room. 

There are often differences of opinion when working through problem solving processes, and it can be easy to let things become impassioned or combative. Developing your emotional intelligence means being empathetic to your colleagues and managing your own emotions throughout the problem and solution process. Be kind, be thoughtful and put your points across care and attention. 

Being emotionally intelligent is a skill for life and by deploying it at work, you can not only work efficiently but empathetically. Check out the emotional culture workshop template for more!

Facilitation

As we’ve clarified in our facilitation skills post, facilitation is the art of leading people through processes towards agreed-upon objectives in a manner that encourages participation, ownership, and creativity by all those involved. While facilitation is a set of interrelated skills in itself, the broad definition of facilitation can be invaluable when it comes to problem solving. Leading a team through a problem solving process is made more effective if you improve and utilize facilitation skills – whether you’re a manager, team leader or external stakeholder.

The Six Thinking Hats   #creative thinking   #meeting facilitation   #problem solving   #issue resolution   #idea generation   #conflict resolution   The Six Thinking Hats are used by individuals and groups to separate out conflicting styles of thinking. They enable and encourage a group of people to think constructively together in exploring and implementing change, rather than using argument to fight over who is right and who is wrong.

Flexibility 

Being flexible is a vital skill when it comes to problem solving. This does not mean immediately bowing to pressure or changing your opinion quickly: instead, being flexible is all about seeing things from new perspectives, receiving new information and factoring it into your thought process.

Flexibility is also important when it comes to rolling out solutions. It might be that other organizational projects have greater priority or require the same resources as your chosen solution. Being flexible means understanding needs and challenges across the team and being open to shifting or arranging your own schedule as necessary. Again, this does not mean immediately making way for other projects. It’s about articulating your own needs, understanding the needs of others and being able to come to a meaningful compromise.

The Creativity Dice   #creativity   #problem solving   #thiagi   #issue analysis   Too much linear thinking is hazardous to creative problem solving. To be creative, you should approach the problem (or the opportunity) from different points of view. You should leave a thought hanging in mid-air and move to another. This skipping around prevents premature closure and lets your brain incubate one line of thought while you consciously pursue another.

Working in any group can lead to unconscious elements of groupthink or situations in which you may not wish to be entirely honest. Disagreeing with the opinions of the executive team or wishing to save the feelings of a coworker can be tricky to navigate, but being honest is absolutely vital when to comes to developing effective solutions and ensuring your voice is heard. 

Remember that being honest does not mean being brutally candid. You can deliver your honest feedback and opinions thoughtfully and without creating friction by using other skills such as emotional intelligence. 

Explore your Values   #hyperisland   #skills   #values   #remote-friendly   Your Values is an exercise for participants to explore what their most important values are. It’s done in an intuitive and rapid way to encourage participants to follow their intuitive feeling rather than over-thinking and finding the “correct” values. It is a good exercise to use to initiate reflection and dialogue around personal values.

Initiative 

The problem solving process is multi-faceted and requires different approaches at certain points of the process. Taking initiative to bring problems to the attention of the team, collect data or lead the solution creating process is always valuable. You might even roadtest your own small scale solutions or brainstorm before a session. Taking initiative is particularly effective if you have good deal of knowledge in that area or have ownership of a particular project and want to get things kickstarted.

That said, be sure to remember to honor the process and work in service of the team. If you are asked to own one part of the problem solving process and you don’t complete that task because your initiative leads you to work on something else, that’s not an effective method of solving business challenges.

15% Solutions   #action   #liberating structures   #remote-friendly   You can reveal the actions, however small, that everyone can do immediately. At a minimum, these will create momentum, and that may make a BIG difference.  15% Solutions show that there is no reason to wait around, feel powerless, or fearful. They help people pick it up a level. They get individuals and the group to focus on what is within their discretion instead of what they cannot change.  With a very simple question, you can flip the conversation to what can be done and find solutions to big problems that are often distributed widely in places not known in advance. Shifting a few grains of sand may trigger a landslide and change the whole landscape.

Impartiality

A particularly useful problem solving skill for product owners or managers is the ability to remain impartial throughout much of the process. In practice, this means treating all points of view and ideas brought forward in a meeting equally and ensuring that your own areas of interest or ownership are not favored over others. 

There may be a stage in the process where a decision maker has to weigh the cost and ROI of possible solutions against the company roadmap though even then, ensuring that the decision made is based on merit and not personal opinion. 

Empathy map   #frame insights   #create   #design   #issue analysis   An empathy map is a tool to help a design team to empathize with the people they are designing for. You can make an empathy map for a group of people or for a persona. To be used after doing personas when more insights are needed.

Being a good leader means getting a team aligned, energized and focused around a common goal. In the problem solving process, strong leadership helps ensure that the process is efficient, that any conflicts are resolved and that a team is managed in the direction of success.

It’s common for managers or executives to assume this role in a problem solving workshop, though it’s important that the leader maintains impartiality and does not bulldoze the group in a particular direction. Remember that good leadership means working in service of the purpose and team and ensuring the workshop is a safe space for employees of any level to contribute. Take a look at our leadership games and activities post for more exercises and methods to help improve leadership in your organization.

Leadership Pizza   #leadership   #team   #remote-friendly   This leadership development activity offers a self-assessment framework for people to first identify what skills, attributes and attitudes they find important for effective leadership, and then assess their own development and initiate goal setting.

In the context of problem solving, mediation is important in keeping a team engaged, happy and free of conflict. When leading or facilitating a problem solving workshop, you are likely to run into differences of opinion. Depending on the nature of the problem, certain issues may be brought up that are emotive in nature. 

Being an effective mediator means helping those people on either side of such a divide are heard, listen to one another and encouraged to find common ground and a resolution. Mediating skills are useful for leaders and managers in many situations and the problem solving process is no different.

Conflict Responses   #hyperisland   #team   #issue resolution   A workshop for a team to reflect on past conflicts, and use them to generate guidelines for effective conflict handling. The workshop uses the Thomas-Killman model of conflict responses to frame a reflective discussion. Use it to open up a discussion around conflict with a team.

Planning 

Solving organizational problems is much more effective when following a process or problem solving model. Planning skills are vital in order to structure, deliver and follow-through on a problem solving workshop and ensure your solutions are intelligently deployed.

Planning skills include the ability to organize tasks and a team, plan and design the process and take into account any potential challenges. Taking the time to plan carefully can save time and frustration later in the process and is valuable for ensuring a team is positioned for success.

3 Action Steps   #hyperisland   #action   #remote-friendly   This is a small-scale strategic planning session that helps groups and individuals to take action toward a desired change. It is often used at the end of a workshop or programme. The group discusses and agrees on a vision, then creates some action steps that will lead them towards that vision. The scope of the challenge is also defined, through discussion of the helpful and harmful factors influencing the group.

Prioritization

As organisations grow, the scale and variation of problems they face multiplies. Your team or is likely to face numerous challenges in different areas and so having the skills to analyze and prioritize becomes very important, particularly for those in leadership roles.

A thorough problem solving process is likely to deliver multiple solutions and you may have several different problems you wish to solve simultaneously. Prioritization is the ability to measure the importance, value, and effectiveness of those possible solutions and choose which to enact and in what order. The process of prioritization is integral in ensuring the biggest challenges are addressed with the most impactful solutions.

Impact and Effort Matrix   #gamestorming   #decision making   #action   #remote-friendly   In this decision-making exercise, possible actions are mapped based on two factors: effort required to implement and potential impact. Categorizing ideas along these lines is a useful technique in decision making, as it obliges contributors to balance and evaluate suggested actions before committing to them.

Project management

Some problem solving skills are utilized in a workshop or ideation phases, while others come in useful when it comes to decision making. Overseeing an entire problem solving process and ensuring its success requires strong project management skills. 

While project management incorporates many of the other skills listed here, it is important to note the distinction of considering all of the factors of a project and managing them successfully. Being able to negotiate with stakeholders, manage tasks, time and people, consider costs and ROI, and tie everything together is massively helpful when going through the problem solving process. 

Record keeping

Working out meaningful solutions to organizational challenges is only one part of the process.  Thoughtfully documenting and keeping records of each problem solving step for future consultation is important in ensuring efficiency and meaningful change. 

For example, some problems may be lower priority than others but can be revisited in the future. If the team has ideated on solutions and found some are not up to the task, record those so you can rule them out and avoiding repeating work. Keeping records of the process also helps you improve and refine your problem solving model next time around!

Personal Kanban   #gamestorming   #action   #agile   #project planning   Personal Kanban is a tool for organizing your work to be more efficient and productive. It is based on agile methods and principles.

Research skills

Conducting research to support both the identification of problems and the development of appropriate solutions is important for an effective process. Knowing where to go to collect research, how to conduct research efficiently, and identifying pieces of research are relevant are all things a good researcher can do well. 

In larger groups, not everyone has to demonstrate this ability in order for a problem solving workshop to be effective. That said, having people with research skills involved in the process, particularly if they have existing area knowledge, can help ensure the solutions that are developed with data that supports their intention. Remember that being able to deliver the results of research efficiently and in a way the team can easily understand is also important. The best data in the world is only as effective as how it is delivered and interpreted.

Customer experience map   #ideation   #concepts   #research   #design   #issue analysis   #remote-friendly   Customer experience mapping is a method of documenting and visualizing the experience a customer has as they use the product or service. It also maps out their responses to their experiences. To be used when there is a solution (even in a conceptual stage) that can be analyzed.

Risk management

Managing risk is an often overlooked part of the problem solving process. Solutions are often developed with the intention of reducing exposure to risk or solving issues that create risk but sometimes, great solutions are more experimental in nature and as such, deploying them needs to be carefully considered. 

Managing risk means acknowledging that there may be risks associated with more out of the box solutions or trying new things, but that this must be measured against the possible benefits and other organizational factors. 

Be informed, get the right data and stakeholders in the room and you can appropriately factor risk into your decision making process. 

Decisions, Decisions…   #communication   #decision making   #thiagi   #action   #issue analysis   When it comes to decision-making, why are some of us more prone to take risks while others are risk-averse? One explanation might be the way the decision and options were presented.  This exercise, based on Kahneman and Tversky’s classic study , illustrates how the framing effect influences our judgement and our ability to make decisions . The participants are divided into two groups. Both groups are presented with the same problem and two alternative programs for solving them. The two programs both have the same consequences but are presented differently. The debriefing discussion examines how the framing of the program impacted the participant’s decision.

Team-building 

No single person is as good at problem solving as a team. Building an effective team and helping them come together around a common purpose is one of the most important problem solving skills, doubly so for leaders. By bringing a team together and helping them work efficiently, you pave the way for team ownership of a problem and the development of effective solutions. 

In a problem solving workshop, it can be tempting to jump right into the deep end, though taking the time to break the ice, energize the team and align them with a game or exercise will pay off over the course of the day.

Remember that you will likely go through the problem solving process multiple times over an organization’s lifespan and building a strong team culture will make future problem solving more effective. It’s also great to work with people you know, trust and have fun with. Working on team building in and out of the problem solving process is a hallmark of successful teams that can work together to solve business problems.

9 Dimensions Team Building Activity   #ice breaker   #teambuilding   #team   #remote-friendly   9 Dimensions is a powerful activity designed to build relationships and trust among team members. There are 2 variations of this icebreaker. The first version is for teams who want to get to know each other better. The second version is for teams who want to explore how they are working together as a team.

Time management 

The problem solving process is designed to lead a team from identifying a problem through to delivering a solution and evaluating its effectiveness. Without effective time management skills or timeboxing of tasks, it can be easy for a team to get bogged down or be inefficient.

By using a problem solving model and carefully designing your workshop, you can allocate time efficiently and trust that the process will deliver the results you need in a good timeframe.

Time management also comes into play when it comes to rolling out solutions, particularly those that are experimental in nature. Having a clear timeframe for implementing and evaluating solutions is vital for ensuring their success and being able to pivot if necessary.

Improving your skills at problem solving is often a career-long pursuit though there are methods you can use to make the learning process more efficient and to supercharge your problem solving skillset.

Remember that the skills you need to be a great problem solver have a large overlap with those skills you need to be effective in any role. Investing time and effort to develop your active listening or critical thinking skills is valuable in any context. Here are 7 ways to improve your problem solving skills.

Share best practices

Remember that your team is an excellent source of skills, wisdom, and techniques and that you should all take advantage of one another where possible. Best practices that one team has for solving problems, conducting research or making decisions should be shared across the organization. If you have in-house staff that have done active listening training or are data analysis pros, have them lead a training session. 

Your team is one of your best resources. Create space and internal processes for the sharing of skills so that you can all grow together. 

Ask for help and attend training

Once you’ve figured out you have a skills gap, the next step is to take action to fill that skills gap. That might be by asking your superior for training or coaching, or liaising with team members with that skill set. You might even attend specialized training for certain skills – active listening or critical thinking, for example, are business-critical skills that are regularly offered as part of a training scheme.

Whatever method you choose, remember that taking action of some description is necessary for growth. Whether that means practicing, getting help, attending training or doing some background reading, taking active steps to improve your skills is the way to go.

Learn a process 

Problem solving can be complicated, particularly when attempting to solve large problems for the first time. Using a problem solving process helps give structure to your problem solving efforts and focus on creating outcomes, rather than worrying about the format. 

Tools such as the seven-step problem solving process above are effective because not only do they feature steps that will help a team solve problems, they also develop skills along the way. Each step asks for people to engage with the process using different skills and in doing so, helps the team learn and grow together. Group processes of varying complexity and purpose can also be found in the SessionLab library of facilitation techniques . Using a tried and tested process and really help ease the learning curve for both those leading such a process, as well as those undergoing the purpose.

Effective teams make decisions about where they should and shouldn’t expend additional effort. By using a problem solving process, you can focus on the things that matter, rather than stumbling towards a solution haphazardly. 

Create a feedback loop

Some skills gaps are more obvious than others. It’s possible that your perception of your active listening skills differs from those of your colleagues. 

It’s valuable to create a system where team members can provide feedback in an ordered and friendly manner so they can all learn from one another. Only by identifying areas of improvement can you then work to improve them. 

Remember that feedback systems require oversight and consideration so that they don’t turn into a place to complain about colleagues. Design the system intelligently so that you encourage the creation of learning opportunities, rather than encouraging people to list their pet peeves.

While practice might not make perfect, it does make the problem solving process easier. If you are having trouble with critical thinking, don’t shy away from doing it. Get involved where you can and stretch those muscles as regularly as possible. 

Problem solving skills come more naturally to some than to others and that’s okay. Take opportunities to get involved and see where you can practice your skills in situations outside of a workshop context. Try collaborating in other circumstances at work or conduct data analysis on your own projects. You can often develop those skills you need for problem solving simply by doing them. Get involved!

Use expert exercises and methods

Learn from the best. Our library of 700+ facilitation techniques is full of activities and methods that help develop the skills you need to be an effective problem solver. Check out our templates to see how to approach problem solving and other organizational challenges in a structured and intelligent manner.

There is no single approach to improving problem solving skills, but by using the techniques employed by others you can learn from their example and develop processes that have seen proven results. 

Try new ways of thinking and change your mindset

Using tried and tested exercises that you know well can help deliver results, but you do run the risk of missing out on the learning opportunities offered by new approaches. As with the problem solving process, changing your mindset can remove blockages and be used to develop your problem solving skills.

Most teams have members with mixed skill sets and specialties. Mix people from different teams and share skills and different points of view. Teach your customer support team how to use design thinking methods or help your developers with conflict resolution techniques. Try switching perspectives with facilitation techniques like Flip It! or by using new problem solving methodologies or models. Give design thinking, liberating structures or lego serious play a try if you want to try a new approach. You will find that framing problems in new ways and using existing skills in new contexts can be hugely useful for personal development and improving your skillset. It’s also a lot of fun to try new things. Give it a go!

Encountering business challenges and needing to find appropriate solutions is not unique to your organization. Lots of very smart people have developed methods, theories and approaches to help develop problem solving skills and create effective solutions. Learn from them!

Books like The Art of Thinking Clearly , Think Smarter, or Thinking Fast, Thinking Slow are great places to start, though it’s also worth looking at blogs related to organizations facing similar problems to yours, or browsing for success stories. Seeing how Dropbox massively increased growth and working backward can help you see the skills or approach you might be lacking to solve that same problem. Learning from others by reading their stories or approaches can be time-consuming but ultimately rewarding.

A tired, distracted mind is not in the best position to learn new skills. It can be tempted to burn the candle at both ends and develop problem solving skills outside of work. Absolutely use your time effectively and take opportunities for self-improvement, though remember that rest is hugely important and that without letting your brain rest, you cannot be at your most effective. 

Creating distance between yourself and the problem you might be facing can also be useful. By letting an idea sit, you can find that a better one presents itself or you can develop it further. Take regular breaks when working and create a space for downtime. Remember that working smarter is preferable to working harder and that self-care is important for any effective learning or improvement process.

Want to design better group processes?

mention any two computer problem solving techniques

Over to you

Now we’ve explored some of the key problem solving skills and the problem solving steps necessary for an effective process, you’re ready to begin developing more effective solutions and leading problem solving workshops.

Need more inspiration? Check out our post on problem solving activities you can use when guiding a group towards a great solution in your next workshop or meeting. Have questions? Did you have a great problem solving technique you use with your team? Get in touch in the comments below. We’d love to chat!

Leave a Comment Cancel reply

Your email address will not be published. Required fields are marked *

cycle of workshop planning steps

Going from a mere idea to a workshop that delivers results for your clients can feel like a daunting task. In this piece, we will shine a light on all the work behind the scenes and help you learn how to plan a workshop from start to finish. On a good day, facilitation can feel like effortless magic, but that is mostly the result of backstage work, foresight, and a lot of careful planning. Read on to learn a step-by-step approach to breaking the process of planning a workshop into small, manageable chunks.  The flow starts with the first meeting with a client to define the purposes of a workshop.…

mention any two computer problem solving techniques

How does learning work? A clever 9-year-old once told me: “I know I am learning something new when I am surprised.” The science of adult learning tells us that, in order to learn new skills (which, unsurprisingly, is harder for adults to do than kids) grown-ups need to first get into a specific headspace.  In a business, this approach is often employed in a training session where employees learn new skills or work on professional development. But how do you ensure your training is effective? In this guide, we'll explore how to create an effective training session plan and run engaging training sessions. As team leader, project manager, or consultant,…

mention any two computer problem solving techniques

Effective online tools are a necessity for smooth and engaging virtual workshops and meetings. But how do you choose the right ones? Do you sometimes feel that the good old pen and paper or MS Office toolkit and email leaves you struggling to stay on top of managing and delivering your workshop? Fortunately, there are plenty of online tools to make your life easier when you need to facilitate a meeting and lead workshops. In this post, we’ll share our favorite online tools you can use to make your job as a facilitator easier. In fact, there are plenty of free online workshop tools and meeting facilitation software you can…

Design your next workshop with SessionLab

Join the 150,000 facilitators using SessionLab

Sign up for free

Learn Creative Problem Solving Techniques to Stimulate Innovation in Your Organization

By Kate Eby | October 20, 2017 (updated August 27, 2021)

  • Share on Facebook
  • Share on LinkedIn

Link copied

In today’s competitive business landscape, organizations need processes in place to make strong, well-informed, and innovative decisions. Problem solving - in particular creative problem solving (CPS) - is a key skill in learning how to accurately identify problems and their causes, generate potential solutions, and evaluate all the possibilities to arrive at a strong corrective course of action. Every team in any organization, regardless of department or industry, needs to be effective, creative, and quick when solving problems. 

In this article, we’ll discuss traditional and creative problem solving, and define the steps, best practices, and common barriers associated. After that, we’ll provide helpful methods and tools to identify the cause(s) of problematic situations, so you can get to the root of the issue and start to generate solutions. Then, we offer nearly 20 creative problem solving techniques to implement at your organization, or even in your personal life. Along the way, experts weigh in on the importance of problem solving, and offer tips and tricks. 

What Is Problem Solving and Decision Making?

Problem solving is the process of working through every aspect of an issue or challenge to reach a solution. Decision making is choosing one of multiple proposed solutions  — therefore, this process also includes defining and evaluating all potential options. Decision making is often one step of the problem solving process, but the two concepts are distinct. 

Collective problem solving is problem solving that includes many different parties and bridges the knowledge of different groups. Collective problem solving is common in business problem solving because workplace decisions typically affect more than one person. 

Problem solving, especially in business, is a complicated science. Not only are business conflicts multifaceted, but they often involve different personalities, levels of authority, and group dynamics. In recent years, however, there has been a rise in psychology-driven problem solving techniques, especially for the workplace. In fact, the psychology of how people solve problems is now studied formally in academic disciplines such as psychology and cognitive science.

Joe Carella

Joe Carella is the Assistant Dean for Executive Education at the University of Arizona . Joe has over 20 years of experience in helping executives and corporations in managing change and developing successful business strategies. His doctoral research and executive education engagements have seen him focus on corporate strategy, decision making and business performance with a variety of corporate clients including Hershey’s, Chevron, Fender Musical Instruments Corporation, Intel, DP World, Essilor, BBVA Compass Bank.

He explains some of the basic psychology behind problem solving: “When our brain is engaged in the process of solving problems, it is engaged in a series of steps where it processes and organizes the information it receives while developing new knowledge it uses in future steps. Creativity is embedded in this process by incorporating diverse inputs and/or new ways of organizing the information received.”

Laura MacLeod

Laura MacLeod is a Professor of Social Group Work at City University of New York, and the creator of From The Inside Out Project® , a program that coaches managers in team leadership for a variety of workplaces. She has a background in social work and over two decades of experience as a union worker, and currently leads talks on conflict resolution, problem solving, and listening skills at conferences across the country. 

MacLeod thinks of problem solving as an integral practice of successful organizations. “Problem solving is a collaborative process — all voices are heard and connected, and resolution is reached by the group,” she says. “Problems and conflicts occur in all groups and teams in the workplace, but if leaders involve everyone in working through, they will foster cohesion, engagement, and buy in. Everybody wins.”

10 tips that will make you more productive.

Top 3 Productivity Killers Ebook

Uncover the top three factors that are killing your productivity and 10 tips to help you overcome them.

Download the free e-book to overcome my productivity killers

Project Management Guide

Your one-stop shop for everything project management

the 101 guide to project management

Ready to get more out of your project management efforts? Visit our comprehensive project management guide for tips, best practices, and free resources to manage your work more effectively.

View the guide

What Is the First Step in Solving a Problem?

Although problem solving techniques vary procedurally, experts agree that the first step in solving a problem is defining the problem. Without a clear articulation of the problem at stake, it is impossible to analyze all the key factors and actors, generate possible solutions, and then evaluate them to pick the best option. 

Elliott Jaffa

Dr. Elliott Jaffa is a behavioral and management psychologist with over 25 years of problem solving training and management experience. “Start with defining the problem you want to solve,” he says, “And then define where you want to be, what you want to come away with.” He emphasizes these are the first steps in creating an actionable, clear solution. 

Bryan Mattimore

Bryan Mattimore is Co-Founder of Growth Engine, an 18-year old innovation agency based in Norwalk, CT. Bryan has facilitated over 1,000 ideation sessions and managed over 200 successful innovation projects leading to over $3 billion in new sales. His newest book is 21 Days to a Big Idea . When asked about the first critical component to successful problem solving, Mattimore says, “Defining the challenge correctly, or ‘solving the right problem’ … The three creative techniques we use to help our clients ‘identify the right problem to be solved’ are questioning assumptions, 20 questions, and problem redefinition. A good example of this was a new product challenge from a client to help them ‘invent a new iron. We got them to redefine the challenge as first: a) inventing new anti-wrinkle devices, and then b) inventing new garment care devices.”

What Are Problem Solving Skills?

To understand the necessary skills in problem solving, you should first understand the types of thinking often associated with strong decision making. Most problem solving techniques look for a balance between the following binaries:

  • Convergent vs. Divergent Thinking: Convergent thinking is bringing together disparate information or ideas to determine a single best answer or solution. This thinking style values logic, speed, and accuracy, and leaves no chance for ambiguity. Divergent thinking is focused on generating new ideas to identify and evaluate multiple possible solutions, often uniting ideas in unexpected combinations. Divergent thinking is characterized by creativity, complexity, curiosity, flexibility, originality, and risk-taking.
  • Pragmatics vs. Semantics: Pragmatics refer to the logic of the problem at hand, and semantics is how you interpret the problem to solve it. Both are important to yield the best possible solution.
  • Mathematical vs. Personal Problem Solving: Mathematical problem solving involves logic (usually leading to a single correct answer), and is useful for problems that involve numbers or require an objective, clear-cut solution. However, many workplace problems also require personal problem solving, which includes interpersonal, collaborative, and emotional intuition and skills. 

The following basic methods are fundamental problem solving concepts. Implement them to help balance the above thinking models.

  • Reproductive Thinking: Reproductive thinking uses past experience to solve a problem. However, be careful not to rely too heavily on past solutions, and to evaluate current problems individually, with their own factors and parameters. 
  • Idea Generation: The process of generating many possible courses of action to identify a solution. This is most commonly a team exercise because putting everyone’s ideas on the table will yield the greatest number of potential solutions. 

However, many of the most critical problem solving skills are “soft” skills: personal and interpersonal understanding, intuitiveness, and strong listening. 

Mattimore expands on this idea: “The seven key skills to be an effective creative problem solver that I detail in my book Idea Stormers: How to Lead and Inspire Creative Breakthroughs are: 1) curiosity 2) openness 3) a willingness to embrace ambiguity 4) the ability to identify and transfer principles across categories and disciplines 5) the desire to search for integrity in ideas, 6) the ability to trust and exercise “knowingness” and 7) the ability to envision new worlds (think Dr. Seuss, Star Wars, Hunger Games, Harry Potter, etc.).”

“As an individual contributor to problem solving it is important to exercise our curiosity, questioning, and visioning abilities,” advises Carella. “As a facilitator it is essential to allow for diverse ideas to emerge, be able to synthesize and ‘translate’ other people’s thinking, and build an extensive network of available resources.”

MacLeod says the following interpersonal skills are necessary to effectively facilitate group problem solving: “The abilities to invite participation (hear all voices, encourage silent members), not take sides, manage dynamics between the monopolizer, the scapegoat, and the bully, and deal with conflict (not avoiding it or shutting down).” 

Furthermore, Jaffa explains that the skills of a strong problem solver aren’t measurable. The best way to become a creative problem solver, he says, is to do regular creative exercises that keep you sharp and force you to think outside the box. Carella echoes this sentiment: “Neuroscience tells us that creativity comes from creating novel neural paths. Allow a few minutes each day to exercise your brain with novel techniques and brain ‘tricks’ – read something new, drive to work via a different route, count backwards, smell a new fragrance, etc.”

What Is Creative Problem Solving? History, Evolution, and Core Principles

Creative problem solving (CPS) is a method of problem solving in which you approach a problem or challenge in an imaginative, innovative way. The goal of CPS is to come up with innovative solutions, make a decision, and take action quickly. Sidney Parnes and Alex Osborn are credited with developing the creative problem solving process in the 1950s. The concept was further studied and developed at SUNY Buffalo State and the Creative Education Foundation. 

The core principles of CPS include the following:

  • Balance divergent and convergent thinking
  • Ask problems as questions
  • Defer or suspend judgement
  • Focus on “Yes, and…” rather than “No, but…”

According to Carella, “Creative problem solving is the mental process used for generating innovative and imaginative ideas as a solution to a problem or a challenge. Creative problem solving techniques can be pursued by individuals or groups.”

When asked to define CPS, Jaffa explains that it is, by nature, difficult to create boundaries for. “Creative problem solving is not cut and dry,” he says, “If you ask 100 different people the definition of creative problem solving, you’ll get 100 different responses - it’s a non-entity.”

Business presents a unique need for creative problem solving. Especially in today’s competitive landscape, organizations need to iterate quickly, innovate with intention, and constantly be at the cutting-edge of creativity and new ideas to succeed. Developing CPS skills among your workforce not only enables you to make faster, stronger in-the-moment decisions, but also inspires a culture of collaborative work and knowledge sharing. When people work together to generate multiple novel ideas and evaluate solutions, they are also more likely to arrive at an effective decision, which will improve business processes and reduce waste over time. In fact, CPS is so important that some companies now list creative problem solving skills as a job criteria.

MacLeod reiterates the vitality of creative problem solving in the workplace. “Problem solving is crucial for all groups and teams,” she says. “Leaders need to know how to guide the process, hear all voices and involve all members - it’s not easy.”

“This mental process [of CPS] is especially helpful in work environments where individuals and teams continuously struggle with new problems and challenges posed by their continuously changing environment,” adds Carella. 

Problem Solving Best Practices

By nature, creative problem solving does not have a clear-cut set of do’s and don’ts. Rather, creating a culture of strong creative problem solvers requires flexibility, adaptation, and interpersonal skills. However, there are a several best practices that you should incorporate:

  • Use a Systematic Approach: Regardless of the technique you use, choose a systematic method that satisfies your workplace conditions and constraints (time, resources, budget, etc.). Although you want to preserve creativity and openness to new ideas, maintaining a structured approach to the process will help you stay organized and focused. 
  • View Problems as Opportunities: Rather than focusing on the negatives or giving up when you encounter barriers, treat problems as opportunities to enact positive change on the situation. In fact, some experts even recommend defining problems as opportunities, to remain proactive and positive.
  • Change Perspective: Remember that there are multiple ways to solve any problem. If you feel stuck, changing perspective can help generate fresh ideas. A perspective change might entail seeking advice of a mentor or expert, understanding the context of a situation, or taking a break and returning to the problem later. “A sterile or familiar environment can stifle new thinking and new perspectives,” says Carella. “Make sure you get out to draw inspiration from spaces and people out of your usual reach.”
  • Break Down Silos: To invite the greatest possible number of perspectives to any problem, encourage teams to work cross-departmentally. This not only combines diverse expertise, but also creates a more trusting and collaborative environment, which is essential to effective CPS. According to Carella, “Big challenges are always best tackled by a group of people rather than left to a single individual. Make sure you create a space where the team can concentrate and convene.”
  • Employ Strong Leadership or a Facilitator: Some companies choose to hire an external facilitator that teaches problem solving techniques, best practices, and practicums to stimulate creative problem solving. But, internal managers and staff can also oversee these activities. Regardless of whether the facilitator is internal or external, choose a strong leader who will value others’ ideas and make space for creative solutions.  Mattimore has specific advice regarding the role of a facilitator: “When facilitating, get the group to name a promising idea (it will crystalize the idea and make it more memorable), and facilitate deeper rather than broader. Push for not only ideas, but how an idea might specifically work, some of its possible benefits, who and when would be interested in an idea, etc. This fleshing-out process with a group will generate fewer ideas, but at the end of the day will yield more useful concepts that might be profitably pursued.” Additionally, Carella says that “Executives and managers don’t necessarily have to be creative problem solvers, but need to make sure that their teams are equipped with the right tools and resources to make this happen. Also they need to be able to foster an environment where failing fast is accepted and celebrated.”
  • Evaluate Your Current Processes: This practice can help you unlock bottlenecks, and also identify gaps in your data and information management, both of which are common roots of business problems.

MacLeod offers the following additional advice, “Always get the facts. Don’t jump too quickly to a solution – working through [problems] takes time and patience.”

Mattimore also stresses that how you introduce creative problem solving is important. “Do not start by introducing a new company-wide innovation process,” he says. “Instead, encourage smaller teams to pursue specific creative projects, and then build a process from the ground up by emulating these smaller teams’ successful approaches. We say: ‘You don’t innovate by changing the culture, you change the culture by innovating.’”

Barriers to Effective Problem Solving

Learning how to effectively solve problems is difficult and takes time and continual adaptation. There are several common barriers to successful CPS, including:

  • Confirmation Bias: The tendency to only search for or interpret information that confirms a person’s existing ideas. People misinterpret or disregard data that doesn’t align with their beliefs.
  • Mental Set: People’s inclination to solve problems using the same tactics they have used to solve problems in the past. While this can sometimes be a useful strategy (see Analogical Thinking in a later section), it often limits inventiveness and creativity.
  • Functional Fixedness: This is another form of narrow thinking, where people become “stuck” thinking in a certain way and are unable to be flexible or change perspective.
  • Unnecessary Constraints: When people are overwhelmed with a problem, they can invent and impose additional limits on solution avenues. To avoid doing this, maintain a structured, level-headed approach to evaluating causes, effects, and potential solutions.
  • Groupthink: Be wary of the tendency for group members to agree with each other — this might be out of conflict avoidance, path of least resistance, or fear of speaking up. While this agreeableness might make meetings run smoothly, it can actually stunt creativity and idea generation, therefore limiting the success of your chosen solution.
  • Irrelevant Information: The tendency to pile on multiple problems and factors that may not even be related to the challenge at hand. This can cloud the team’s ability to find direct, targeted solutions.
  • Paradigm Blindness: This is found in people who are unwilling to adapt or change their worldview, outlook on a particular problem, or typical way of processing information. This can erode the effectiveness of problem solving techniques because they are not aware of the narrowness of their thinking, and therefore cannot think or act outside of their comfort zone.

According to Jaffa, the primary barrier of effective problem solving is rigidity. “The most common things people say are, ‘We’ve never done it before,’ or ‘We’ve always done it this way.’” While these feelings are natural, Jaffa explains that this rigid thinking actually precludes teams from identifying creative, inventive solutions that result in the greatest benefit.

“The biggest barrier to creative problem solving is a lack of awareness – and commitment to – training employees in state-of-the-art creative problem-solving techniques,” Mattimore explains. “We teach our clients how to use ideation techniques (as many as two-dozen different creative thinking techniques) to help them generate more and better ideas. Ideation techniques use specific and customized stimuli, or ‘thought triggers’ to inspire new thinking and new ideas.” 

MacLeod adds that ineffective or rushed leadership is another common culprit. “We're always in a rush to fix quickly,” she says. “Sometimes leaders just solve problems themselves, making unilateral decisions to save time. But the investment is well worth it — leaders will have less on their plates if they can teach and eventually trust the team to resolve. Teams feel empowered and engagement and investment increases.”

Strategies for Problem Cause Identification

As discussed, most experts agree that the first and most crucial step in problem solving is defining the problem. Once you’ve done this, however, it may not be appropriate to move straight to the solution phase. Rather, it is often helpful to identify the cause(s) of the problem: This will better inform your solution planning and execution, and help ensure that you don’t fall victim to the same challenges in the future. 

Below are some of the most common strategies for identifying the cause of a problem:

  • Root Cause Analysis: This method helps identify the most critical cause of a problem. A factor is considered a root cause if removing it prevents the problem from recurring. Performing a root cause analysis is a 12 step process that includes: define the problem, gather data on the factors contributing to the problem, group the factors based on shared characteristics, and create a cause-and-effect timeline to determine the root cause. After that, you identify and evaluate corrective actions to eliminate the root cause.

Fishbone Diagram Template

‌ Download Fishbone Diagram Template - Excel

Interrelationship Diagrams

Download 5 Whys Template   Excel  |  Word  |  PDF   

Problem Solving Techniques and Strategies

In this section, we’ll explain several traditional and creative problem solving methods that you can use to identify challenges, create actionable goals, and resolve problems as they arise. Although there is often procedural and objective crossover among techniques, they are grouped by theme so you can identify which method works best for your organization.

Divergent Creative Problem Solving Techniques

Brainstorming: One of the most common methods of divergent thinking, brainstorming works best in an open group setting where everyone is encouraged to share their creative ideas. The goal is to generate as many ideas as possible – you analyze, critique, and evaluate the ideas only after the brainstorming session is complete. To learn more specific brainstorming techniques, read this article . 

Mind Mapping: This is a visual thinking tool where you graphically depict concepts and their relation to one another. You can use mind mapping to structure the information you have, analyze and synthesize it, and generate solutions and new ideas from there. The goal of a mind map is to simplify complicated problems so you can more clearly identify solutions.

Appreciative Inquiry (AI): The basic assumption of AI is that “an organization is a mystery to be embraced.” Using this principle, AI takes a positive, inquisitive approach to identifying the problem, analyzing the causes, and presenting possible solutions. The five principles of AI emphasize dialogue, deliberate language and outlook, and social bonding. 

Lateral Thinking: This is an indirect problem solving approach centered on the momentum of idea generation. As opposed to critical thinking, where people value ideas based on their truth and the absence of errors, lateral thinking values the “movement value” of new ideas: This means that you reward team members for producing a large volume of new ideas rapidly. With this approach, you’ll generate many new ideas before approving or rejecting any.

Problem Solving Techniques to Change Perspective

Constructive Controversy: This is a structured approach to group decision making to preserve critical thinking and disagreement while maintaining order. After defining the problem and presenting multiple courses of action, the group divides into small advocacy teams who research, analyze, and refute a particular option. Once each advocacy team has presented its best-case scenario, the group has a discussion (advocacy teams still defend their presented idea). Arguing and playing devil’s advocate is encouraged to reach an understanding of the pros and cons of each option. Next, advocacy teams abandon their cause and evaluate the options openly until they reach a consensus. All team members formally commit to the decision, regardless of whether they advocated for it at the beginning. You can learn more about the goals and steps in constructive controversy here . 

Carella is a fan of this approach. “Create constructive controversy by having two teams argue the pros and cons of a certain idea,” he says. “It forces unconscious biases to surface and gives space for new ideas to formulate.”

Abstraction: In this method, you apply the problem to a fictional model of the current situation. Mapping an issue to an abstract situation can shed extraneous or irrelevant factors, and reveal places where you are overlooking obvious solutions or becoming bogged down by circumstances. 

Analogical Thinking: Also called analogical reasoning , this method relies on an analogy: using information from one problem to solve another problem (these separate problems are called domains). It can be difficult for teams to create analogies among unrelated problems, but it is a strong technique to help you identify repeated issues, zoom out and change perspective, and prevent the problems from occurring in the future. .

CATWOE: This framework ensures that you evaluate the perspectives of those whom your decision will impact. The factors and questions to consider include (which combine to make the acronym CATWOE):

  • Customers: Who is on the receiving end of your decisions? What problem do they currently have, and how will they react to your proposed solution?
  • Actors: Who is acting to bring your solution to fruition? How will they respond and be affected by your decision?
  • Transformation Process: What processes will you employ to transform your current situation and meet your goals? What are the inputs and outputs?
  • World View: What is the larger context of your proposed solution? What is the larger, big-picture problem you are addressing?
  • Owner: Who actually owns the process? How might they influence your proposed solution (positively or negatively), and how can you influence them to help you?
  • Environmental Constraints: What are the limits (environmental, resource- and budget-wise, ethical, legal, etc.) on your ideas? How will you revise or work around these constraints?

Complex Problem Solving

Soft Systems Methodology (SSM): For extremely complex problems, SSM can help you identify how factors interact, and determine the best course of action. SSM was borne out of organizational process modeling and general systems theory, which hold that everything is part of a greater, interconnected system: This idea works well for “hard” problems (where logic and a single correct answer are prioritized), and less so for “soft” problems (i.e., human problems where factors such as personality, emotions, and hierarchy come into play). Therefore, SSM defines a seven step process for problem solving: 

  • Begin with the problem or problematic situation 
  • Express the problem or situation and build a rich picture of the themes of the problem 
  • Identify the root causes of the problem (most commonly with CATWOE)
  • Build conceptual models of human activity surrounding the problem or situation
  • Compare models with real-world happenings
  • Identify changes to the situation that are both feasible and desirable
  • Take action to implement changes and improve the problematic situation

SSM can be used for any complex soft problem, and is also a useful tool in change management . 

Failure Mode and Effects Analysis (FMEA): This method helps teams anticipate potential problems and take steps to mitigate them. Use FMEA when you are designing (redesigning) a complex function, process, product, or service. First, identify the failure modes, which are the possible ways that a project could fail. Then, perform an effects analysis to understand the consequences of each of the potential downfalls. This exercise is useful for internalizing the severity of each potential failure and its effects so you can make adjustments or safeties in your plan. 

FMEA Template

‌ Download FMEA Template  

Problem Solving Based on Data or Logic (Heuristic Methods)

TRIZ: A Russian-developed problem solving technique that values logic, analysis, and forecasting over intuition or soft reasoning. TRIZ (translated to “theory of inventive problem solving” or TIPS in English) is a systematic approach to defining and identifying an inventive solution to difficult problems. The method offers several strategies for arriving at an inventive solution, including a contradictions matrix to assess trade-offs among solutions, a Su-Field analysis which uses formulas to describe a system by its structure, and ARIZ (algorithm of inventive problem solving) which uses algorithms to find inventive solutions. 

Inductive Reasoning: A logical method that uses evidence to conclude that a certain answer is probable (this is opposed to deductive reasoning, where the answer is assumed to be true). Inductive reasoning uses a limited number of observations to make useful, logical conclusions (for example, the Scientific Method is an extreme example of inductive reasoning). However, this method doesn’t always map well to human problems in the workplace — in these instances, managers should employ intuitive inductive reasoning , which allows for more automatic, implicit conclusions so that work can progress. This, of course, retains the principle that these intuitive conclusions are not necessarily the one and only correct answer. 

Process-Oriented Problem Solving Methods

Plan Do Check Act (PDCA): This is an iterative management technique used to ensure continual improvement of products or processes. First, teams plan (establish objectives to meet desired end results), then do (implement the plan, new processes, or produce the output), then check (compare expected with actual results), and finally act (define how the organization will act in the future, based on the performance and knowledge gained in the previous three steps). 

Means-End Analysis (MEA): The MEA strategy is to reduce the difference between the current (problematic) state and the goal state. To do so, teams compile information on the multiple factors that contribute to the disparity between the current and goal states. Then they try to change or eliminate the factors one by one, beginning with the factor responsible for the greatest difference in current and goal state. By systematically tackling the multiple factors that cause disparity between the problem and desired outcome, teams can better focus energy and control each step of the process. 

Hurson’s Productive Thinking Model: This technique was developed by Tim Hurson, and is detailed in his 2007 book Think Better: An Innovator’s Guide to Productive Thinking . The model outlines six steps that are meant to give structure while maintaining creativity and critical thinking: 1) Ask “What is going on?” 2) Ask “What is success?” 3) Ask “What is the question?” 4) Generate answers 5) Forge the solution 6) Align resources. 

Control Influence Accept (CIA): The basic premise of CIA is that how you respond to problems determines how successful you will be in overcoming them. Therefore, this model is both a problem solving technique and stress-management tool that ensures you aren’t responding to problems in a reactive and unproductive way. The steps in CIA include:

  • Control: Identify the aspects of the problem that are within your control.
  • Influence: Identify the aspects of the problem that you cannot control, but that you can influence.
  • Accept: Identify the aspects of the problem that you can neither control nor influence, and react based on this composite information. 

GROW Model: This is a straightforward problem solving method for goal setting that clearly defines your goals and current situation, and then asks you to define the potential solutions and be realistic about your chosen course of action. The steps break down as follows:

  • Goal: What do you want?
  • Reality: Where are you now?
  • Options: What could you do?
  • Will: What will you do?

OODA Loop: This acronym stands for observe, orient, decide, and act. This approach is a decision-making cycle that values agility and flexibility over raw human force. It is framed as a loop because of the understanding that any team will continually encounter problems or opponents to success and have to overcome them.

There are also many un-named creative problem solving techniques that follow a sequenced series of steps. While the exact steps vary slightly, they all follow a similar trajectory and aim to accomplish similar goals of problem, cause, and goal identification, idea generation, and active solution implementation.

MacLeod offers her own problem solving procedure, which echoes the above steps:

“1. Recognize the Problem: State what you see. Sometimes the problem is covert. 2. Identify: Get the facts — What exactly happened? What is the issue? 3. and 4. Explore and Connect: Dig deeper and encourage group members to relate their similar experiences. Now you're getting more into the feelings and background [of the situation], not just the facts.  5. Possible Solutions: Consider and brainstorm ideas for resolution. 6. Implement: Choose a solution and try it out — this could be role play and/or a discussion of how the solution would be put in place.  7. Evaluate: Revisit to see if the solution was successful or not.”

Many of these problem solving techniques can be used in concert with one another, or multiple can be appropriate for any given problem. It’s less about facilitating a perfect CPS session, and more about encouraging team members to continually think outside the box and push beyond personal boundaries that inhibit their innovative thinking. So, try out several methods, find those that resonate best with your team, and continue adopting new techniques and adapting your processes along the way. 

Improve Problem Solving with Work Management in Smartsheet

Empower your people to go above and beyond with a flexible platform designed to match the needs of your team — and adapt as those needs change. 

The Smartsheet platform makes it easy to plan, capture, manage, and report on work from anywhere, helping your team be more effective and get more done. Report on key metrics and get real-time visibility into work as it happens with roll-up reports, dashboards, and automated workflows built to keep your team connected and informed. 

When teams have clarity into the work getting done, there’s no telling how much more they can accomplish in the same amount of time.  Try Smartsheet for free, today.

Discover why over 90% of Fortune 100 companies trust Smartsheet to get work done.

  • Soft skills
  • What is a credential?
  • Why do a credential?
  • How do credentials work?
  • Selecting your level
  • How will I be assessed?
  • Benefits for professionals
  • Benefits for organisations
  • Benefits for postgraduates

Problem solving techniques: Steps and methods

mention any two computer problem solving techniques

Posted on May 29, 2019

Constant disruption has become a hallmark of the modern workforce and organisations want problem solving skills to combat this. Employers need people who can respond to change – be that evolving technology, new competitors, different models for doing business, or any of the other transformations that have taken place in recent years.

In addition, problem solving techniques encompass many of the other top skills employers seek . For example, LinkedIn’s list of the most in-demand soft skills of 2019 includes creativity, collaboration and adaptability, all of which fall under the problem-solving umbrella.

Despite its importance, many employees misunderstand what the problem solving method really involves.

What constitutes effective problem solving?

Effective problem solving doesn’t mean going away and coming up with an answer immediately. In fact, this isn’t good problem solving at all, because you’ll be running with the first solution that comes into your mind, which often isn’t the best.

Instead, you should look at problem solving more as a process with several steps involved that will help you reach the best outcome. Those steps are:

  • Define the problem
  • List all the possible solutions
  • Evaluate the options
  • Select the best solution
  • Create an implementation plan
  • Communicate your solution

Let’s look at each step in a little more detail.

It's important you take the time to brainstorm and consider all your options when solving problems.

1. Define the problem

The first step to solving a problem is defining what the problem actually is – sounds simple, right? Well no. An effective problem solver will take the thoughts of everyone involved into account, but different people might have different ideas on what the root cause of the issue really is. It’s up to you to actively listen to everyone without bringing any of your own preconceived notions to the conversation. Learning to differentiate facts from opinion is an essential part of this process.

An effective problem solver will take the opinions of everyone involved into account

The same can be said of data. Depending on what the problem is, there will be varying amounts of information available that will help you work out what’s gone wrong. There should be at least some data involved in any problem, and it’s up to you to gather as much as possible and analyse it objectively.

2. List all the possible solutions

Once you’ve identified what the real issue is, it’s time to think of solutions. Brainstorming as many solutions as possible will help you arrive at the best answer because you’ll be considering all potential options and scenarios. You should take everyone’s thoughts into account when you’re brainstorming these ideas, as well as all the insights you’ve gleaned from your data analysis. It also helps to seek input from others at this stage, as they may come up with solutions you haven’t thought of.

Depending on the type of problem, it can be useful to think of both short-term and long-term solutions, as some of your options may take a while to implement.

One of the best problem solving techniques is brainstorming a number of different solutions and involving affected parties in this process.

3. Evaluate the options

Each option will have pros and cons, and it’s important you list all of these, as well as how each solution could impact key stakeholders. Once you’ve narrowed down your options to three or four, it’s often a good idea to go to other employees for feedback just in case you’ve missed something. You should also work out how each option ties in with the broader goals of the business.

There may be a way to merge two options together in order to satisfy more people.

4. Select an option

Only now should you choose which solution you’re going to go with. What you decide should be whatever solves the problem most effectively while also taking the interests of everyone involved into account. There may be a way to merge two options together in order to satisfy more people.

5. Create an implementation plan

At this point you might be thinking it’s time to sit back and relax – problem solved, right? There are actually two more steps involved if you want your problem solving method to be truly effective. The first is to create an implementation plan. After all, if you don’t carry out your solution effectively, you’re not really solving the problem at all. 

Create an implementation plan on how you will put your solution into practice. One problem solving technique that many use here is to introduce a testing and feedback phase just to make sure the option you’ve selected really is the most viable. You’ll also want to include any changes to your solution that may occur in your implementation plan, as well as how you’ll monitor compliance and success.

6. Communicate your solution

There’s one last step to consider as part of the problem solving methodology, and that’s communicating your solution . Without this crucial part of the process, how is anyone going to know what you’ve decided? Make sure you communicate your decision to all the people who might be impacted by it. Not everyone is going to be 100 per cent happy with it, so when you communicate you must give them context. Explain exactly why you’ve made that decision and how the pros mean it’s better than any of the other options you came up with.

Prove your problem solving skills with Deakin

Employers are increasingly seeking soft skills, but unfortunately, while you can show that you’ve got a degree in a subject, it’s much harder to prove you’ve got proficiency in things like problem solving skills. But this is changing thanks to Deakin’s micro-credentials. These are university-level micro-credentials that provide an authoritative and third-party assessment of your capabilities in a range of areas, including problem solving. Reach out today for more information .

  • Top Courses
  • Online Degrees
  • Find your New Career
  • Join for Free

7 Problem-Solving Skills That Can Help You Be a More Successful Manager

Discover what problem-solving is, and why it's important for managers. Understand the steps of the process and learn about seven problem-solving skills.

[Featured Image]:  A manager wearing a black suit is talking to a team member, handling an issue  utilizing the process of problem-solving

1Managers oversee the day-to-day operations of a particular department, and sometimes a whole company, using their problem-solving skills regularly. Managers with good problem-solving skills can help ensure companies run smoothly and prosper.

If you're a current manager or are striving to become one, read this guide to discover what problem-solving skills are and why it's important for managers to have them. Learn the steps of the problem-solving process, and explore seven skills that can help make problem-solving easier and more effective.

What is problem-solving?

Problem-solving is both an ability and a process. As an ability, problem-solving can aid in resolving issues faced in different environments like home, school, abroad, and social situations, among others. As a process, problem-solving involves a series of steps for finding solutions to questions or concerns that arise throughout life.

The importance of problem-solving for managers

Managers deal with problems regularly, whether supervising a staff of two or 100. When people solve problems quickly and effectively, workplaces can benefit in a number of ways. These include:

Greater creativity

Higher productivity

Increased job fulfillment

Satisfied clients or customers

Better cooperation and cohesion

Improved environments for employees and customers

7 skills that make problem-solving easier

Companies depend on managers who can solve problems adeptly. Although problem-solving is a skill in its own right, a subset of seven skills can help make the process of problem-solving easier. These include analysis, communication, emotional intelligence, resilience, creativity, adaptability, and teamwork.

1. Analysis

As a manager , you'll solve each problem by assessing the situation first. Then, you’ll use analytical skills to distinguish between ineffective and effective solutions.

2. Communication

Effective communication plays a significant role in problem-solving, particularly when others are involved. Some skills that can help enhance communication at work include active listening, speaking with an even tone and volume, and supporting verbal information with written communication.

3. Emotional intelligence

Emotional intelligence is the ability to recognize and manage emotions in any situation. People with emotional intelligence usually solve problems calmly and systematically, which often yields better results.

4. Resilience

Emotional intelligence and resilience are closely related traits. Resiliency is the ability to cope with and bounce back quickly from difficult situations. Those who possess resilience are often capable of accurately interpreting people and situations, which can be incredibly advantageous when difficulties arise.

5. Creativity 

When brainstorming solutions to problems, creativity can help you to think outside the box. Problem-solving strategies can be enhanced with the application of creative techniques. You can use creativity to:

Approach problems from different angles

Improve your problem-solving process

Spark creativity in your employees and peers

6. Adaptability

Adaptability is the capacity to adjust to change. When a particular solution to an issue doesn't work, an adaptable person can revisit the concern to think up another one without getting frustrated.

7. Teamwork

Finding a solution to a problem regularly involves working in a team. Good teamwork requires being comfortable working with others and collaborating with them, which can result in better problem-solving overall.

Steps of the problem-solving process

Effective problem-solving involves five essential steps. One way to remember them is through the IDEAL model created in 1984 by psychology professors John D. Bransford and Barry S. Stein [ 1 ]. The steps to solving problems in this model include: identifying that there is a problem, defining the goals you hope to achieve, exploring potential solutions, choosing a solution and acting on it, and looking at (or evaluating) the outcome.

1. Identify that there is a problem and root out its cause.

To solve a problem, you must first admit that one exists to then find its root cause. Finding the cause of the problem may involve asking questions like:

Can the problem be solved?

How big of a problem is it?

Why do I think the problem is occurring?

What are some things I know about the situation?

What are some things I don't know about the situation?

Are there any people who contributed to the problem?

Are there materials or processes that contributed to the problem?

Are there any patterns I can identify?

2. Define the goals you hope to achieve.

Every problem is different. The goals you hope to achieve when problem-solving depend on the scope of the problem. Some examples of goals you might set include:

Gather as much factual information as possible.

Brainstorm many different strategies to come up with the best one.

Be flexible when considering other viewpoints.

Articulate clearly and encourage questions, so everyone involved is on the same page.

Be open to other strategies if the chosen strategy doesn't work.

Stay positive throughout the process.

3. Explore potential solutions.

Once you've defined the goals you hope to achieve when problem-solving , it's time to start the process. This involves steps that often include fact-finding, brainstorming, prioritizing solutions, and assessing the cost of top solutions in terms of time, labor, and money.

4. Choose a solution and act on it.

Evaluate the pros and cons of each potential solution, and choose the one most likely to solve the problem within your given budget, abilities, and resources. Once you choose a solution, it's important to make a commitment and see it through. Draw up a plan of action for implementation, and share it with all involved parties clearly and effectively, both verbally and in writing. Make sure everyone understands their role for a successful conclusion.

5. Look at (or evaluate) the outcome.

Evaluation offers insights into your current situation and future problem-solving. When evaluating the outcome, ask yourself questions like:

Did the solution work?

Will this solution work for other problems?

Were there any changes you would have made?

Would another solution have worked better?

As a current or future manager looking to build your problem-solving skills, it is often helpful to take a professional course. Consider Improving Communication Skills offered by the University of Pennsylvania on Coursera. You'll learn how to boost your ability to persuade, ask questions, negotiate, apologize, and more. 

You might also consider taking Emotional Intelligence: Cultivating Immensely Human Interactions , offered by the University of Michigan on Coursera. You'll explore the interpersonal and intrapersonal skills common to people with emotional intelligence, and you'll learn how emotional intelligence is connected to team success and leadership.

Coursera Plus

Build job-ready skills with a Coursera Plus subscription

  • Get access to 7,000+ learning programs from world-class universities and companies, including Google, Yale, Salesforce, and more
  • Try different courses and find your best fit at no additional cost
  • Earn certificates for learning programs you complete
  • A subscription price of $59/month, cancel anytime

Article sources

Tennessee Tech. “ The Ideal Problem Solver (2nd ed.) , https://www.tntech.edu/cat/pdf/useful_links/idealproblemsolver.pdf.” Accessed December 6, 2022.

Keep reading

Coursera staff.

Editorial Team

Coursera’s editorial team is comprised of highly experienced professional editors, writers, and fact...

This content has been made available for informational purposes only. Learners are advised to conduct additional research to ensure that courses and other credentials pursued meet their personal, professional, and financial goals.

Vector Impact Logo

4 Problem Solving Techniques: How to Solve Problems at Work

' src=

Table of Contents

Problems are nothing but wake-up calls for creativity. —Gerhard Gschwandtner
All life is problem solving. —Karl Popper

W hen you think about it, most jobs are all about problem solving.

Customers or clients have a problem, and it’s up to the business and employees to solve it.

These problems can be relatively simple (“I am hungry and need something good to eat”) or very complicated (“ I don’t know what to do with my life , and I need someone to teach me”). 

No matter where you end up working in the future, knowing how to tackle and solve problems will serve you well. 

In fact, problem solving is one of the most important soft skills for a lot of employers—which means that if you hone your ability to solve complex problems efficiently and intelligently, it will be much easier to get ahead in your career. 

And if you ever plan to start your own business , you better believe your problem solving skills will come in handy.  

Here’s the catch: There is no single problem solving method that can be applied to every issue you’ll encounter at work. Different issues require different solutions. 

In this article, I’m going to show you some of the most common problem solving techniques and how you can start applying them to your work (or day-to-day life) right away.

1. Rubber duck problem solving

rubber ducks

In software engineering, rubber duck debugging or rubber ducking is a method of debugging code.

The name references to a story in the book The Pragmatic Programmer, where a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line-by-line, to the duck.

Many other terms exist for this technique, often involving different inanimate objects. Still, the point is the same: Taking the time to explain your problem out loud—to a rubber duck, your dog, or just yourself—is a good way to see the problem from a new angle and eventually solve it. If talking out loud to yourself doesn’t work for you, you can also try writing out the problem in detail. 

The key is to slow down and think your way through the problem before you run to someone else for a solution. 

Your future bosses will love you for this. When you encounter a problem at your job, if you work through it and think of solutions before bringing it up to your boss, you’ll be practicing the fine art of managing up . (Another great way to advance your career.) 

The critical part of rubber duck problem solving is to commit to asking thorough, detailed questions of an imaginary person or inanimate object .

Try this process: 

1. Describe the problem in detail. Imagine how you’d explain the issue to a friend or colleague. Don’t think about solutions yet—just get the issue all laid out.

2. Explain what you’ve already discovered. Assuming you’ve already researched the issue, explain everything you already know that will factor into a solution.

3. List out the questions you still have. Now explain to the inanimate object where there’s missing information—what don’t you know or understand that prevents  you from getting to the root of the problem?

4. Explain why some solutions won’t work. What solutions to your problem can be ruled out because they won’t work? What have you tried already, and why didn’t it work out? 

Now take a break, and come back to read over your notes. If you haven’t already, you’ll probably be struck by a few ideas (and maybe even full solutions) that you didn’t think of previously. 

2. Lateral thinking

Traditional Logic v. Lateral Thinking

Here’s a common brainteaser, originated in Shane Snow’s book Smartcuts : 

“Pretend you are driving a car in the middle of a thunderstorm, and you happen upon three people on the side of the road.

One of them is a frail old woman who looks on the verge of collapse. Another is a friend who once saved your life. The other is the romantic interest of your dreams, and this is a once-in-a-lifetime opportunity to meet them.

You have only one other seat in the car.

Who do you pick up?

There’s a good reason to choose any of the three.

The old woman needs help.

The friend deserves your payback.

And clearly, a happy future with the person of your dreams will have an enormous long-term impact on your life.

So, who should you pick?

[Dramatic pause]

The old woman, of course. Then, give the car keys to your friend, and stay behind with the romantic interest to wait for the bus! ”

This puzzle is one of the greatest examples of the problem solving method known as lateral thinking. That’s a fancy term for using creative, unexpected solutions to solve a problem, rather than more traditional and pragmatic methods. 

Lateral thinking can be tricky because it requires you to cast aside assumptions (and it’s not always easy to know when you have made an assumption). 

But if you’re able to do that, then new solutions to the problem you’re facing will emerge. In the example above, you may have assumed that you can only put one person in your car or that only you can drive your car. Remove these assumptions, and suddenly the problem is much easier to see. 

So how do you put this into practice? Let’s use a work-related example. 

Imagine your boss has put you in charge of a project that requires you to coordinate meetings between the marketing team and the tech support team.

But there’s a problem: The marketing team is in Dubai, and the tech support team is in Dallas. There are over 100 people on those two teams, and there’s no easy way to get them in the same room, let alone the same time zone. 

That problem might seem impossible until you pause and consider some of the assumptions already being made: 

Assumption 1: The meetings have to be held in person.

Assumption 2: The meetings have to happen live.

Assumption 3: All team members have to be present for all meetings. 

Assumption 4: These meetings are necessary to complete the project. 

Now, take each of these assumptions, and see what happens when you take them out of the equation. 

What would happen if the meetings were held virtually? Or using collaboration software? 

Could you pre-record some of the sessions to cut down on meetings? 

What if your company flew a few representatives from each team to a central location rather than making everyone travel?  

What if you skipped these meetings altogether, and instead… 

You get the idea. The more assumptions you can find in the problem, as you’ve approached it, the more solutions you can come up with until you find the right one. 

3. Trial and error

mention any two computer problem solving techniques

So far, the tactics on this list have required you to be patient and thoughtful, but the problem solving method commonly known as trial and error is far more action-oriented (even if it is more tedious and time-consuming). 

When you take the trial and error approach, you commit to simply going ahead and trying different options to solve any given problem. When one fails, you stop and start over with another option. 

The trial and error method is incredibly common, and you may sometimes make use of it without realizing it. For example, let’s imagine you’re starting a new job, and you’re trying to find the most efficient way to get there on time. 

The first day you walk through the park…

The next day you take your bike…

Then you try the bus route… 

Eventually, you’ve tried every option (that’s the trial) and discovered which ones take too long (that’s the error). 

A word of warning: Stay away from this method if your situation has too many options because it won’t be feasible to test every single solution. Depending on the task, trial and error can either be the fastest way to do something or the slowest. So, think carefully before you decide this is how you want to solve a problem.  

While the trial and error approach affords you numerous chances to find a solution, it’s not meant to help you learn why something works a certain way. That being said, the underlying cause can often reveal itself once you hit on the right solution. 

So who uses this technique?

  • Chemists. It’s how they discover  new drugs, such as antibiotics. They simply try chemicals randomly until they find one with the desired effect.
  • Gamers. Video game players often use trial and error to succeed in a game.
  • Sports teams. They use it to qualify for and/or progress through the playoffs and win the championship by testing different tactics—plays, lineups, and formations—to defeat  everyone along the way to victory. This is especially crucial in playoff series in which multiple wins are required to advance. A team that loses a game will have the opportunity to try new tactics to find a way to win, if they are not eliminated.
  • Scientists. The scientific method is regarded as a trial and error strategy because scientists create and test hypotheses.

4. The 5 Whys

mention any two computer problem solving techniques

If you have little siblings or have spent time babysitting, then you’ll be familiar with how infuriating the question, “Why?” can be. 

But there’s a reason little kids are constantly asking why . They’re relatively new here on planet Earth, and there are A LOT of problems to understand and solve! 

Asking “why” is one of the most effective ways to solve a tricky problem, and it’s even been developed into an official problem solving technique known as “The 5 Whys.” 

The concept was originally developed by Sakichi Toyoda, for the Toyota Industries Corporation, according to a report from Asian Development Bank . 

Unlike the trial and error problem solving method, “The 5 Whys” is all about getting to the very root cause of any given issue, so you can solve it once and for all. 

The concept is pretty simple. You take any given problem, and you ask yourself, “Why is this problem happening?” 

From there, you ask, “Why is that problem happening?” 

As you follow this line of questioning, you’ll eventually come to a point where you can no longer ask “why” and still get a meaningful answer. When that happens, you know you’ve found the root cause of the issue—and discovering that is half the battle in finding a solution.

Face problems head-on

Look at your problems as fun puzzles that always have a solution, no matter how hard it may be to find it.

By not bugging your co-workers or boss and solving problems yourself, you’ll become the most loved problem solver in the office.

You’re welcome. 😉

Hi there! Such a wonderful write-up, thanks!

You’re welcome – glad you enjoyed it!

Thanks for giving us important information

You’re welcome – glad it was helpful!

very help full boss

Glad to hear it!

Thanks so much. This’s so helpful.

You’re welcome!

thanks for the good subject

Glad you enjoyed it!

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Save my name, email, and website in this browser for the next time I comment.

web analytics

Privacy Policy

IMAGES

  1. What Is Problem-Solving? Steps, Processes, Exercises to do it Right

    mention any two computer problem solving techniques

  2. Problem-Solving Strategies: Definition and 5 Techniques to Try

    mention any two computer problem solving techniques

  3. Computer Problem Solving from C.Itoi

    mention any two computer problem solving techniques

  4. problem solving approach in programming

    mention any two computer problem solving techniques

  5. Problem Solving Techniques in Computer Science

    mention any two computer problem solving techniques

  6. Introduction to Problem Solving| Steps of Problem Solving-Computer

    mention any two computer problem solving techniques

VIDEO

  1. How Do Computers Work? A Simple Breakdown for Beginners

  2. Problem Solving Techniques

  3. CSC126 ASSESMENT #4: GROUP PROJECT

  4. F.Y.B.Sc.(C.S.)|Sem-I |CS-111: Problem Solving using Computer and C Programming

  5. FINAL PROJECT CSC 126 ( E TICKET COUNTER CINEMA )

  6. top 4 pc problems with solution

COMMENTS

  1. 35 problem-solving techniques and methods for solving complex problems

    6. Discovery & Action Dialogue (DAD) One of the best approaches is to create a safe space for a group to share and discover practices and behaviors that can help them find their own solutions. With DAD, you can help a group choose which problems they wish to solve and which approaches they will take to do so.

  2. The Problem Solving Cycle in Computer Science: A Complete Guide

    The problem solving cycle is a systematic approach to analyzing and solving problems, involving various stages such as problem identification, analysis, algorithm design, implementation, and evaluation. Understanding the importance of this cycle is essential for any computer scientist or programmer.

  3. Problem Solving Techniques in Computer Science

    Computers are used as a tool to solve complex problems by developing computer programs. Computer programs contain different instructions for computers. A programmer writes instructions and the computer executes these instructions to solve a problem. A person can be a good programmer if he has the skill of solving problems.

  4. Problem-Solving Strategies for Software Engineers

    Write out the problem. Your problem won't always come right out and say: "It's me, hi. I'm the problem, it's me.". In fact, something that often gets in the way of solving a problem is that we zero in on the wrong problem. When pinpointing a problem, you can try borrowing a UX research technique that's part of the design thinking ...

  5. What is Problem Solving? (Steps, Techniques, Examples)

    The problem-solving process typically includes the following steps: Identify the issue: Recognize the problem that needs to be solved. Analyze the situation: Examine the issue in depth, gather all relevant information, and consider any limitations or constraints that may be present. Generate potential solutions: Brainstorm a list of possible ...

  6. PDF Unit 2: Problem Solving

    1-2 Introduce data collection and problem solving. 3 Introduce the four steps of the problem solving process. 4-6 Apply the problem solving process. Use different strategies to plan and carry out the plan to solve several problems. 7-9 Reinforce the four steps of the problems solving process. 10-12 Count in the binary number system.

  7. What is Problem Solving? An Introduction

    Problem solving, in the simplest terms, is the process of identifying a problem, analyzing it, and finding the most effective solution to overcome it. For software engineers, this process is deeply embedded in their daily workflow. It could be something as simple as figuring out why a piece of code isn't working as expected, or something as ...

  8. How to think like a programmer

    Simplest means you know the answer (or are closer to that answer). After that, simplest means this sub-problem being solved doesn't depend on others being solved. Once you solved every sub-problem, connect the dots. Connecting all your "sub-solutions" will give you the solution to the original problem. Congratulations!

  9. Problem-Solving Strategies

    Computer science learners often face difficulties in performing two of the main stages of a problem-solving process: problem analysis and solution construction. Therefore, it is important that computer science educators be aware of these difficulties and acquire appropriate pedagogical tools to guide and scaffold learners in learning these skills.

  10. Problem Solving Using Computational Thinking

    Computational Thinking allows us to take complex problems, understand what the problem is, and develop solutions. We can present these solutions in a way that both computers and people can understand. The course includes an introduction to computational thinking and a broad definition of each concept, a series of real-world cases that ...

  11. Practice Computer Science Fundamentals

    Whether you're exploring computer science for the first time or looking to deepen your understanding, this course will allow you to develop the problem-solving techniques you need to think like a computer scientist. Follow librarians, cooks, and mayors to see how computer science problem solving techniques affect their daily lives.

  12. UNIT 1: How to Think Like an Engineer.

    Computational Thinking is the thought processes involved in understanding a problem and expressing its solution in a way that a computer can effectively carry out. Computational thinking involves solving problems, designing systems, and understanding human behavior (e.g. what the user needs or wants) - thinking like an engineer. Computational ...

  13. Computer Basics: Basic Troubleshooting Techniques

    Restart the computer: When all else fails, restarting the computer is a good thing to try. This can solve a lot of basic issues you may experience with your computer. Using the process of elimination. If you're having an issue with your computer, you may be able to find out what's wrong using the process of elimination.This means you'll make a list of things that could be causing the problem ...

  14. Oberlin College Computer Science » Problem Solving Tips

    Don't give up, just go with the flow and see where it takes you. Struggling is part of the process! 3. Implement your Solution. Write the code to solve your problem. This involves. Understanding the problem, and designing a solution on paper. See steps 1 and 2. Translating your design into actual code.

  15. How to improve your problem solving skills and strategies

    6. Solution implementation. This is what we were waiting for! All problem solving strategies have the end goal of implementing a solution and solving a problem in mind. Remember that in order for any solution to be successful, you need to help your group through all of the previous problem solving steps thoughtfully.

  16. Definitive Guide to Problem Solving Techniques

    Balance divergent and convergent thinking. Ask problems as questions. Defer or suspend judgement. Focus on "Yes, and…" rather than "No, but…". According to Carella, "Creative problem solving is the mental process used for generating innovative and imaginative ideas as a solution to a problem or a challenge.

  17. What Is Problem-Solving? Steps, Techniques, and Best Practices ...

    The 5 Stages of Problem-solving. We'll now take an in-depth look at each stage of the process. 1-Define the problem. When it comes to problem-solving, many people tend to jump straight to the ...

  18. What is Problem Solving? Steps, Process & Techniques

    Finding a suitable solution for issues can be accomplished by following the basic four-step problem-solving process and methodology outlined below. Step. Characteristics. 1. Define the problem. Differentiate fact from opinion. Specify underlying causes. Consult each faction involved for information. State the problem specifically.

  19. Problem solving techniques: Steps and methods

    Evaluate the options. Select the best solution. Create an implementation plan. Communicate your solution. Let's look at each step in a little more detail. The first solution you come up with won't always be the best - taking the time to consider your options is an essential problem solving technique. 1.

  20. Problem-Solving Strategies: Definition and 5 Techniques to Try

    In general, effective problem-solving strategies include the following steps: Define the problem. Come up with alternative solutions. Decide on a solution. Implement the solution. Problem-solving ...

  21. 7 Problem-Solving Skills That Can Help You Be a More ...

    Although problem-solving is a skill in its own right, a subset of seven skills can help make the process of problem-solving easier. These include analysis, communication, emotional intelligence, resilience, creativity, adaptability, and teamwork. 1. Analysis. As a manager, you'll solve each problem by assessing the situation first.

  22. 10 Creative Problem-Solving Techniques You Need to Try Today

    Whether you're struggling with a personal or professional problem, there are several techniques you can use to unlock your inner genius and tap into your creative problem-solving abilities. In this blog post, we'll explore 10 creative problem-solving techniques you need to try today. 10 Creative Problem-solving Techniques 1. Brainstorming

  23. 4 Problem Solving Techniques: How to Solve Problems at Work

    Assumption 2: The meetings have to happen live. Assumption 3: All team members have to be present for all meetings. Assumption 4: These meetings are necessary to complete the project. Now, take each of these assumptions, and see what happens when you take them out of the equation.

  24. What Are Problem-Solving Skills? Definitions and Examples

    Definitions and Examples. Jennifer Herrity. Updated July 31, 2023. When employers talk about problem-solving skills, they are often referring to the ability to handle difficult or unexpected situations in the workplace as well as complex business challenges. Organizations rely on people who can assess both kinds of situations and calmly ...