Skip to content

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!

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

Skip to toolbar