Progressive evaluation of the exercise notebooks
- 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
- Add a warning about remaining way to cheat
- Cleanup metadata; typos
Modification effectuée par Nicolas M. Thiéry