Skip to content
Parsons problems web app
Branch: master
Clone or download
Latest commit 53c1056 May 1, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
demo add jupyter notebook demo Apr 29, 2019
parsons add GitHub ribbon May 1, 2019
.gitignore initial commit Mar 10, 2019
LICENSE Initial commit Mar 9, 2019 initial commit Mar 10, 2019
Pipfile install parsons package correctly with pipenv Mar 10, 2019
Procfile remove init-db from release phase Mar 10, 2019
README.rst add link to the Jupyter Notebook demo Apr 29, 2019 initial commit Mar 10, 2019
setup.cfg initial commit Mar 10, 2019 add psycopg2 to package install_requires Mar 10, 2019


Parsons Problem Webapp

Parsons programming puzzles are a type of scaffolded program construction tasks where the learner is given a set of code fragments, blocks of a single or multiple lines of code, and the task is to piece together a program from these. Learners not only select and order but also indent code fragments.

They are challenging problems that reduces the cognitive load and time spent for students.

This variant of Parsons programming puzzles is called two-dimensional (2D) Parsons problems. In Python, code indentation has a semantic meaning, as an indented statement falls into the surrounding control structure, which has lower indentation. That is, code blocks are defined by indentation instead of start and end symbols like curly braces.

(from js-parsons)

The use of Parsons puzzles is an evidence-based teaching practice.

Based on js-parsons and inspired by Python Tutor.


find_max function:

Embedded in Jupyter Notebook (you need to run it locally):


  1. Parsons, D., & Haden, P. (2006, January). Parson's programming puzzles: a fun and effective learning tool for first programming courses. In Proceedings of the 8th Australasian Conference on Computing Education-Volume 52 (pp. 157-163). Australian Computer Society, Inc.
  2. Ihantola, P., & Karavirta, V. (2011). Two-dimensional parson’s puzzles: The concept, tools, and first observations. Journal of Information Technology Education, 10, 119-132.
  3. CS Teaching Tips - Use Parson’s Puzzles to help students engage with a concept without writing code or experiencing frustrating syntax errors.


  • [ ] Use the better version of Runstone.
  • [ ] Various view: stand-alone, embedded, LTI
  • [ ] Problem library
  • [ ] Add tests
You can’t perform that action at this time.