Parson’s problems are assignments for learning programming where the learner has to select, order, and indent code fragments. The goal is to construct a program which fulfils the task of the assignment. That’s best explained with an example task. The assignments have versatile feedback options: line-based, code execution and variable check or unittests, as well as neat turtle graphics.
There's also a mobile version in the works (for the past 3 years :)). The lib has been used at least at Aalto University, University of Turku, and in the Interactive Python books. Also, there's an online site.
Technologies: jQuery, jQueryUI, Skulpt, React.js, Django