[IPython-dev] Jupyter + Processing for education

Juergen Hasch python at elbonia.de
Fri Jan 23 11:42:43 EST 2015

Hey Doug,
this is nice!

I always wanted to something like that, but never got around. You can be sure I will play with it.


Am 23.01.2015 um 15:01 schrieb Doug Blank:
> IPython community,
> Thought you might be interested in seeing how students can use the new Jupyterhub with a new, external kernel. This
> semester I am using the language "Processing"... originally designed for artists by artists. My colleagues have written
> a textbook on how to use it for teaching computer science [1].
> Here is a 5 minute video on how it looks to the student:
> https://www.youtube.com/watch?v=V4TzARh-ClY
> and here is a live notebook:
> http://jupyter.cs.brynmawr.edu/hub/kohara/public/Untitled.ipynb
> (mouse over some of the sketches)
> If you know Processing, this is different from the regular Processing IDE:
> * students log into the Jupyterhub system over the web
> * uses the Processing-Javascript system
> * each Jupyter notebook "cell" is a Processing "sketch"
> * Shift+Tab shows Processing on-line help
> * Tab will do completion (completes with Processing variables and functions)
> * Rendered notebooks (eg, without a live computational engine/kernel behind them) will still run
> * Slight bit of interpreter feel: can execute draw/setup functions interactively
> * uses MetaKernel magics [2]
> I like the setup for education because:
> * I can control/configure the environment exactly (what buttons are available, etc). I have a few nbextensions in the
> newly supported system folder, and load them in the notebook.html template.
> * I can update the system at any time
> * I can track students' time-on-task
> * Students will be able to submit their homework (as notebooks) via a button
> * I can add more stuff as I think of it (like the "Publish" and "Submit Homework" buttons)
> * All of the benefits of using a notebook: by students, for students ("runs like code; reads like a journal paper",
> "literate computing", "reproducible research", etc)
> Things I don't like:
> * Processing -> Javascript error messages are terrible
> We'll have all of the code easily installable (via pip) as soon as Jupyter is out. Of course, you can also get the code
> directly [3].
> It could be that a Processing IPython magic could turn Processing code into a really fancy, low-level, dynamic widget
> system for Python. Because rendered Processing sketches run in rendered notebooks, it also solves some of those issues.
> There needs to be a way to get data to Processing. Also, for live kernels, it would be handy to have Processing be able
> to set Python variables.
> -Doug
> [1] - http://www.apress.com/9781430244646
> [2] - https://github.com/Calysto/metakernel
> [3] - https://github.com/Calysto/calysto/tree/master/calysto/language/processing
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev

More information about the IPython-dev mailing list