Friday 12 August 2016

Jupyter Notebook as a Peer-to-Peer Learning Environment?

Tony Hirst's recent exploration of the properties of Jupyter Notebooks (see his blog https://blog.ouseful.info/) got me experimenting with Jupyter and thinking about its possibilities. I've not really taken much notice of Python until fairly recently (playing with Raspberry Pi is a great introduction), and so the IPython thing (which is the precursor to Jupyter) passed me by. But clearly a lot has been happening - and Jupyter is a very interesting environment: see http://jupyter.org/

The Jupyter notebook is basically a programming environment which is a little bit like the mathematical software 'workbooks' which have become the common interface for users of Maple and Mathematica. They present interactive cells into which code can be typed and executed inline, where new cells can be added to create a melange of different aspects of exploratory programming. Into these cells can be inserted coding from a wide variety of languages: python (obviously) but also R, javascript, html (markdown), ruby, and so on. The cells can be re-represented using a presentation tool which works a bit like an interactive Powerpoint. It's different and impressive: I found the editing facilities excellent - great auto-formatting for most language which makes it a fantastic environment for rapid PHP and Javascript development. But its interactive presentation features make it a potentially powerful e-learning platform.

Jupyter (or IPython) notebooks can be shared - so whole exploratory interactive instances can be shared between peers in a class. The notebook is a very rich kind of learning package, which can be experimented with, extended, forked, etc. The extensions are particularly interesting, because each notebook can run on an individual's machine, there are no problems with permissions to install new tools. This overcomes the greatest obstacle that now faces e-learning: the centrally-controlled VLE will no longer let us do anything because the institutional computer service department locks it down. Overcoming this was one of the drivers behind the Personal Learning Environment, and was a fundamental part of the thinking which led to the creation of the only true peer-to-peer VLE, Colloquia (http://colloquia.net)

A few years ago it was fashionable to advocate that institutions abandon their VLEs in the interests of learners. I was sceptical that the time wasn't right to do this given that there were still significant issues with staff engagement with technology. That situation has significantly improved, and now I think we should abandon the VLE. Institutions must find a different way of delivering learning because with their current centralised systems, they are impeding innovation. There are some fascinating experiments going on with Jupyter which could make it a proper peer-to-peer learning system. I was particularly interested in the attempt to integrate the block-chain inspired Interplanetary File System (IPFS) into Jupyter (see https://github.com/ipfs/apps/issues/29) - this could be very exciting.

For all working in e-learning today, there are some fundamental principles we should be reminding ourselves of.

  1. Learners and teachers should be in control of the tools they use for learning
  2. They should be able to install, remove, amend any tool which they find useful without the say so of central IT departments
  3. IT departments have found themselves in the unfortunate position as gatekeepers to student data, and consequently fearful of data loss and legal action - this situation is unsustainable - Universities are not Facebook, and not even Ashley Madisson (!) - they will eventually be overwhelmed with the complexity of protecting data.
  4. Data should follow the student - it is their property, not an institution's.
  5. The coordination of learning is not the same as coordinating access to systems (but these have become confused): it is an intersubjective process mediated through communication of all kinds (online, face-to-face, etc) 
  6. Educational Personalisation is simply reorganisation so that education remains viable and sustainable.
Jupyter notebooks, or something like them, may not be the complete answer - but it seems to me a real advance on what we have become used to in educational technology. We now need some imagination to make it really inspiring, and able to do things that a central system could never do.

No comments: