Upon displaying the exercise, all cells before the first answer
cells are evaluated
Upon validating the exercise, the remaining cells are evaluated
Features:
Enables randomization using any feature of the kernel
Enables displaying cell outputs
Enables myst-style {eval}... substitutions in Markdown cells
Fast validation
Backward compatible with existing exercises
New example:
examples/progressive.md illustrating the above features
Current limitations:
Substitution in code cells can only be achieved with Jupylates
standard random substitutions
When validating several times, the kernel is not restarted which is
fragile in case of non idempotent code or solutions that could be
fetched from later cells.
Only plain/text outputs are supported (no plots, no widgets).
Additional feature:
Kernel preheating
Improved py_modulo_result.md example:
Illustrate how to avoid INPUT by using _
Illustrate that BEGIN/END SOLUTION is not needed when covering the whole cell
Illustrate how to prevent cheating by using the name of the variable
holding the computed value