[IPython-dev] Developing a MOOC with IPython notebooks

Anton Akhmerov anton.akhmerov at gmail.com
Mon Dec 22 09:32:59 EST 2014


Hi everyone,

I am a part of the team developing an EdX online course on topology in
condensed matter (see http://tiny.cc/topocm), and I'd like to ask
several IPython notebook questions.

We decided to develop the course predominantly using IPython/Jupyter
notebooks for several reasons. First and foremost, the notebooks are
really awesome; thanks to the team and community for developing this
great tool.
On a smaller scale, the notebooks allow to share content with people
not willing to register on EdX, to tightly integrate the programming
elements of the course with the rest of the content, and finally to
decouple the course development from the EdX studio.
We intend to develop all of the course as a bunch of IPython notebooks
and develop a custom tool that uses nbconvert to generate EdX folder +
xml + content course structure.
The reason why that last part is an advantage is because there is no
notion of version control in the studio, and it's a relatively
rudimentary tool with a heavy GUI.
In a longer term perspective we could also run a jupyterhub instance
to relieve the course users from the need to setup their own
programming environment (this doesn't seem to be an option right now
due to the time constraints).

So here go the questions:

* Is the rough release date for v3.0 known? There are several
important modifications to the notebook format that make this change
relevant for us. I also hear that the release is planned soon, so do
you aim for a release some time in January?
* What are the best practices for keeping notebooks in git? We've
found nbdiff, but it seems limited: for example it doesn't do anything
to diff markdown cells. Is there a better way?
* What are the current options for creating rich graphic content that
doesn't rely on having a live kernel? I know of mpld3, ipywidgets, and
bokeh. For us ipywidgets seem like the best solution so far, but it's
a pet project of Jake Vanderplas that didn't see any action in around
half a year. So I wonder if there is anything more alive in that
respect, that'd be great. Perhaps in v3?
* In general, do you have any further advice?

Thanks,
Anton Akhmerov



More information about the IPython-dev mailing list