Jupyter-Notebooks

Jupyter Notebook documents are documents which contain both programming code and rich text elements such as links, equations, figures and movies etc. The most attractive feature of these documents is the ability to execute it and modify its content directly in the web browser. When it comes to presenting analyses, this tool becomes very powerful. In education and teaching, subjects which include coding can be taught more efficiently and jupyter enables a richer learning process. Furthermore, in research Jupyter Notebooks is a great opportunity to present detailed advanced analyses which can be accessed and easily followed by anyone. LIGO has done this with its gravitational wave data analysis.

As with all software, one needs to install and configure Jupyter Notebook prior to run and use it. Especially in the classroom such a process presents a significant barrier. With Microsoft Azure Notebooks it is possible to easily tunnel through that barrier and directly access and use the notebook. Alternatively, JupyterHub enables  a multi-user and host support of Jupyter Notebooks. With plotly and/or bqplot the plots will be astonishing and your notebook is complete.

As a teacher you will at some point realise that jupyter notebooks is a perfect tool for student assignments. When this occurs you will want to use nbgrader. It is an extension to Jupyter which guides you as a teacher to create, manage and grade assignments. Similarly, with GitHub Classroom larger coding projects including jupyter notebooks can easily be managed by the instructor.

At Lund University I am responsible for a laboratory exercise on gamma spectroscopy. To complete the lab the students are required to perform a data analysis independently. To facilitate this part of the exercise, I implemented a Jupyter-Notebook and it can be found here: https://notebooks.azure.com/n/RMQdTC5HgFs/notebooks/DataAnalysis_GammaSpectroscopy.ipynb

I acknowledge Erik Sundell for the expertise and inspiration.