Levels of Problem Solving
When you’re getting ready to create a new program, design a game, or solve a problem, it can help to use a strategic approach. The levels of problem solving help you “zoom in” and “zoom out” while you’re planning, helping you understand the problem and find a good solution.
Get a PDF version of this webpage!
Jump To
Level 4: The Problem/Goal Level
This is where you look at the big picture to figure out what your problem or goal is and decide how you’ll know when you get the solution right. What are you trying to do? What is your starting point? What is your endpoint? What are your targets?
Keywords: question, problem, goal, starting point, end point, targets, solution, big picture
Level 3: The Description Level
This is where you write a detailed description of the steps needed to solve the problem or reach the goal. You can use numbered steps, a flowchart, or pseudocode for this part.
Keywords: description, outline, steps, order, flowchart, pseudocode, save, repeat, using, as long as, stop, block, fork, input, output, display
Level 2: The Program Level
This is where you write the computer program that goes through all the steps. Don’t forget to keep track of things like variable names and parentheses!
Keywords: program, code, lines, syntax, variable (integer/string/etc.), loop, for, while, break, function, conditional, parameter, return, print, mistake, typo
Level 1: The Execution Level
This is where you run the program with specific values and see what happens. Hopefully, you’ll get the solution to the problem or reach the goal you set.
Keywords: run, execution, result, error message
References
This framework has been modified from Michal Armoni’s “levels of abstraction” from the 2013 article “On Teaching Abstraction in Computer Science to Novices”; she in turn derived the levels of abstraction from Perrenet and Kaasenbrood, 2006, “Levels of Abstraction in Students’ Understanding of the Concept of Algorithm.”