• Python Programming
  • C Programming
  • Numerical Methods
  • Dart Language
  • Computer Basics
  • Deep Learning
  • C Programming Examples
  • Python Programming Examples

Problem Solving Using Computer (Steps)

Computer based problem solving is a systematic process of designing, implementing and using programming tools during the problem solving stage. This method enables the computer system to be more intuitive with human logic than machine logic. Final outcome of this process is software tools which is dedicated to solve the problem under consideration. Software is just a collection of computer programs and programs are a set of instructions which guides computer’s hardware. These instructions need to be well specified for solving the problem. After its creation, the software should be error free and well documented. Software development is the process of creating such software, which satisfies end user’s requirements and needs.

The following six steps must be followed to solve a problem using computer.

  • Problem Analysis
  • Program Design - Algorithm, Flowchart and Pseudocode
  • Compilation and Execution
  • Debugging and Testing
  • Program Documentation

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

Does a College Degree Still Matter for Developers in 2024?

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

Problem Solving

Solving problems is the core of computer science. Programmers must first understand how a human solves a problem, then understand how to translate this "algorithm" into something a computer can do, and finally how to "write" the specific syntax (required by a computer) to get the job done. It is sometimes the case that a machine will solve a problem in a completely different way than a human.

Computer Programmers are problem solvers. In order to solve a problem on a computer you must:

Know how to represent the information (data) describing the problem.

Determine the steps to transform the information from one representation into another.

Information Representation

A computer, at heart, is really dumb. It can only really know about a few things... numbers, characters, booleans, and lists (called arrays) of these items. (See Data Types). Everything else must be "approximated" by combinations of these data types.

A good programmer will "encode" all the "facts" necessary to represent a problem in variables (See Variables). Further, there are "good ways" and "bad ways" to encode information. Good ways allow the computer to easily "compute" new information.

An algorithm (see Algorithm) is a set of specific steps to solve a problem. Think of it this way: if you were to tell your 3 year old neice to play your favorite song on the piano (assuming the neice has never played a piano), you would have to tell her where the piano was, and how to sit on the bench, and how to open the cover, and which keys to press, and which order to press them in, etc, etc, etc.

The core of what good programmers do is being able to define the steps necessary to accomplish a goal. Unfortunately, a computer, only knows a very restricted and limited set of possible steps. For example a computer can add two numbers. But if you want to find the average of two numbers, this is beyond the basic capabilities of a computer. To find the average, you must:

  • First: Add the two numbers and save this result in a variable
  • Then: Divide this new number the number two, and save this result in a variable.
  • Finally: provide this number to the rest of the program (or print it for the user).

We "compute" all the time. Computing is the act of solving problems (or coming up with a plan to solve problems) in an organized manner. We don't need computers to "compute". We can use our own brain.

Encapsulation and Abstraction and Complexity Hiding

Computer scientists like to use the fancy word "Encapsulation" to show how smart we are. This is just a term for things we do as humans every day. It is combined with another fancy term: "Abstraction".

Abstraction is the idea of "ignoring the details". For example, a forest is really a vastly complex ecosystem containing trees, animals, water paths, etc, etc, etc. But to a computer scientist (and to a normal person), its just "a forest".

For example, if your professor needs a cup of coffee, and asks you the single item: "Get me a cup of coffee", he has used both encapsulation and abstraction. The number of steps required to actually get the coffee are enumerable. Including, getting up, walking down the hall, getting in your car, driving to a coffee stand, paying for the coffee, etc, etc, etc. Further, the idea of what a cup of coffee is, is abstract. Do you bring a mug of coffee, or a Styrofoam cup? Is it caffeinated or not? Is it freshly brewed or from concentrate? Does it come from Africa or America?

All of this information is TOO MUCH and we would quickly be unable to funciton if we had to remember all of these details. Thus we "abstract away" the details and only remember the few important items.

This brings us to the idea of "Complexity Hiding". Complexity hiding is the idea that most of the times details don't matter. In a computer program, as simple an idea as drawing a square on the screen involves hundreds (if not thousands) of (low level) computer instructions. Again, a person couldn't possible create interesting programs if every time they wanted to do something, they had to re-write (correctly) every one of those instructions. By "ecapsulating" what is meant by "draw square" and "reusing" this operation over and over again, we make programming tractable.

Encapsulation

The idea behind encapsulation is to store the information necessary to a particular idea in a set of variables associated with a single "object". We then create functions to manipulate this object, regardless of what the actual data is. From that point on, we treat the idea from a "high level" rather than worry about all the parts (data) and actions (functions) necessary to represent the object in a computer.

Brute Force

Brute force is a technique for solving problems that relies on a computers speed (how fast it can repeat steps) to solve a problem. For example, if you wanted to know how many times the number 8 goes into the number 100, you could do the following:

Of course this is a silly way for a computer (or a human) to solve this problem. The real way we would do it is:

When in doubt, you can often use "brute force" to solve a problem, but it often saves time (at least computer time) to think about the problem and solve it in an elegant manner.

Problem Solving

Foundations course, introduction.

Before we start digging into some pretty nifty JavaScript, we need to begin talking about problem solving : the most important skill a developer needs.

Problem solving is the core thing software developers do. The programming languages and tools they use are secondary to this fundamental skill.

From his book, “Think Like a Programmer” , V. Anton Spraul defines problem solving in programming as:

Problem solving is writing an original program that performs a particular set of tasks and meets all stated constraints.

The set of tasks can range from solving small coding exercises all the way up to building a social network site like Facebook or a search engine like Google. Each problem has its own set of constraints, for example, high performance and scalability may not matter too much in a coding exercise but it will be vital in apps like Google that need to service billions of search queries each day.

New programmers often find problem solving the hardest skill to build. It’s not uncommon for budding programmers to breeze through learning syntax and programming concepts, yet when trying to code something on their own, they find themselves staring blankly at their text editor not knowing where to start.

The best way to improve your problem solving ability is by building experience by making lots and lots of programs. The more practice you have the better you’ll be prepared to solve real world problems.

In this lesson we will walk through a few techniques that can be used to help with the problem solving process.

Lesson overview

This section contains a general overview of topics that you will learn in this lesson.

  • Explain the three steps in the problem solving process.
  • Explain what pseudocode is and be able to use it to solve problems.
  • Be able to break a problem down into subproblems.

Understand the problem

The first step to solving a problem is understanding exactly what the problem is. If you don’t understand the problem, you won’t know when you’ve successfully solved it and may waste a lot of time on a wrong solution .

To gain clarity and understanding of the problem, write it down on paper, reword it in plain English until it makes sense to you, and draw diagrams if that helps. When you can explain the problem to someone else in plain English, you understand it.

Now that you know what you’re aiming to solve, don’t jump into coding just yet. It’s time to plan out how you’re going to solve it first. Some of the questions you should answer at this stage of the process:

  • Does your program have a user interface? What will it look like? What functionality will the interface have? Sketch this out on paper.
  • What inputs will your program have? Will the user enter data or will you get input from somewhere else?
  • What’s the desired output?
  • Given your inputs, what are the steps necessary to return the desired output?

The last question is where you will write out an algorithm to solve the problem. You can think of an algorithm as a recipe for solving a particular problem. It defines the steps that need to be taken by the computer to solve a problem in pseudocode.

Pseudocode is writing out the logic for your program in natural language instead of code. It helps you slow down and think through the steps your program will have to go through to solve the problem.

Here’s an example of what the pseudocode for a program that prints all numbers up to an inputted number might look like:

This is a basic program to demonstrate how pseudocode looks. There will be more examples of pseudocode included in the assignments.

Divide and conquer

From your planning, you should have identified some subproblems of the big problem you’re solving. Each of the steps in the algorithm we wrote out in the last section are subproblems. Pick the smallest or simplest one and start there with coding.

It’s important to remember that you might not know all the steps that you might need up front, so your algorithm may be incomplete -— this is fine. Getting started with and solving one of the subproblems you have identified in the planning stage often reveals the next subproblem you can work on. Or, if you already know the next subproblem, it’s often simpler with the first subproblem solved.

Many beginners try to solve the big problem in one go. Don’t do this . If the problem is sufficiently complex, you’ll get yourself tied in knots and make life a lot harder for yourself. Decomposing problems into smaller and easier to solve subproblems is a much better approach. Decomposition is the main way to deal with complexity, making problems easier and more approachable to solve and understand.

In short, break the big problem down and solve each of the smaller problems until you’ve solved the big problem.

Solving Fizz Buzz

To demonstrate this workflow in action, let’s solve Fizz Buzz

Understanding the problem

Write a program that takes a user’s input and prints the numbers from one to the number the user entered. However, for multiples of three print Fizz instead of the number and for the multiples of five print Buzz . For numbers which are multiples of both three and five print FizzBuzz .

This is the big picture problem we will be solving. But we can always make it clearer by rewording it.

Write a program that allows the user to enter a number, print each number between one and the number the user entered, but for numbers that divide by 3 without a remainder print Fizz instead. For numbers that divide by 5 without a remainder print Buzz and finally for numbers that divide by both 3 and 5 without a remainder print FizzBuzz .

Does your program have an interface? What will it look like? Our FizzBuzz solution will be a browser console program, so we don’t need an interface. The only user interaction will be allowing users to enter a number.

What inputs will your program have? Will the user enter data or will you get input from somewhere else? The user will enter a number from a prompt (popup box).

What’s the desired output? The desired output is a list of numbers from 1 to the number the user entered. But each number that is divisible by 3 will output Fizz , each number that is divisible by 5 will output Buzz and each number that is divisible by both 3 and 5 will output FizzBuzz .

Writing the pseudocode

What are the steps necessary to return the desired output? Here is an algorithm in pseudocode for this problem:

Dividing and conquering

As we can see from the algorithm we developed, the first subproblem we can solve is getting input from the user. So let’s start there and verify it works by printing the entered number.

With JavaScript, we’ll use the “prompt” method.

The above code should create a little popup box that asks the user for a number. The input we get back will be stored in our variable answer .

We wrapped the prompt call in a parseInt function so that a number is returned from the user’s input.

With that done, let’s move on to the next subproblem: “Loop from 1 to the entered number”. There are many ways to do this in JavaScript. One of the common ways - that you actually see in many other languages like Java, C++, and Ruby - is with the for loop :

If you haven’t seen this before and it looks strange, it’s actually straightforward. We declare a variable i and assign it 1: the initial value of the variable i in our loop. The second clause, i <= answer is our condition. We want to loop until i is greater than answer . The third clause, i++ , tells our loop to increment i by 1 every iteration. As a result, if the user inputs 10, this loop would print numbers 1 - 10 to the console.

Most of the time, programmers find themselves looping from 0. Due to the needs of our program, we’re starting from 1

With that working, let’s move on to the next problem: If the current number is divisible by 3, then print Fizz .

We are using the modulus operator ( % ) here to divide the current number by three. If you recall from a previous lesson, the modulus operator returns the remainder of a division. So if a remainder of 0 is returned from the division, it means the current number is divisible by 3.

After this change the program will now output this when you run it and the user inputs 10:

The program is starting to take shape. The final few subproblems should be easy to solve as the basic structure is in place and they are just different variations of the condition we’ve already got in place. Let’s tackle the next one: If the current number is divisible by 5 then print Buzz .

When you run the program now, you should see this output if the user inputs 10:

We have one more subproblem to solve to complete the program: If the current number is divisible by 3 and 5 then print FizzBuzz .

We’ve had to move the conditionals around a little to get it to work. The first condition now checks if i is divisible by 3 and 5 instead of checking if i is just divisible by 3. We’ve had to do this because if we kept it the way it was, it would run the first condition if (i % 3 === 0) , so that if i was divisible by 3, it would print Fizz and then move on to the next number in the iteration, even if i was divisible by 5 as well.

With the condition if (i % 3 === 0 && i % 5 === 0) coming first, we check that i is divisible by both 3 and 5 before moving on to check if it is divisible by 3 or 5 individually in the else if conditions.

The program is now complete! If you run it now you should get this output when the user inputs 20:

  • Read How to Think Like a Programmer - Lessons in Problem Solving by Richard Reis.
  • Watch How to Begin Thinking Like a Programmer by Coding Tech. It’s an hour long but packed full of information and definitely worth your time watching.
  • Read this Pseudocode: What It Is and How to Write It article from Built In.

Knowledge check

The following questions are an opportunity to reflect on key topics in this lesson. If you can’t answer a question, click on it to review the material, but keep in mind you are not expected to memorize or master this knowledge.

  • What are the three stages in the problem solving process?
  • Why is it important to clearly understand the problem first?
  • What can you do to help get a clearer understanding of the problem?
  • What are some of the things you should do in the planning stage of the problem solving process?
  • What is an algorithm?
  • What is pseudocode?
  • What are the advantages of breaking a problem down and solving the smaller problems?

Additional resources

This section contains helpful links to related content. It isn’t required, so consider it supplemental.

  • Read the first chapter in Think Like a Programmer: An Introduction to Creative Problem Solving ( not free ). This book’s examples are in C++, but you will understand everything since the main idea of the book is to teach programmers to better solve problems. It’s an amazing book and worth every penny. It will make you a better programmer.
  • Watch this video on repetitive programming techniques .
  • Watch Jonathan Blow on solving hard problems where he gives sage advice on how to approach problem solving in software projects.

Support us!

The odin project is funded by the community. join us in empowering learners around the globe by supporting the odin project.

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)

How-To Geek

How to make windows troubleshoot your pc's problems for you.

Windows includes a variety of "troubleshooters" designed to quickly diagnose and automatically solve various computer problems.

Quick Links

Windows 7 and 8.

Windows includes a variety of "troubleshooters" designed to quickly diagnose and automatically solve various computer problems. Troubleshooters can't fix everything, but they're a great place to start if you encounter a problem with your computer.

Troubleshooters are built into the Control Panel on Windows 10, 8, and 7, so practically all Windows users can take advantage of them. On Windows 10's Creators Update , most troubleshooters are now available through the Settings app.

If you've installed Windows 10's Creators Update, you'll find these in Settings. Navigate to Settings > Update & Security > Troubleshoot.

Related: Everything You Need to Know About the Blue Screen of Death

As of the Creators Update, the following troubleshooters are available here: Blue Screen , Bluetooth, Hardware and Devices, HomeGroup, Incoming Connections, Internet Connections, Keyboard, Network Adapter, Printer, Playing Audio, Power, Program Compatibility Troubleshooter, Recording Audio, Search and Indexing, Shared Folders, Speech, Video Playback, Windows Store Apps, and Windows Update.

If something isn't working properly on your PC, the associated troubleshooter may find and fix the problem for you.

what are the steps of problem solving in computer

Select the troubleshooter you want to run and click "Run Troubleshooter". Many troubleshooters will run automatically and fix problems they find, while some troubleshooters will suggest various fixes you can choose whether to apply.

what are the steps of problem solving in computer

The Settings interface doesn't list every available troubleshooter. For example, it omits the Background Intelligent Transfer service, Windows Media Player DVD, Windows Media Player Library, and Windows Media Player Settings troubleshooters.

These are still available if you need them---they're just buried in the Control Panel. To find them, open the Control Panel, type "Troubleshoot" into its search box, and click the "Troubleshooting" icon.

what are the steps of problem solving in computer

Click "View all" at the left side of the Troubleshooting pane and you'll see a full list of available troubleshooters.

what are the steps of problem solving in computer

You'll find these tools in the Control Panel on Windows 7 and 8. You'll also need to use the Control Panel if you're using  Windows 10's Anniversary Update  or an earlier version of Windows 10.

Navigate to Control Panel > System and Security > Troubleshoot Common Computer Problems. On Windows 7, click "Find and Fix Problems" instead.

what are the steps of problem solving in computer

You'll see a list of the most common troubleshooters you might need.

what are the steps of problem solving in computer

These aren't the only available troubleshooters. Click "View All" in the sidebar to view a full list of troubleshooters. Here's a list of the troubleshooters you might find, although not all versions of Windows include the same troubleshooters:

  • Background Intelligent Transfer Service : Finds and fixes problems with the Background Intelligent Transfer Service, which Windows Update and some other services use for background downloads.
  • Hardware and Devices : Checks your computer for issues with hardware devices. If a hardware device--particularly a recently installed one--isn't working properly, this troubleshooter can find and fix problems with hardware detection and drivers.
  • HomeGroup : Looks for problems with your HomeGroup network and file-sharing settings.
  • Incoming Connections : Checks if the Windows Firewall is blocking incoming connections you need and help you unblock them.
  • Internet Connections : Detects and fixes problems with your Internet connection and loading websites.
  • Internet Explorer Performance : Identifies problems that can slow down Internet Explorer and fixes them.
  • Internet Explorer Safety : Identifies settings that can cause security and privacy problems in Internet Explorer and fixes them.
  • Network Adapter : Finds and fixes issues with your Wi-Fi adapter or other network adapters.
  • Playing Audio : Scans for problems that can prevent sound from playing properly.
  • Power : Identifies and fixes problems with power settings to increase your computer's battery life.
  • Printer : Checks for and fixes problems with printers and printing.

Related: How to Make Old Programs Work on Windows 10

  • Program Compatability Troubleshooter : Helps you choose the best compatibility settings for running programs designed for older versions of Windows.
  • Recording Audio : Scans for problems that can prevent microphone audio recording from working.
  • Search and Indexing : Fixes problems with Windows Search and the indexer.
  • Shared Folders : Identifies issues that can prevent shared network folders from functioning.
  • System Maintenance : Finds and fixes broken shortcuts and performs and system maintenance tasks, including checking if your clock is the correct time.
  • Video Playback : Detects problems that can prevent videos from playing back properly and fixes them.
  • Windows Media Player DVD : Fixes issues that can prevent DVDs from playing in Windows Media Player.
  • Windows Media Player Library : Fixes issues with Windows Media Player's media library.
  • Windows Media Player Settings : Fixes issues with Windows Media Player's settings.
  • Windows Store Apps : Repairs problems that can prevent Windows Store apps--in other words, Windows 10's new Universal Windows Platform apps--from working properly.
  • Windows Update : Identifies and fixes issues that can cause Windows Update to not work at all, or fail to install some updates.

what are the steps of problem solving in computer

To run a troubleshooter, just click it in the Troubleshooting pane. To quickly find a relevant troubleshooter, you can perform a search from the Troubleshooting window.

what are the steps of problem solving in computer

The troubleshooter will launch after you click it. Just click "Next" to begin troubleshooting.

Most troubleshooters will run automatically, looking for problems and fixing any issues they find. To prevent the troubleshooter from automatically making changes to your system, click the "Advanced" link at the bottom left corner of the troubleshooter window and uncheck the "Apply Repairs Automatically" option. You'll be prompted with more information before the troubleshooter makes any changes to your system.

what are the steps of problem solving in computer

While most troubleshooters run automatically, some troubleshooters will give you options you need to click. For example, the Program Compatibility troubleshooter will walk you through choosing a program that isn't working properly and changing its compatibility settings. The Incoming Connections troubleshooter will ask you what you're trying to do so it know what type of incoming connection to troubleshoot.

what are the steps of problem solving in computer

That's about it. There isn't a troubleshooter for every issue you'll encounter, and the troubleshooters that do exist won't be able to fix every problem. But troubleshooters are a good place to start when you encounter a problem with something.

  • Accessories
  • Entertainment
  • PCs & Components
  • Wi-Fi & Networks
  • Newsletters
  • Digital Magazine – Subscribe
  • Digital Magazine – Info
  • Smart Answers
  • Best laptops
  • Best antivirus
  • Best monitors
  • Laptop deals
  • Desktop PC deals

When you purchase through links in our articles, we may earn a small commission. This doesn't affect our editorial independence .

How to solve the 10 most common tech support problems yourself

a miniature toolbox or toolkit on a laptop keyboard to build, develop or repair

Whether you’re dealing with your dad’s decade-old computer or your own custom-built gaming rig, troubleshooting PC problems is a part of everyday life. Before you make that $50 support call, though, try your hand at homebrew tech support. We spoke to some of the best support reps in the business about the most common problems they fix—and how you can do it yourself.

Try this first

I know it sounds like a no-brainer, but before you do anything else, restart your computer. Matthew Petrie of Falcon Northwest technical support says that most of his customers solve their problems with this simple step. “This long-standing maxim can work wonders,” says Petrie.

what are the steps of problem solving in computer

While you’re at it, make sure that your operating system is fully updated by running Windows Update. Neglecting updates could deprive you of important bug and performance fixes.

If you’re having problems with a peripheral, try switching it on and off. If that doesn’t work, try disconnecting and reconnecting the device. As a last resort, download the latest drivers and perform a full reinstall.

My computer is too slow

The first step to fixing a slow computer is to verify that your machine is the actual source of the problem. Videos that seem to buffer forever, and websites that take ages to load, may not be your computer’s fault. Geek Squad agent Derek Meister claims that many people mistakenly identify a slow system as the problem when “it’s actually not the computer, [but] their broadband connection.” See “Downloads are taking forever” below for instructions on how to use Speedtest.net to diagnose a slow connection.

If the problem is your PC, check whether you have plenty of free space on the hard drive holding your operating system. Windows needs room to create files while your system is running. If your hard drive is maxed out, performance suffers. Now is the perfect time to clear some space.

what are the steps of problem solving in computer

Microsoft’s System Configuration tool is your next-best bet for tackling slow performance. Many applications launch automatically when your machine boots up, which can stretch out boot time—especially on older, slower PCs. Make a habit of trimming the startup items. Open the tool by pressing Windows-R, typing msconfig , and pressing the Enter key.

Checking the Startup Item and Manufacturer columns is the best way to figure out which potential performance-killers you can safely disable. Avoid messing with any of the services and programs that have Microsoft Corporation listed as the manufacturer. Items such as AdobeAAMUpdater, Google Update, Pando Media Booster, Spotify, and Steam Client Bootstrapper are all fair game. Regardless, err on the side of caution: If you’re not sure what the program or service does, don’t disable it.

what are the steps of problem solving in computer

Once you’ve made all your changes, click OK and restart the computer. It should boot up quicker and feel noticeably faster.

Downloads are taking forever

Speedtest.net is your best friend when you’re having connectivity problems. Run a speed test to see what your download and upload speeds are—ideally they should be at least 50 percent of your Internet service provider’s advertised speeds, with a ping under 100 milliseconds.

If the speeds seem solid, make sure that you aren’t inadvertently downloading or uploading anything. Many torrent downloading programs run in the background and minimize into the system tray instead of the taskbar.

what are the steps of problem solving in computer

Check your network hardware. Updates for network cards aren’t all that common, but if your card’s manufacturer offers a newer driver, download it. Resetting your router and modem can help with connection problems, too. Most routers and modems have reset buttons, but pulling the power cable for a second or two can do the same thing. Don’t cut the power for much longer, or the hardware may reset itself to factory defaults.

Still having problems? Call your ISP, which can tell you whether the problem is on your end. As a last-ditch measure, the ISP could reset the master connection to your home.

My machine keeps restarting

Hardware problems are hard to diagnose and solve. First, confirm that you aren’t just getting the latest wave of Windows updates, which can automatically restart your computer during installation. Then work on updating all of your critical system drivers. Your graphics card, motherboard, and network card drivers are crucial.

“Sometimes it can be viruses, sometimes it can be adware, sometimes it can be overheating, and sometimes it can be something as simple as making sure your video card is updated,” Geek Squad’s Meister says.

Is your computer making weird noises ? If you’re lucky all you’ll need to do is give the machine a thorough cleaning . Modern computers have safeguards that shut down the system if a component is overheating, which can be the cause of frequent restarts when you’re running resource-intensive programs or video games.

Pop-up ads are appearing on my desktop

If you’re not running your Web browser and are still getting pop-up ads on your desktop, you’ve most likely installed adware—a program that displays unwanted ads. Although benevolent adware exists, most of the time adware is up to no good. Getting rid of it isn’t easy. “There’s a ton of little system-utility tools out there that promise to clean up everything, with names like PC Speed-up, PC Speed Pro, PC Speedifier,” Geek Squad’s Meister says. “A lot of times those programs are not going to do much. Some programs will work, others are snake oil.”

what are the steps of problem solving in computer

Running a full scan with credible antivirus software is your first step. If that program doesn’t find and remove the adware, turn to Malwarebytes Anti-Malware Free , a great utility for removing all types of malware. Just make sure to disable your standard antivirus software before running it.

“Multiple antivirus programs working at the same time will often result in problems,” Falcon Northwest’s Petrie says. “You only want one active, real-time antivirus scanner installed, but it doesn’t hurt to run an additional ‘on demand’ virus or malware scanner.”

Searching online for the name of the advertised product can sometimes yield solutions from fellow victims. If all else fails, there’s always the nuclear option: a complete system reinstall. It might take a long time, but it’s the only surefire way to remove adware or spyware. Remember to back up all your personal files.

Google doesn’t look right

Browser hijackers are a particularly nasty breed of malware. Such programs take over your Web browser and can stealthily redirect your Google searches and other queries to fake pages meant to steal your personal information or to further infect your system.

Running a real-time antivirus utility is the best way to stay safe. If your browser has already been hijacked, uninstall the browser and use your antivirus program in conjunction with Malwarebytes to remove the intruder.

My Wi-Fi keeps disconnecting

Spotty wireless connections can be a puzzler. Is it your computer? Your router? Your ISP? Try a few things before calling your Internet service provider.

what are the steps of problem solving in computer

Confirm that your computer is within range of your wireless router. Weak signals mean weak connections. Next, make sure your PC’s wireless card has the latest drivers. Try letting Windows troubleshoot for you by right-clicking the Wi-Fi icon in the taskbar and selecting Troubleshoot problems .

I keep seeing ‘There is a problem with this website’s security certificate’

Sometimes the biggest problems have the easiest fixes. According to support technicians, the lion’s share of issues are due to an incorrect system clock.

what are the steps of problem solving in computer

Website security certificates sync up with your computer’s clock. Old computers in particular run the risk of having a dead CMOS battery—the watch battery in your computer that keeps its system clock ticking. Click the clock in the system tray and select Change date and time settings to correct any issues.

My printer won’t print

Let’s assume that your printer’s drivers are up-to-date, and that it has enough paper and ink or toner to print. Try turning the printer off and on. Unplug the printer and plug it back in. Check your printer’s print queue by looking for the printer icon in the system tray and double-clicking it. The print queue shows you the status of each job as well as the general status of your printer.

what are the steps of problem solving in computer

Ensure that ‘Use Printer Offline’ isn’t checked. Sometimes, printing while your printer is turned off can cause Windows to set your printer to work offline, and that can stall jobs sent later.

I can’t open email attachments

If you have ever encountered an attachment that you couldn’t open, it was probably because you didn’t have the software necessary to view the file.

what are the steps of problem solving in computer

The usual suspect is the .pdf file, for which you can download a free PDF reader. If your problem involves a different file format, a quick search on the attachment’s file extension (the three letters after the period in the filename) should tell you what type of program you need. If the attachment lacks a file extension (which might happen if it was renamed), adding it back should set things right.

My favorite program isn’t working on my new PC

Before you call tech support, make sure that the software you’re trying to run is compatible with your operating system. Older software might not function on Windows 8, and an app created for Mac OS X definitely won’t run on your Windows PC. A 32-bit program might run on your 64-bit operating system, but it doesn’t work the other way around.

what are the steps of problem solving in computer

If an online game balks, you might be missing the required plug-ins—Java and Flash are the usual culprits. Most browsers will alert you to install these items if necessary.

When to throw in the towel

Falcon Northwest’s Petrie recommends connecting with tech support for “any problems that you aren’t comfortable addressing personally.” When in doubt, it’s better to steer clear of voiding a warranty or potentially damaging your system. “Being aware of your own skill set and limitations is important,” says Petrie, because “it’s often easy to make matters worse.” If you think the problem is too complicated, call up a more knowledgeable friend , or bite the bullet and work with a professional tech support service .

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/

  • 1. Micro-Worlds
  • 2. Light-Bot in Java
  • 3. Jeroos of Santong Island
  • 4. Problem Solving and Algorithms
  • 5. Creating Jeroo Methods
  • 6. Conditionally Executing Actions
  • 7. Repeating Actions
  • 8. Handling Touch Events
  • 9. Adding Text to the Screen

Problem Solving and Algorithms

Learn a basic process for developing a solution to a problem. Nothing in this chapter is unique to using a computer to solve a problem. This process can be used to solve a wide variety of problems, including ones that have nothing to do with computers.

Problems, Solutions, and Tools

I have a problem! I need to thank Aunt Kay for the birthday present she sent me. I could send a thank you note through the mail. I could call her on the telephone. I could send her an email message. I could drive to her house and thank her in person. In fact, there are many ways I could thank her, but that's not the point. The point is that I must decide how I want to solve the problem, and use the appropriate tool to implement (carry out) my plan. The postal service, the telephone, the internet, and my automobile are tools that I can use, but none of these actually solves my problem. In a similar way, a computer does not solve problems, it's just a tool that I can use to implement my plan for solving the problem.

Knowing that Aunt Kay appreciates creative and unusual things, I have decided to hire a singing messenger to deliver my thanks. In this context, the messenger is a tool, but one that needs instructions from me. I have to tell the messenger where Aunt Kay lives, what time I would like the message to be delivered, and what lyrics I want sung. A computer program is similar to my instructions to the messenger.

The story of Aunt Kay uses a familiar context to set the stage for a useful point of view concerning computers and computer programs. The following list summarizes the key aspects of this point of view.

A computer is a tool that can be used to implement a plan for solving a problem.

A computer program is a set of instructions for a computer. These instructions describe the steps that the computer must follow to implement a plan.

An algorithm is a plan for solving a problem.

A person must design an algorithm.

A person must translate an algorithm into a computer program.

This point of view sets the stage for a process that we will use to develop solutions to Jeroo problems. The basic process is important because it can be used to solve a wide variety of problems, including ones where the solution will be written in some other programming language.

An Algorithm Development Process

Every problem solution starts with a plan. That plan is called an algorithm.

There are many ways to write an algorithm. Some are very informal, some are quite formal and mathematical in nature, and some are quite graphical. The instructions for connecting a DVD player to a television are an algorithm. A mathematical formula such as πR 2 is a special case of an algorithm. The form is not particularly important as long as it provides a good way to describe and check the logic of the plan.

The development of an algorithm (a plan) is a key step in solving a problem. Once we have an algorithm, we can translate it into a computer program in some programming language. Our algorithm development process consists of five major steps.

Step 1: Obtain a description of the problem.

Step 2: analyze the problem., step 3: develop a high-level algorithm., step 4: refine the algorithm by adding more detail., step 5: review the algorithm..

This step is much more difficult than it appears. In the following discussion, the word client refers to someone who wants to find a solution to a problem, and the word developer refers to someone who finds a way to solve the problem. The developer must create an algorithm that will solve the client's problem.

The client is responsible for creating a description of the problem, but this is often the weakest part of the process. It's quite common for a problem description to suffer from one or more of the following types of defects: (1) the description relies on unstated assumptions, (2) the description is ambiguous, (3) the description is incomplete, or (4) the description has internal contradictions. These defects are seldom due to carelessness by the client. Instead, they are due to the fact that natural languages (English, French, Korean, etc.) are rather imprecise. Part of the developer's responsibility is to identify defects in the description of a problem, and to work with the client to remedy those defects.

The purpose of this step is to determine both the starting and ending points for solving the problem. This process is analogous to a mathematician determining what is given and what must be proven. A good problem description makes it easier to perform this step.

When determining the starting point, we should start by seeking answers to the following questions:

What data are available?

Where is that data?

What formulas pertain to the problem?

What rules exist for working with the data?

What relationships exist among the data values?

When determining the ending point, we need to describe the characteristics of a solution. In other words, how will we know when we're done? Asking the following questions often helps to determine the ending point.

What new facts will we have?

What items will have changed?

What changes will have been made to those items?

What things will no longer exist?

An algorithm is a plan for solving a problem, but plans come in several levels of detail. It's usually better to start with a high-level algorithm that includes the major part of a solution, but leaves the details until later. We can use an everyday example to demonstrate a high-level algorithm.

Problem: I need a send a birthday card to my brother, Mark.

Analysis: I don't have a card. I prefer to buy a card rather than make one myself.

High-level algorithm:

Go to a store that sells greeting cards Select a card Purchase a card Mail the card

This algorithm is satisfactory for daily use, but it lacks details that would have to be added were a computer to carry out the solution. These details include answers to questions such as the following.

"Which store will I visit?"

"How will I get there: walk, drive, ride my bicycle, take the bus?"

"What kind of card does Mark like: humorous, sentimental, risqué?"

These kinds of details are considered in the next step of our process.

A high-level algorithm shows the major steps that need to be followed to solve a problem. Now we need to add details to these steps, but how much detail should we add? Unfortunately, the answer to this question depends on the situation. We have to consider who (or what) is going to implement the algorithm and how much that person (or thing) already knows how to do. If someone is going to purchase Mark's birthday card on my behalf, my instructions have to be adapted to whether or not that person is familiar with the stores in the community and how well the purchaser known my brother's taste in greeting cards.

When our goal is to develop algorithms that will lead to computer programs, we need to consider the capabilities of the computer and provide enough detail so that someone else could use our algorithm to write a computer program that follows the steps in our algorithm. As with the birthday card problem, we need to adjust the level of detail to match the ability of the programmer. When in doubt, or when you are learning, it is better to have too much detail than to have too little.

Most of our examples will move from a high-level to a detailed algorithm in a single step, but this is not always reasonable. For larger, more complex problems, it is common to go through this process several times, developing intermediate level algorithms as we go. Each time, we add more detail to the previous algorithm, stopping when we see no benefit to further refinement. This technique of gradually working from a high-level to a detailed algorithm is often called stepwise refinement .

The final step is to review the algorithm. What are we looking for? First, we need to work through the algorithm step by step to determine whether or not it will solve the original problem. Once we are satisfied that the algorithm does provide a solution to the problem, we start to look for other things. The following questions are typical of ones that should be asked whenever we review an algorithm. Asking these questions and seeking their answers is a good way to develop skills that can be applied to the next problem.

Does this algorithm solve a very specific problem or does it solve a more general problem ? If it solves a very specific problem, should it be generalized?

For example, an algorithm that computes the area of a circle having radius 5.2 meters (formula π*5.2 2 ) solves a very specific problem, but an algorithm that computes the area of any circle (formula π*R 2 ) solves a more general problem.

Can this algorithm be simplified ?

One formula for computing the perimeter of a rectangle is:

length + width + length + width

A simpler formula would be:

2.0 * ( length + width )

Is this solution similar to the solution to another problem? How are they alike? How are they different?

For example, consider the following two formulae:

Rectangle area = length * width Triangle area = 0.5 * base * height

Similarities: Each computes an area. Each multiplies two measurements.

Differences: Different measurements are used. The triangle formula contains 0.5.

Hypothesis: Perhaps every area formula involves multiplying two measurements.

Example 4.1: Pick and Plant

This section contains an extended example that demonstrates the algorithm development process. To complete the algorithm, we need to know that every Jeroo can hop forward, turn left and right, pick a flower from its current location, and plant a flower at its current location.

Problem Statement (Step 1)

A Jeroo starts at (0, 0) facing East with no flowers in its pouch. There is a flower at location (3, 0). Write a program that directs the Jeroo to pick the flower and plant it at location (3, 2). After planting the flower, the Jeroo should hop one space East and stop. There are no other nets, flowers, or Jeroos on the island.

StartFinish

Analysis of the Problem (Step 2)

The flower is exactly three spaces ahead of the jeroo.

The flower is to be planted exactly two spaces South of its current location.

The Jeroo is to finish facing East one space East of the planted flower.

There are no nets to worry about.

High-level Algorithm (Step 3)

Let's name the Jeroo Bobby. Bobby should do the following:

Get the flower Put the flower Hop East

Detailed Algorithm (Step 4)

Get the flower Hop 3 times Pick the flower Put the flower Turn right Hop 2 times Plant a flower Hop East Turn left Hop once

Review the Algorithm (Step 5)

The high-level algorithm partitioned the problem into three rather easy subproblems. This seems like a good technique.

This algorithm solves a very specific problem because the Jeroo and the flower are in very specific locations.

This algorithm is actually a solution to a slightly more general problem in which the Jeroo starts anywhere, and the flower is 3 spaces directly ahead of the Jeroo.

Java Code for "Pick and Plant"

A good programmer doesn't write a program all at once. Instead, the programmer will write and test the program in a series of builds. Each build adds to the previous one. The high-level algorithm will guide us in this process.

FIRST BUILD

To see this solution in action, create a new Greenfoot4Sofia scenario and use the Edit Palettes Jeroo menu command to make the Jeroo classes visible. Right-click on the Island class and create a new subclass with the name of your choice. This subclass will hold your new code.

The recommended first build contains three things:

The main method (here myProgram() in your island subclass).

Declaration and instantiation of every Jeroo that will be used.

The high-level algorithm in the form of comments.

The instantiation at the beginning of myProgram() places bobby at (0, 0), facing East, with no flowers.

Once the first build is working correctly, we can proceed to the others. In this case, each build will correspond to one step in the high-level algorithm. It may seem like a lot of work to use four builds for such a simple program, but doing so helps establish habits that will become invaluable as the programs become more complex.

SECOND BUILD

This build adds the logic to "get the flower", which in the detailed algorithm (step 4 above) consists of hopping 3 times and then picking the flower. The new code is indicated by comments that wouldn't appear in the original (they are just here to call attention to the additions). The blank lines help show the organization of the logic.

By taking a moment to run the work so far, you can confirm whether or not this step in the planned algorithm works as expected.

THIRD BUILD

This build adds the logic to "put the flower". New code is indicated by the comments that are provided here to mark the additions.

FOURTH BUILD (final)

Example 4.2: replace net with flower.

This section contains a second example that demonstrates the algorithm development process.

There are two Jeroos. One Jeroo starts at (0, 0) facing North with one flower in its pouch. The second starts at (0, 2) facing East with one flower in its pouch. There is a net at location (3, 2). Write a program that directs the first Jeroo to give its flower to the second one. After receiving the flower, the second Jeroo must disable the net, and plant a flower in its place. After planting the flower, the Jeroo must turn and face South. There are no other nets, flowers, or Jeroos on the island.

Jeroo_2 is exactly two spaces behind Jeroo_1.

The only net is exactly three spaces ahead of Jeroo_2.

Each Jeroo has exactly one flower.

Jeroo_2 will have two flowers after receiving one from Jeroo_1. One flower must be used to disable the net. The other flower must be planted at the location of the net, i.e. (3, 2).

Jeroo_1 will finish at (0, 1) facing South.

Jeroo_2 is to finish at (3, 2) facing South.

Each Jeroo will finish with 0 flowers in its pouch. One flower was used to disable the net, and the other was planted.

Let's name the first Jeroo Ann and the second one Andy.

Ann should do the following: Find Andy (but don't collide with him) Give a flower to Andy (he will be straight ahead) After receiving the flower, Andy should do the following: Find the net (but don't hop onto it) Disable the net Plant a flower at the location of the net Face South
Ann should do the following: Find Andy Turn around (either left or right twice) Hop (to location (0, 1)) Give a flower to Andy Give ahead Now Andy should do the following: Find the net Hop twice (to location (2, 2)) Disable the net Toss Plant a flower at the location of the net Hop (to location (3, 2)) Plant a flower Face South Turn right

The high-level algorithm helps manage the details.

This algorithm solves a very specific problem, but the specific locations are not important. The only thing that is important is the starting location of the Jeroos relative to one another and the location of the net relative to the second Jeroo's location and direction.

Java Code for "Replace Net with Flower"

As before, the code should be written incrementally as a series of builds. Four builds will be suitable for this problem. As usual, the first build will contain the main method, the declaration and instantiation of the Jeroo objects, and the high-level algorithm in the form of comments. The second build will have Ann give her flower to Andy. The third build will have Andy locate and disable the net. In the final build, Andy will place the flower and turn East.

This build creates the main method, instantiates the Jeroos, and outlines the high-level algorithm. In this example, the main method would be myProgram() contained within a subclass of Island .

This build adds the logic for Ann to locate Andy and give him a flower.

This build adds the logic for Andy to locate and disable the net.

This build adds the logic for Andy to place a flower at (3, 2) and turn South.

  • Skip to content
  • Select language
  • Skip to search

The web browser you are using is out of date, please upgrade .

Please use a modern web browser with JavaScript enabled to visit OpenClassrooms.com

Think like a computer: the logic of programming

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Last updated on 6/15/21

Discover how computers solve problems

Have you ever wondered how a computer solves a problem?  As humans, we learn problem-solving by watching others and through trial and error.  What makes a smart car smart? What is artificial intelligence and what makes it artificial?

Computers can’t actually think, but they can perform billions of logical operations per second. These logical operations are written by us and provide the computer with the instructions needed to perform the problem-solving.  This means you need to think like a computer and translate what you need it to do into program instructions it understands.

Solving a problem like a computer

Computers are basically toddlers. You have to explain everything to them. Take the simple task of watering flowers.  What tools do you need? What steps do you need?

Pick up a watering can by the handle.

Go to the faucet.

Put the opening of the watering can under the faucet.

Turn on the faucet.

Fill the watering can with water.

Turn off the faucet.

Go to your garden.

Tilt the spout of the watering can downwards.

Pour the water on your flowers.

This looks deceptively simple.  However, if you forget to tell your toddler...er...computer to pick up the watering can by the handle, it may try to pick it up by the spout.  If you don’t tell it to turn the faucet on, it will just sit there, staring at it. And if you don’t tell it to turn it off, it might just let the water run. 🚰 You can see where this is going.

Toddler watering flowers

Computers can’t make assumptions or guess what you want .  If you tell a computer to dust the furniture, it will actually put dust on your furniture, instead of removing it!  It can’t read context clues, so it will take all of your instructions literally. This is why it’s important to think through all the logical gaps in your instructions!

Try it out for yourself!

Write out the steps to making a cup of coffee or tea.  Write down everything that needs to be done. If you use milk or cream, don’t forget to say how to find it!  Once you’re done, test your instructions out on a friend. Tell them to follow the directions exactly.  Have you missed anything?

Computers can solve problems by performing billions of operations per second .

A programmer’s job is to find solutions . They do this by breaking down problems into easy-to-follow steps for a computer.

Programming languages allow people to communicate with computers.

Computers are literal and do exactly what you tell them to.

Example of certificate of achievement

Only Premium members can download videos from our courses. However, you can watch them online for free.

  • PRO Courses Guides New Tech Help Pro Expert Videos About wikiHow Pro Upgrade Sign In
  • EDIT Edit this Article
  • EXPLORE Tech Help Pro About Us Random Article Quizzes Request a New Article Community Dashboard This Or That Game Popular Categories Arts and Entertainment Artwork Books Movies Computers and Electronics Computers Phone Skills Technology Hacks Health Men's Health Mental Health Women's Health Relationships Dating Love Relationship Issues Hobbies and Crafts Crafts Drawing Games Education & Communication Communication Skills Personal Development Studying Personal Care and Style Fashion Hair Care Personal Hygiene Youth Personal Care School Stuff Dating All Categories Arts and Entertainment Finance and Business Home and Garden Relationship Quizzes Cars & Other Vehicles Food and Entertaining Personal Care and Style Sports and Fitness Computers and Electronics Health Pets and Animals Travel Education & Communication Hobbies and Crafts Philosophy and Religion Work World Family Life Holidays and Traditions Relationships Youth
  • Browse Articles
  • Learn Something New
  • Quizzes Hot
  • This Or That Game
  • Train Your Brain
  • Explore More
  • Support wikiHow
  • About wikiHow
  • Log in / Sign up
  • Computers and Electronics
  • Computer Troubleshooting

How to Troubleshoot a Computer

Last Updated: August 24, 2023

Common Fixes

Speeding up a slow computer, troubleshooting network problems, getting rid of pop-ups and toolbars, testing and replacing hardware, fixing a noisy computer, expert q&a.

This article was co-authored by Luigi Oppido . Luigi Oppido is the Owner and Operator of Pleasure Point Computers in Santa Cruz, California. Luigi has over 25 years of experience in general computer repair, data recovery, virus removal, and upgrades. He is also the host of the Computer Man Show! broadcasted on KSQD covering central California for over two years. This article has been viewed 234,345 times.

When your computer misbehaves, it's useful to know how to troubleshoot problems yourself. There are a variety of things that could be going wrong with your computer, but you can usually track down and fix the problem on your own.

Step 1 Reboot your computer.

  • Allow your computer to sit for about thirty seconds after being turned off before you turn it back on again.

Luigi Oppido

  • Be specific with your search. Include the program's name and your operating system. Search for the exact error message along with any error codes. Focus on keywords that describe your problem. Try to narrow it down to your situation as much as possible.
  • Focus on tech forums when browsing through the search results. You will often find the most in-depth guides and most useful suggestions from these sites.

Step 5 Install any available updates.

  • Click here for a guide on installing Windows updates .
  • Click here for tips on installing updates on a Mac .
  • Click here for a guide on updating your hardware drivers . This is especially useful if you are having display or networking problems.

Step 1 Avoid downloading any programs that claim to speed up your computer.

  • In Windows, a lot of the programs running in the background will have icons in your System Tray. Right-click on these icons to close the programs.
  • Make sure you save any work before closing a program.

Step 3 Force-close frozen or background programs.

  • Windows - Press Alt + F4 to force the active program to close. If Alt + F4 isn't working, press Ctrl + ⇧ Shift + Esc to open a list of all the running programs. Select the program you want to force to close and click End task .
  • Mac - Press ⌘ Cmd + ⌥ Opt + Esc to open a list of your open programs. Select the program you want to force-close and click Force Quit . You can also hold ⌘ Cmd + ⌥ Opt + ⇧ Shift + Esc for three seconds to force-close the active program.

Step 4 Reduce the number of programs that start with the computer.

  • Click here for tips on disabling startup programs.

Step 5 Free up some hard drive space.

  • One of the quickest ways to free up space is to sort through your Downloads folder and delete anything that you don't need anymore. This could include old installers for programs, downloaded music and videos, and large documents.
  • Deleting programs you don't use anymore can also free up a lot of space. This is especially true with some video games, which can take 30 GB or more of your hard disk space. For information on deleting programs in Windows, click here . For Mac, click here .
  • The Disk Cleanup tool in Windows will scan for files that you no longer use. It can free up a large amount of space. Click here for details on running it .

Step 6 Monitor your computer's temperature.

  • Click here for tips on monitoring your computer's temperature and lowering it if it is too high .

Step 7 Run virus and malware scans.

  • Click here for tips on checking for and getting rid of a virus infection .

Step 8 Turn off extra visual effects (Windows Vista and 7).

  • Windows Vista
  • Ubuntu Linux

Step 1 Restart your computer.

  • Find your modem and router (if you have one) and remove the power cables from the back of each.
  • Wait at least thirty seconds and then plug the power cable for the modem back in.
  • Wait until the modem has finished powering on and connecting. This could take a minute or more.
  • Plug the power cable back in for the router once the modem has connected. You should be able to connect to the network again after the router powers on.

Step 3 Flush your DNS cache if some pages aren't loading.

  • Click here for a guide on flushing your DNS cache on any computer. It will only take a minute or two .

Step 4 Change your wireless network channel if you are in a crowded area.

  • Click here for a guide on determining the best channel to set your network to.

Step 5 Contact your internet service provider.

  • Click here for tips on deleting programs in Windows, and click here for Mac. Remove any program on the list that you don't remember installing or that seems suspicious. Perform a Google search for the program's name if you are unsure.

Step 2 Run anti-adware scans.

  • AdwCleaner - general-changelog-team.fr/en/tools/15-adwcleaner
  • Malwarebytes Antimalware - malwarebytes.org
  • HitmanPro - surfright.nl/en/hitmanpro

Step 3 Reset your internet browsers.

  • Click here for tips on resetting Internet Explorer.
  • Click here for tips on resetting Chrome .
  • Click here for tips on resetting Firefox.
  • Click here for tips on resetting Safari .

Step 4 Look up a guide for your specific infection.

  • Click here for tips on running chkdsk in Windows to find and repair disk errors .
  • Click here for tips on using Disk Utility in OS X.
  • Click here for a guide on installing a new hard drive .

Step 2 Test your computer's RAM (memory) for errors.

  • Click here for tips on running MemTest in Windows to check your memory for errors .
  • To test your memory on your Mac, reboot the computer and hold D as the computer boots up. This will start the testing process. [4] X Research source
  • Click here for a guide on replacing bad RAM modules .

Step 3 Test your computer's power supply.

  • Click here for a guide on testing your power supply .
  • Click here for tips on replacing a faulty power supply .

Step 4 Test your graphics card with a different monitor if nothing appears on your display.

  • Click here for a guide on replacing a graphics card .

Step 1 Clean out the inside of the computer.

  • Click here for a guide on cleaning a computer . Make sure to focus on the fans, which are usually the source of noise.

Step 2 Replace your case fans.

  • Click here for tips on installing fans.

Step 3 Replace your CPU cooler.

  • Click here for a guide on installing a new CPU cooler .

Luigi Oppido

You Might Also Like

Find out How Long Your Computer Has Been On

  • ↑ Luigi Oppido. Computer & Tech Specialist. Expert Interview. 31 July 2019.
  • ↑ http://www.macworld.com/article/2362040/do-you-have-bad-ram-how-to-find-it-and-how-to-fix-it.html

About This Article

Luigi Oppido

1. Restart the computer. 2. Search for the exact error message online. 3. Check all of the cables. 4. Install available updates. 5. Close unused programs. 6. Free up hard drive space. 7. Run virus and malware scans. 8. Reinstall the operating system. Did this summary help you? Yes No

  • Send fan mail to authors

Reader Success Stories

Anonymous

Jan 15, 2017

Is this article up to date?

Anonymous

Featured Articles

How to Be Single and Happy

Trending Articles

Why Is My Facebook Feed All Ads and Suggested Posts?

Watch Articles

Put a Bracelet on by Yourself

  • Terms of Use
  • Privacy Policy
  • Do Not Sell or Share My Info
  • Not Selling Info

wikiHow Tech Help Pro:

Level up your tech skills and stay ahead of the curve

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 .

The-Most-Important-Soft-Skill-for-Developers-—-How-to-Get-Better-at-It.webp

The Most Important Soft Skill for Developers & How to Get Better at It

Cory-Stieg-Headshot-e1697134432604.webp?w=338

  • Share article on Twitter
  • Share article on Facebook
  • Share article on LinkedIn

At its core, programming is just solving problems so a computer can execute a task. Or, as one of our engineers Nick Duckwiler aptly put it: “A lot of engineering is just solving headaches.” Indeed, between fixing bugs and dreaming up app ideas that can address real world difficulties, devs need to be enthusiastic about solving problems of all sizes.   

On top of all the technical knowledge that’s required for engineering roles, you also should work on soft skills, which are personal attributes that enable you to work well with others. Problem solving is one of the most essential soft skills to have in technical positions , and luckily, there are plenty of ways to get better at tackling challenges and finding solutions.

Next month, we’re hosting an exclusive three-part livestream series all about developing core soft skills: problem solving, planning, setting priorities, and critical thinking. The events will be led by Merri Lemmex, a management and leadership expert who has decades of experience training people who work in tech and business. The first session on November 1 is focused on problem solving approaches and tools. Be sure to register today for the virtual events and read on to learn more about the problem-solving strategies that developers use in their work.

Learn something new for free

Intro to chatgpt, 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 process. After you’ve done some initial research or information gathering, you delineate your problem space and write a problem statement, which is a concise couple of sentences that succinctly define the task and offer a clear sense of direction. Write out the who, what, where, when, and why of your problem.

Getting to the core of your fundamental issue will make addressing the symptoms much easier. You can learn more about this strategy in our free course Learn Design Thinking: Ideation .

Don’t try to solve it alone

Rather than spinning your wheels trying to fix a problem on your own, consider having other people weigh in. Set up a brainstorming session for the problem you’re trying to solve, see if anyone can pair program with you, or send a Slack message to your team and see what your collective intelligence can accomplish.

It’s easy to get tunnel vision when you’re working on a project and become fixated on one part of it. Getting more people involved in the problem-solving process will enable you to address blind spots, consider fresh perspectives, and ultimately get valuable feedback and validation for your idea. Not to mention, you’ll get experience collaborating with other people, which is a soft skill in and of itself.

Say it out loud

Ever seen a rubber duck on a programmer’s desk and wondered what it’s doing there? There’s a popular debugging technique called “ rubberducking ,” where you describe out loud what your code is supposed to do to the duck. As you verbally articulate your code and thoughts to the silent, non-judgmental duck, you may identify issues or problems that you skipped over before. Though you might have to work up the courage to talk to an inanimate object at your desk, you’ll be surprised how effective and practical rubberducking can be when it comes to pinpointing a problem.

See how other people approached the problem

Remember: You’re probably not the first person to have experienced this problem. There’s a plethora of resources that developers use to ask questions, get feedback, or crowd-source solutions for bugs. Go to Stack Overflow and see if someone else has experienced your issue and created a workaround. Or look through Docs , our open-contribution code documentation for popular languages, to see if you can find a solution. (Better yet, once you figure your issue out, you could take what you learned and contribute a Doc for folks to reference in the future.)

Learn problem-solving skills in our new course

Join us next month for an engaging three-part livestream series dedicated to honing essential soft skills, including problem solving, strategic planning, priority setting, and critical thinking. These skills are your secret sauce for nailing your next job interview, making an impression on your team leader, or feeling confident at a networking event. By the end of the livestream series, you’ll have a soft skills toolkit that you can continue to refine throughout your whole career.

Our first session on November 1 delves into effective problem-solving techniques and tools. Secure your spot for these virtual events today. Quick note: These are only available to Codecademy Pro and Codecademy Plus members, so make sure you upgrade your account or start a free seven-day trial to attend.

Related courses

Learn to code with blockly, choosing a programming language, choosing a career in tech, subscribe for news, tips, and more, related articles.

050224_learner_stories_illustrations_F_Header_image_John-King.webp?w=1024

I Have 20 Years of Web Architect Experience — Here’s What I’m Learning Next

Today’s story is from John King, a 60-year-old Web Architect, living in Austin, Texas.

Header-Image_2083x875-12.png?w=1024

What is the Waterfall Model?

T​​he waterfall model follows a linear sequential flow where each phase of development is completed and approved before the next begins. Here’s how it works.

Pride-Day_R1_Blog2.webp?w=1024

10 Python Code Challenges to Try During Pride

Celebrate Pride with these bite-sized Python coding challenges.

Tech-Organizations-that-Support-the-LGBTQ-Community.webp?w=1024

9 Tech Organizations that Support the LGBTQ+ Community

Get involved with these organizations during Pride Month and beyond.

AI-upskillers-blog-illustrations_F_Ideas-for-Machine-Learning-AI-Projects.webp?w=1024

5 Ideas for Machine Learning & AI Projects

Make cool stuff while you build your AI skills.

Learning_to_code_02.png?w=1024

How We’re Harnessing GPT-4o in Our Courses

An essential part of our new AI Learning Assistant, code explain, is powered by GPT-4o. 

050224_learner_stories_illustrations_F_Header_image_Mathijs-Gaastra.webp?w=1024

How I Went from Pharmaceutical Research to Data Analysis in 3 Years

Today’s story is from Mathijs Gaastra, a 34-year-old Web Developer and Data Analyst at a startup in Leiden, Netherlands.

  • Trending Now
  • Foundational Courses
  • Data Science
  • Practice Problem
  • Machine Learning
  • System Design
  • DevOps Tutorial

CBSE Class 11 | Problem Solving Methodologies

  • CBSE Class 11 | Concepts of Programming Methodology
  • CBSE Class 11 | Computer Science - Python Syllabus
  • CBSE Class 11 Maths Notes
  • CBSE Class 11 Revision Notes
  • CBSE Class 9 Maths Revision Notes
  • CBSE Class 10 Revision Notes
  • CBSE Revision Notes for Class 12
  • CBSE Class 8 Revision Notes
  • CBSE Class 12 Economics Solved Question Paper 2020 - Set 1
  • CBSE Class 8th Maths Notes
  • CBSE Class 12 Economics Solved Question Paper 2020 - Set 3
  • CBSE Class 12 Economics Solved Question Paper 2020 - Set 2
  • CBSE Class 10 History Notes
  • CBSE Class 12th Economics Previous Year Papers
  • CBSE Class 12 Economics Solved Question Paper 2020 (Set 58/1/2)
  • CBSE Sample Papers II for Class 11 Economics with Solutions 2023-2024
  • CBSE Class 12 Economics Previous Year Question Paper
  • NCERT Solutions for Class 9 Maths Chapter 15 Probability
  • CBSE Class 7 Civics Revision Notes

Problem Solving Process

The process of problem-solving is an activity which has its ingredients as the specification of the program and the served dish is a correct program. This activity comprises of four steps : 1. Understanding the problem: To solve any problem it is very crucial to understand the problem first. What is the desired output of the code and how that output can be generated? The obvious and essential need to generate the output is an input. The input may be singular or it may be a set of inputs. A proper relationship between the input and output must be drawn in order to solve the problem efficiently. The input set should be complete and sufficient enough to draw the output. It means all the necessary inputs required to compute the output should be present at the time of computation. However, it should be kept in mind that the programmer should ensure that the minimum number of inputs should be there. Any irrelevant input only increases the size of and memory overhead of the program. Thus Identifying the minimum number of inputs required for output is a crucial element for understanding the problem.

2. Devising the plan: Once a problem has been understood, a proper action plan has to be devised to solve it. This is called devising the plan. This step usually involves computing the result from the given set of inputs. It uses the relationship drawn between inputs and outputs in the previous step. The complexity of this step depends upon the complexity of the problem at hand.

3. Executing the plan: Once the plan has been defined, it should follow the trajectory of action while ensuring the plan’s integrity at various checkpoints. If any inconsistency is found in between, the plan needs to be revised.

4. Evaluation: The final result so obtained must be evaluated and verified to see if the problem has been solved satisfactorily.

Problem Solving Methodology(The solution for the problem)

The methodology to solve a problem is defined as the most efficient solution to the problem. Although, there can be multiple ways to crack a nut, but a methodology is one where the nut is cracked in the shortest time and with minimum effort. Clearly, a sledgehammer can never be used to crack a nut. Under problem-solving methodology, we will see a step by step solution for a problem. These steps closely resemble the software life cycle . A software life cycle involves several stages in a program’s life cycle. These steps can be used by any tyro programmer to solve a problem in the most efficient way ever. The several steps of this cycle are as follows :

Step by step solution for a problem (Software Life Cycle) 1. Problem Definition/Specification: A computer program is basically a machine language solution to a real-life problem. Because programs are generally made to solve the pragmatic problems of the outside world. In order to solve the problem, it is very necessary to define the problem to get its proper understanding. For example, suppose we are asked to write a code for “ Compute the average of three numbers”. In this case, a proper definition of the problem will include questions like : “What exactly does average mean?” “How to calculate the average?”

Once, questions like these are raised, it helps to formulate the solution of the problem in a better way. Once a problem has been defined, the program’s specifications are then listed. Problem specifications describe what the program for the problem must do. It should definitely include :

what is the input set of the program

What is the desired output of the program and in what form the output is desired?

2. Problem Analysis (Breaking down the solution into simple steps): This step of solving the problem follows a modular approach to crack the nut. The problem is divided into subproblems so that designing a solution to these subproblems gets easier. The solutions to all these individual parts are then merged to get the final solution of the original problem. It is like divide and merge approach.

Modular Approach for Programming :

The process of breaking a large problem into subproblems and then treating these individual parts as different functions is called modular programming. Each function behaves independent of another and there is minimal inter-functional communication. There are two methods to implement modular programming :

  • Top Down Design : In this method, the original problem is divided into subparts. These subparts are further divided. The chain continues till we get the very fundamental subpart of the problem which can’t be further divided. Then we draw a solution for each of these fundamental parts.
  • Bottom Up Design : In this style of programming, an application is written by using the pre-existing primitives of programming language. These primitives are then amalgamated with more complicated features, till the application is written. This style is just the reverse of the top-down design style.

3. Problem Designing: The design of a problem can be represented in either of the two forms :

The ways to execute any program are of three categories:

  • Sequence Statements Here, all the instructions are executed in a sequence, that is, one after the another, till the program is executed.
  • Selection Statements As it is self-clear from the name, in these type of statements the whole set of instructions is not executed. A selection has to be made. A selected number of instructions are executed based on some condition. If the condition holds true then some part of the instruction set is executed, otherwise, another part of the set is executed. Since this selection out of the instruction set has to be made, thus these type of instructions are called Selection Statements.

Identification of arithmetic and logical operations required for the solution : While writing the algorithm for a problem, the arithmetic and logical operations required for the solution are also usually identified. They help to write the code in an easier manner because the proper ordering of the arithmetic and logical symbols is necessary to determine the correct output. And when all this has been done in the algorithm writing step, it just makes the coding task a smoother one.

  • Flow Chart : Flow charts are diagrammatic representation of the algorithm. It uses some symbols to illustrate the starting and ending of a program along with the flow of instructions involved in the program.

4. Coding: Once an algorithm is formed, it can’t be executed on the computer. Thus in this step, this algorithm has to be translated into the syntax of a particular programming language. This process is often termed as ‘coding’. Coding is one of the most important steps of the software life cycle. It is not only challenging to find a solution to a problem but to write optimized code for a solution is far more challenging.

Writing code for optimizing execution time and memory storage : A programmer writes code on his local computer. Now, suppose he writes a code which takes 5 hours to get executed. Now, this 5 hours of time is actually the idle time for the programmer. Not only it takes longer time, but it also uses the resources during that time. One of the most precious computing resources is memory. A large program is expected to utilize more memory. However, memory utilization is not a fault, but if a program is utilizing unnecessary time or memory, then it is a fault of coding. The optimized code can save both time and memory. For example, as has been discussed earlier, by using the minimum number of inputs to compute the output , one can save unnecessary memory utilization. All such techniques are very necessary to be deployed to write optimized code. The pragmatic world gives reverence not only to the solution of the problem but to the optimized solution. This art of writing the optimized code also called ‘competitive programming’.

5. Program Testing and Debugging: Program testing involves running each and every instruction of the code and check the validity of the output by a sample input. By testing a program one can also check if there’s an error in the program. If an error is detected, then program debugging is done. It is a process to locate the instruction which is causing an error in the program and then rectifying it. There are different types of error in a program : (i) Syntax Error Every programming language has its own set of rules and constructs which need to be followed to form a valid program in that particular language. If at any place in the entire code, this set of rule is violated, it results in a syntax error. Take an example in C Language

In the above program, the syntax error is in the first printf statement since the printf statement doesn’t end with a ‘;’. Now, until and unless this error is not rectified, the program will not get executed.

Once the error is rectified, one gets the desired output. Suppose the input is ‘good’ then the output is : Output:

(ii) Logical Error An error caused due to the implementation of a wrong logic in the program is called logical error. They are usually detected during the runtime. Take an example in C Language:

In the above code, the ‘for’ loop won’t get executed since n has been initialized with the value of 11 while ‘for’ loop can only print values smaller than or equal to 10. Such a code will result in incorrect output and thus errors like these are called logical errors. Once the error is rectified, one gets the desired output. Suppose n is initialised with the value ‘5’ then the output is : Output:

(iii) Runtime Error Any error which causes the unusual termination of the program is called runtime error. They are detected at the run time. Some common examples of runtime errors are : Example 1 :

If during the runtime, the user gives the input value for B as 0 then the program terminates abruptly resulting in a runtime error. The output thus appears is : Output:

Example 2 : If while executing a program, one attempts for opening an unexisting file, that is, a file which is not present in the hard disk, it also results in a runtime error.

6. Documentation : The program documentation involves :

  • Problem Definition
  • Problem Design
  • Documentation of test perform
  • History of program development

7. Program Maintenance: Once a program has been formed, to ensure its longevity, maintenance is a must. The maintenance of a program has its own costs associated with it, which may also exceed the development cost of the program in some cases. The maintenance of a program involves the following :

  • Detection and Elimination of undetected errors in the existing program.
  • Modification of current program to enhance its performance and adaptability.
  • Enhancement of user interface
  • Enriching the program with new capabilities.
  • Updation of the documentation.

Control Structure- Conditional control and looping (finite and infinite)

There are codes which usually involve looping statements. Looping statements are statements in which instruction or a set of instructions is executed multiple times until a particular condition is satisfied. The while loop, for loop, do while loop, etc. form the basis of such looping structure. These statements are also called control structure because they determine or control the flow of instructions in a program. These looping structures are of two kinds :

In the above program, the ‘for’ loop gets executed only until the value of i is less than or equal to 10. As soon as the value of i becomes greater than 10, the while loop is terminated. Output:

In the above code, one can easily see that the value of n is not getting incremented. In such a case, the value of n will always remain 1 and hence the while loop will never get executed. Such loop is called an infinite loop. Output:

Please Login to comment...

Similar reads.

  • School Programming

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

  • Problem Solving
  • Computer Problem Solving
  • Edit on GitHub

Computer Problem Solving ¶

The initial goal of learning problem solving was to help us to solve problems that a computer program could be used for to help solve. The initial six step problem solving model that was presented can be used to help solve any type of problem. If we know that we are going to use a computer program to help solve the problem, the six steps can be translated into six steps that are more tailored for computer programming problems. They are the same basic six steps; they are just more focused on computer programming problems.

The table below shows the initial six steps that we have been using for generic problems. They are then translated into the six steps we will be following for computer programming problems.

_

#1

What is the problem

Top-Down Chart

#2

Make a model

Flow Chart

#3

Analyze the model

Pseudocode

#4

Find the solution

Actually type in the code

#5

Check the solution

Style check & test for errors

#6

Document the solution

Document the code – comments & GitHub

These six steps are here to help you. Most people have the urge when they are given a programming assignment to just go to the computers and start coding. This is NOT a good idea. If you have not thought through the problem first and worked through these steps, you will make too many mistakes, get lost and waste too much time.

  • 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

what are the steps of problem solving in computer

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

what are the steps of problem solving in computer

Structured Programming Technique-Advantages and Disadvantages

what are the steps of problem solving in computer

History of C Language – Advantages and Disadvantages of C Language

what are the steps of problem solving in computer

Programming Languages | Language processor

what are the steps of problem solving in computer

High-Level Programming Language-Popular High-level languages

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

Join our scholarship program

Click Here to join

9th Class 10th Class 11 Class 12 Class

Join the groups below to get updates.

  • Payment, billing, and the Microsoft Store
  • Manage a subscription
  • Turn on recurring billing
  • Change subscription payment method
  • Cancel a Microsoft 365 subscription
  • Cancel other Microsoft subscriptions
  • Manage a subscription from a third-party
  • If you can't cancel
  • Problems sharing a subscription
  • View order history
  • Shipping, costs, and delivery times
  • Track your order
  • Find downloads and product keys
  • Find tax invoices
  • Guest checkout
  • Return or exchange items
  • Get a refund on your subscription
  • Cancel an order or pre-order
  • Status of a return and refund
  • Can't get a refund on apps and games
  • Require approval for a family purchase
  • Prevent unauthorized purchases
  • Investigate a billing charge
  • Report technical support scams
  • Add a new payment method
  • Update a payment method
  • Remove a payment method
  • Add mobile as a payment option
  • Change Store country or region
  • Microsoft and Xbox gift cards
  • Redeem a gift card or code
  • Check a Microsoft account balance
  • Add money to a Microsoft account
  • Spend money in a Microsoft account
  • Limits on money in a Microsoft account
  • Spend all Microsoft gift card money
  • Cancel a Microsoft Store gift card
  • Get trusted apps and games
  • Make an in-app purchase
  • In-app purchases through a 3rd party
  • Get updates for apps and games
  • Free Solitaire games for Windows
  • Free Microsoft Mahjong
  • Microsoft FreeCell for Windows
  • Change purchase sign-in settings
  • Troubleshoot buying from Microsoft Store
  • Troubleshoot payment options
  • Troubleshoot unknown charges
  • Can't find or install an app
  • Can't push an app or game to a device
  • Fix problems with apps
  • Can't find Microsoft Store app in Windows
  • Microsoft Store app doesn't open
  • “Unable to Complete this transaction” error
  • Consumer and Regulatory Information

what are the steps of problem solving in computer

Fix problems with apps from Microsoft Store

If you're in Windows 11 and you're having problems with an app from Microsoft Store, consider these updates and fixes.

First, sign in to your Microsoft account . Next, work through these possible solutions in the order presented. 

Make sure Windows is up to date. Select Start >  Settings   > Windows Update  >  Check for updates . If there is an available update, select Install now .

Check for updates

Make sure that your app works with Windows 11. For more info, see  Your app doesn't work with Windows .

Update Microsoft Store. Select Start , then from the apps list, select Microsoft Store . In Microsoft Store, select Library  > Get updates . If an update for Microsoft Store is available, it will start installing automatically.

Troubleshoot games. If you're having issues installing a game, see Troubleshoot game installations on Windows .

Repair or reset your apps. See Repair or Remove programs in Windows .

Reinstall your apps In Microsoft Store, select  Library . Find the app you want to reinstall, and then select Install .

Open Microsoft Store

If you're in Windows 10 and you're having problems with an app from Microsoft Store, consider these updates and fixes.

Make sure Windows has the latest update : Select check for updates now, and then select Check for updates .  Or, select the  Start    button, then select  Settings    >  Update & Security    >  Windows Update    >  Check for Updates . If there is an available update, select Install now .

Make sure that your app works with Windows 10. For more info, see  Your app doesn't work with Windows 10 .

Update Microsoft Store: Select the Start   button, and then from the apps list, select Microsoft Store . In Microsoft Store, select  See more    >  Downloads and updates  > Get updates . If an update for Microsoft Store is available, it will start installing automatically.

Get updates

Troubleshoot games: If you're having issues installing a game, see Troubleshoot game installations on Windows 10 .

Repair or reset your apps:  See Repair or Remove programs in Windows 10 .

Reinstall your apps:  In Microsoft Store, select  See more     > My Library . Select the app you want to reinstall, and then select Install .

Run the troubleshooter: Select the Start   button, and then select  Settings   > Update & Security   > Troubleshoot , and then from the list select  Windows Store apps   >  Run the troubleshooter.

For help troubleshooting game or app installation problems on your Xbox console, go to  support.xbox.com .

If you can't find Microsoft Store, see  Trouble finding Microsoft Store in Windows 10 .

If you're having trouble launching Microsoft Store, see  Microsoft Store doesn't launch .

If you can launch the Microsoft Store but you are just having trouble finding or installing an app, see  I can't find or install an app from Microsoft Store .

Need more help?

Contact Support

For technical support, go to  Contact Microsoft Support , enter your problem and select  Get Help . If you still need help, select  Contact Support  to be routed to the best support option.

Facebook

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

what are the steps of problem solving in computer

Microsoft 365 subscription benefits

what are the steps of problem solving in computer

Microsoft 365 training

what are the steps of problem solving in computer

Microsoft security

what are the steps of problem solving in computer

Accessibility center

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

what are the steps of problem solving in computer

Ask the Microsoft Community

what are the steps of problem solving in computer

Microsoft Tech Community

what are the steps of problem solving in computer

Windows Insiders

Microsoft 365 Insiders

Find solutions to common problems or get help from a support agent.

what are the steps of problem solving in computer

Online support

Was this information helpful?

Thank you for your feedback.

What is STEM Education?

STEM education, now also know as STEAM, is a multi-discipline approach to teaching.

STEM education combines science, technology, engineering and math.

  • Importance of STEAM education

STEAM blended learning

  • Inequalities in STEAM

Additional resources

Bibliography.

STEM education is a teaching approach that combines science, technology, engineering and math . Its recent successor, STEAM, also incorporates the arts, which have the "ability to expand the limits of STEM education and application," according to Stem Education Guide . STEAM is designed to encourage discussions and problem-solving among students, developing both practical skills and appreciation for collaborations, according to the Institution for Art Integration and STEAM .

Rather than teach the five disciplines as separate and discrete subjects, STEAM integrates them into a cohesive learning paradigm based on real-world applications. 

According to the U.S. Department of Education "In an ever-changing, increasingly complex world, it's more important than ever that our nation's youth are prepared to bring knowledge and skills to solve problems, make sense of information, and know how to gather and evaluate evidence to make decisions." 

In 2009, the Obama administration announced the " Educate to Innovate " campaign to motivate and inspire students to excel in STEAM subjects. This campaign also addresses the inadequate number of teachers skilled to educate in these subjects. 

The Department of Education now offers a number of STEM-based programs , including research programs with a STEAM emphasis, STEAM grant selection programs and general programs that support STEAM education.

In 2020, the U.S. Department of Education awarded $141 million in new grants and $437 million to continue existing STEAM projects a breakdown of grants can be seen in their investment report .  

The importance of STEM and STEAM education

STEAM education is crucial to meet the needs of a changing world.

STEAM education is crucial to meet the needs of a changing world. According to an article from iD Tech , millions of STEAM jobs remain unfilled in the U.S., therefore efforts to fill this skill gap are of great importance. According to a report from the U.S. Bureau of Labor Statistics there is a projected growth of STEAM-related occupations of 10.5% between 2020 and 2030 compared to 7.5% in non-STEAM-related occupations. The median wage in 2020 was also higher in STEAM occupations ($89,780) compared to non-STEAM occupations ($40,020).

Between 2014 and 2024, employment in computer occupations is projected to increase by 12.5 percent between 2014 and 2024, according to a STEAM occupation report . With projected increases in STEAM-related occupations, there needs to be an equal increase in STEAM education efforts to encourage students into these fields otherwise the skill gap will continue to grow. 

STEAM jobs do not all require higher education or even a college degree. Less than half of entry-level STEAM jobs require a bachelor's degree or higher, according to skills gap website Burning Glass Technologies . However, a four-year degree is incredibly helpful with salary — the average advertised starting salary for entry-level STEAM jobs with a bachelor's requirement was 26 percent higher than jobs in the non-STEAM fields.. For every job posting for a bachelor's degree recipient in a non-STEAM field, there were 2.5 entry-level job postings for a bachelor's degree recipient in a STEAM field. 

What separates STEAM from traditional science and math education is the blended learning environment and showing students how the scientific method can be applied to everyday life. It teaches students computational thinking and focuses on the real-world applications of problem-solving. As mentioned before, STEAM education begins while students are very young:

Elementary school — STEAM education focuses on the introductory level STEAM courses, as well as awareness of the STEAM fields and occupations. This initial step provides standards-based structured inquiry-based and real-world problem-based learning, connecting all four of the STEAM subjects. The goal is to pique students' interest into them wanting to pursue the courses, not because they have to. There is also an emphasis placed on bridging in-school and out-of-school STEAM learning opportunities. 

– Best microscopes for kids

– What is a scientific theory?

– Science experiments for kids  

Middle school — At this stage, the courses become more rigorous and challenging. Student awareness of STEAM fields and occupations is still pursued, as well as the academic requirements of such fields. Student exploration of STEAM-related careers begins at this level, particularly for underrepresented populations. 

High school — The program of study focuses on the application of the subjects in a challenging and rigorous manner. Courses and pathways are now available in STEAM fields and occupations, as well as preparation for post-secondary education and employment. More emphasis is placed on bridging in-school and out-of-school STEAM opportunities.

Much of the STEAM curriculum is aimed toward attracting underrepresented populations. There is a significant disparity in the female to male ratio when it comes to those employed in STEAM fields, according to Stem Women . Approximately 1 in 4 STEAM graduates is female.  

Much of the STEAM curriculum is aimed toward attracting underrepresented communities.

Inequalities in STEAM education

Ethnically, people from Black backgrounds in STEAM education in the UK have poorer degree outcomes and lower rates of academic career progression compared to other ethnic groups, according to a report from The Royal Society . Although the proportion of Black students in STEAM higher education has increased over the last decade, they are leaving STEAM careers at a higher rate compared to other ethnic groups. 

"These reports highlight the challenges faced by Black researchers, but we also need to tackle the wider inequalities which exist across our society and prevent talented people from pursuing careers in science." President of the Royal Society, Sir Adrian Smith said. 

Asian students typically have the highest level of interest in STEAM. According to the Royal Society report in 2018/19 18.7% of academic staff in STEAM were from ethnic minority groups, of these groups 13.2% were Asian compared to 1.7% who were Black. 

If you want to learn more about why STEAM is so important check out this informative article from the University of San Diego . Explore some handy STEAM education teaching resources courtesy of the Resilient Educator . Looking for tips to help get children into STEAM? Forbes has got you covered.  

  • Lee, Meggan J., et al. ' If you aren't White, Asian or Indian, you aren't an engineer': racial microaggressions in STEM education. " International Journal of STEM Education 7.1 (2020): 1-16. 
  • STEM Occupations: Past, Present, And Future . Stella Fayer, Alan Lacey, and Audrey Watson. A report. 2017. 
  • Institution for Art Integration and STEAM What is STEAM education? 
  • Barone, Ryan, ' The state of STEM education told through 18 stats ', iD Tech.  
  • U.S. Department of Education , Science, Technology, Engineering, and Math, including Computer Science.  
  • ' STEM sector must step up and end unacceptable disparities in Black staff ', The Royal Society. A report, March 25, 2021.  
  • 'Percentages of Women in STEM Statistics' Stemwomen.com  

Sign up for the Live Science daily newsletter now

Get the world’s most fascinating discoveries delivered straight to your inbox.

What's the difference between a rock and a mineral?

'Physics itself disappears': How theoretical physicist Thomas Hertog helped Stephen Hawking produce his final, most radical theory of everything

Hundreds of centuries-old coins unearthed in Germany likely belonged to wealthy 17th-century mayor

Most Popular

  • 2 Rare fungal STI spotted in US for the 1st time
  • 3 James Webb telescope finds carbon at the dawn of the universe, challenging our understanding of when life could have emerged
  • 4 Neanderthals and humans interbred 47,000 years ago for nearly 7,000 years, research suggests
  • 5 Noise-canceling headphones can use AI to 'lock on' to somebody when they speak and drown out all other noises
  • 2 Bornean clouded leopard family filmed in wild for 1st time ever
  • 3 What is the 3-body problem, and is it really unsolvable?
  • 4 7 potential 'alien megastructures' spotted in our galaxy are not what they seem

what are the steps of problem solving in computer

Microsoft

Get step-by-step solutions to your math problems

qr code

Try Math Solver

Key Features

Get step-by-step explanations

Graph your math problems

Graph your math problems

Practice, practice, practice

Practice, practice, practice

Get math help in your language

Get math help in your language

Comscore

  • Newsletters
  • Best Industries
  • Business Plans
  • Home-Based Business
  • The UPS Store
  • Customer Service
  • Black in Business
  • Your Next Move
  • Female Founders
  • Best Workplaces
  • Company Culture
  • Public Speaking
  • HR/Benefits
  • Productivity
  • All the Hats
  • Digital Transformation
  • Artificial Intelligence
  • Bringing Innovation to Market
  • Cloud Computing
  • Social Media
  • Data Detectives
  • Exit Interview
  • Bootstrapping
  • Crowdfunding
  • Venture Capital
  • Business Models
  • Personal Finance
  • Founder-Friendly Investors
  • Upcoming Events
  • Inc. 5000 Vision Conference
  • Become a Sponsor
  • Cox Business
  • Verizon Business
  • Branded Content
  • Apply Inc. 5000 US

Inc. Premium

Subscribe to Inc. Magazine

I Teach Leaders to Solve Problems. Here's My 6-Step Framework

If you want to get good at growth, get good at fixing problems. here's how to do it predictably and repeatedly..

I Teach Leaders to Solve Problems. Here's My 6-Step Framework

As a strategic coach, I work with high-performance leadership teams to build growth roadmaps. Oftentimes, the companies double in just six to 12 months. These growth rates  expose issues and cracks in the business that must be addressed quickly.  Identifying these issues quickly and systematically solving them is key to successful and sustained growth. Having both a framework and experience using it will improve any business's prospects.

Here's mine:

1. Review and reflect

I start by carefully reviewing what happened. Collect as much data as possible on what led up to the situation and how things played out. It's key here to get perspectives and opinions from as many sources as possible. I like organizing things in timelines and swimlanes for different people, teams, and departments. Here, we stick to the facts and try to weed out inferences and assumptions.

2. Find critical issues

Once the situation is mapped out, we look for where issues occur. These could be errors, delays, rework, wasted resources, or unnecessary operational complexity. I have the team dig into these and find the most important issues. I like having them plot what they find using a matrix of likelihood and impact so we can focus on a few issues that are causing the most problems.

3. Define the problem

Once we have a handful of things to investigate, I have the team clearly define the problem, why it exists, and how it's causing it. Once everyone is clear and in agreement on this, I have them articulate three to five success criteria that, once met, would mean that we've solved the problem or improved the situation significantly and sufficiently.

4. Look for systemic causes

Once the problem is defined, we can start looking for underlying causes. I like using a fishbone or tree diagram to visually map these out. Each cause needs to be independent and clearly contribute to the problems. Avoid generalizations and edge cases. For example, don't just say increased shipping costs. Say 22 percent of shipments go out as partial orders, which has increased average costs by $1.24 per order.

5. Pull multiple threads

Once we have several options, we can start finding causes of those causes using the same logic. I call this iterative triangulation as we start broad and narrow down the factors as we go. Sometimes we might hit a dead end, and we need to crawl back up the process to investigate another path. Eventually, we'll find a few core issues that are really driving the problem.

6. Listen to your gut

Sometimes this can be a difficult process, and you'll find several factors. First, I suggest focusing on the factors you can actually do something about. Second, focus on those that can be addressed with clear changes to business systems and processes. Finally, I have people check in with their guts; when they get that sinking feeling when they hit an issue, it probably means it's the one to focus on.

Root cause analysis can be more of an art than a science at times, but being systematic and developing a repeatable process will help it not feel like witchcraft. Teams that do this again and again and get good at it can dramatically improve their learning cycle time and can out-deliver and innovate against competitors.

A refreshed look at leadership from the desk of CEO and chief content officer Stephanie Mehta

Privacy Policy

IMAGES

  1. Six Steps to Solving a Programming Problem Infographic

    what are the steps of problem solving in computer

  2. Problem Solving Infographic 10 Steps Concept Vector Image

    what are the steps of problem solving in computer

  3. Steps for Problem Solving

    what are the steps of problem solving in computer

  4. 5 Step Problem Solving Process

    what are the steps of problem solving in computer

  5. 4 steps problem solving process powerpoint guide

    what are the steps of problem solving in computer

  6. what is the 4 step problem solving process

    what are the steps of problem solving in computer

VIDEO

  1. POLYA'S 4 STEPS PROBLEM SOLVING

  2. Problem solving and decomposition exercises

  3. 7 Steps Problem Statement Template! (𝙎𝙀𝑪𝙍𝑬𝙏!)

  4. problem solving computer

  5. Cracking the Code: Mastering Input-Output Series in Verbal Reasoning

  6. WHAT IS 8D? || HOW TO FILL G8D FORMAT || 7 STEPS PROBLEM SOLVING METHODOLOGY || Q4U || G8D || Q4U

COMMENTS

  1. Problem Solving Using Computer (Steps)

    The following six steps must be followed to solve a problem using computer. Problem Analysis. Program Design - Algorithm, Flowchart and Pseudocode. Coding. Compilation and Execution. Debugging and Testing. Program Documentation. Computer based problem solving is a systematic process of designing, implementing and using programming tools during ...

  2. 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 ...

  3. How to Diagnose a Computer Problem: 10 Steps (with Pictures)

    Any errors with the device will be displayed in the "Device Status" box under the "General" tab. Check all devices. Use the following steps to open the Device Manager: Click the Windows Start menu in the lower-left corner. Type Control Panel. Double-click the Control Panel in the Windows Start menu.

  4. PDF Unit 2: Problem Solving

    Introduction. In order for students to become "computational thinkers" they need experience solving a wide range of problems and the opportunity to experiment with a variety of solution strategies. This unit begins with an introduction to the problem solving process. Students are asked to solve new problems by planning a strategy, designing ...

  5. 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!

  6. 4 steps to troubleshooting (almost) any IT issue

    Step 4: Attempt a fix based on findings. The evidence you've already gathered should have narrowed down possible root causes and positioned you to fix the issue. At this point, focused experimentation is the name of the game. You can try tweaking changing settings related to the problem, swapping out faulty parts, repairing corrupted files ...

  7. Problem Solving

    Problem Solving . Computer Programmers are problem solvers. In order to solve a problem on a computer you must: Know how to represent the information (data ... An algorithm (see Algorithm) is a set of specific steps to solve a problem. Think of it this way: if you were to tell your 3 year old neice to play your favorite song on the piano ...

  8. Problem Solving

    The last question is where you will write out an algorithm to solve the problem. You can think of an algorithm as a recipe for solving a particular problem. It defines the steps that need to be taken by the computer to solve a problem in pseudocode. Pseudocode. Pseudocode is writing out the logic for your program in natural language instead of ...

  9. Computational Thinking for Problem Solving

    Computational thinking is a problem-solving process in which the last step is expressing the solution so that it can be executed on a computer. However, before we are able to write a program to implement an algorithm, we must understand what the computer is capable of doing -- in particular, how it executes instructions and how it uses data.

  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. 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 ...

  12. How to Make Windows Troubleshoot Your PC's Problems for You

    Navigate to Control Panel > System and Security > Troubleshoot Common Computer Problems. On Windows 7, click "Find and Fix Problems" instead. You'll see a list of the most common troubleshooters you might need. These aren't the only available troubleshooters. Click "View All" in the sidebar to view a full list of troubleshooters.

  13. How to solve the 10 most common tech support problems yourself

    Make a habit of trimming the startup items. Open the tool by pressing Windows-R, typing msconfig, and pressing the Enter key. Checking the Startup Item and Manufacturer columns is the best way to ...

  14. 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 ...

  15. 4. Problem Solving and Algorithms

    The development of an algorithm (a plan) is a key step in solving a problem. Once we have an algorithm, we can translate it into a computer program in some programming language. Our algorithm development process consists of five major steps. Step 1: Obtain a description of the problem. Step 2: Analyze the problem.

  16. Discover how computers solve problems

    Computers can solve problems by performing billions of operations per second. A programmer's job is to find solutions. They do this by breaking down problems into easy-to-follow steps for a computer. Programming languages allow people to communicate with computers. Computers are literal and do exactly what you tell them to. #

  17. 6 Ways to Troubleshoot a Computer

    Windows - Press Alt+F4 to force the active program to close. If Alt+F4 isn't working, press Ctrl+⇧ Shift+Esc to open a list of all the running programs. Select the program you want to force to close and click End task. Mac - Press ⌘ Cmd+⌥ Opt+Esc to open a list of your open programs.

  18. Oberlin College Computer Science » Problem Solving Tips

    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 ...

  19. Steps in Problem Solving

    The good thing is that the system translates nicely to computer problems, which is very useful, since the focus of the book is to solve problems on a computer. The six steps in this system are: What is the problem. Make a model. Analyze the model. Find the solution.

  20. 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 ...

  21. CBSE Class 11

    The several steps of this cycle are as follows : Step by step solution for a problem (Software Life Cycle) 1. Problem Definition/Specification: A computer program is basically a machine language solution to a real-life problem. Because programs are generally made to solve the pragmatic problems of the outside world.

  22. 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.

  23. Computer Problem Solving

    The initial six step problem solving model that was presented can be used to help solve any type of problem. If we know that we are going to use a computer program to help solve the problem, the six steps can be translated into six steps that are more tailored for computer programming problems. They are the same basic six steps; they are just ...

  24. Problem Solving Techniques in Computer Science

    A set of instructions given to a computer to solve a problem is called a program. ... 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.

  25. 7 Problem-Solving Skills That Can Help You Be a More ...

    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 ...

  26. Network Troubleshooting

    Next, turn the hardware off and back on again. This is the mainstay of IT troubleshooting, and while it might sound simplistic, often it really does solve the problem. Power cycling your modem, router, and PC can solve simple issues—just be sure to leave each device off for at least 60 seconds before you turn it back on. 2. Use ipconfig.

  27. Fix problems with apps from Microsoft Store

    Select Start > Settings > Windows Update > Check for updates. If there is an available update, select Install now. Check for updates. Make sure that your app works with Windows 11. For more info, see Your app doesn't work with Windows. Update Microsoft Store. Select Start, then from the apps list, select Microsoft Store.

  28. What is STEM Education?

    STEAM is designed to encourage discussions and problem-solving among ... Technology, Engineering, and Math, including Computer Science. 'STEM sector must step up and end unacceptable disparities ...

  29. Microsoft Math Solver

    Get math help in your language. Works in Spanish, Hindi, German, and more. Online math solver with free step by step solutions to algebra, calculus, and other math problems. Get help on the web or with our math app.

  30. I Teach Leaders to Solve Problems. Here's My 6-Step Framework

    1. Review and reflect. I start by carefully reviewing what happened. Collect as much data as possible on what led up to the situation and how things played out. It's key here to get perspectives ...