Skip to main content

Problem Solving Studio

The problem solving studio is a collection of cherry-picked programming problems for drilling and practicing the programming problem solving model. Each problem is self-contained, requires basic programming language knowledge and can to be solved in one sitting. The main challenges lay in the problem, design, test and debug phases - similar for most of the programming problems you will probably encounter in the future.

Your goal is to learn to solve problems with the model, not to find a solution. Time shouldn’t be the factor, but the effort and progress you make. There is no need to use other external websites, except for the ones in the links resources dropdown in the top bar. Python documentation is an excellent resource for the programming language. Do not use Stack Overflow or try to google the questions - you don’t need them to tackle the task.

Spend time on the first two phases - they are the key to a successful solution.
First, make sure that you’ve reinterpreted the problem based on the description and you understand it well. After all, you don’t want to solve the wrong problem. Most of the problems have given pairs of input-output, use them to test your understanding.
Then, before you write your first line of code, have a written design for your solution - either as text (e.g., steps in English) or a drawing. Validate that your design solves the problem based on the example input and output from the problem phase.

The problems are loosely arranged by difficulty, represented by the number of 🌶️s. Sometimes successive problems are conceptually based on each other.

Currently, the only source of problems is the great Advent of Code (AoC) by Eric Wastl.

University of Potsdam logo