Ways to teach Python from first principles: * Restrict the syntactical token list ("switch features on and off") * Fork Python * RPython -- https://rpython.readthedocs.org/en/latest/ * https://pypi.python.org/pypi/RestrictedPython * http://pyvideo.org/video/2585/building-and-breaking-a-python-sandbox * OR: execute code in container (e.g. LXC, LXD, Docker (JupyterHub); virtualization) * Add a preprocessor with a cost function to limit valid tokens for a given code submission (see the links to the Python grammar, tokenizer, compiler linked above) * Modify nbgrader to evaluate submissions with such a cost function: https://github.com/jupyter/nbgrader * Receive feedback about code syntax and tests from a CI system with repository commit (web)hooks * BuildBot, Jenkins, Travis CI, xUnit XML https://westurner.org/wiki/awesome-python-testing#continuous-integration-ci-... On Tue, May 26, 2015 at 1:56 AM, Andrew Barnert via Python-ideas < python-ideas@python.org> wrote:
On May 25, 2015, at 22:36, Rustom Mody
wrote: I am talking of a framework for a teacher to chart a course through
python, not any changes per se to python itself.
How exactly can you allow a teacher to "chart a course through python" that includes separate function and generator function definition statements, procedures as distinct from functions, etc. without changing Python? Python doesn't have the configurability to switch those features on and off, and also doesn't have the features to switch on in the first place.
A teacher wanting to chart a different course through python should be free (and encouraged) to do that as well.
I would like a framework for a teacher to chart a course through driving the Nissan 370Z that would allow me to start off teaching hoverpads instead of wheels, but a teacher wanting to chart a different course should be free to start with sails instead. And I want to do this without changing anything about the 370Z.
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/