JupyterCon 2023

Five guiding principles to make Jupyter Notebooks educational and reusable
05-11, 12:00–12:30 (Europe/Paris), Louis Armand 1

Jupyter notebooks are a popular choice for training and teaching data-intensive science, such as training users of large volumes of Earth Observation data. Computational notebooks, including Jupyter, are in particular valued for facilitating reproducibility and collaboration. However, quantitative analyses and empirical research have identified unique challenges when it comes to using them. Critics claim that notebooks foster bad coding practices due to the possibility of an out-of-order execution of cells, that only a small percentage of notebooks hosted on Github are in fact reproducible and that annotations are not evenly distributed and do not reach the objective of well-described computational narratives.

These findings are the motivation to develop and share best practices to make Jupyter notebooks more educational and reusable. During the development of a Jupyter-based training course on Earth Observation data (Learning Tool for Python (LTPy)), we defined and applied five guiding principles from different fields (mainly scientific computing and Jupyter notebook research) to make these notebooks more educational and reusable.

The Jupyter notebooks developed (i) follow the literate programming paradigm by a text/code ratio of 3, (ii) use instructional design elements to improve navigation and user experience, (iii) modularize functions to follow best practices for scientific computing, (iv) leverage the wider Jupyter ecosystem to make content accessible, and (v) aim for being reproducible.

In this talk, we will share with you five guiding principles to make Jupyter notebooks educational and reusable and for each principle we share a practical example of how it can be applied and implemented. The guiding principles have also been published in the Journal of Remote Sensing.

I am an independent consultant, educator and community-builder who works across strategy, user engagement and training of Big Earth Data and Emerging Technologies. My work is in the intersection between data providers and users aiming to make large volumes of Earth data better accessible and used. For the past four years, I have trained more than 2000 Earth Observation and climate practitioners.

I have been working with Jupyter notebooks since 2014 and have developed more than 100 educational workflows on topics such as access and analysis of large volumes of Earth data and Machine Learning.

Previously, I worked for the European Space Agency and the European Centre for Medium-Range Weather Forecasts.

This speaker also appears in:

Sabrina Szeto is an independent geospatial consultant empowering organisations to use geospatial data and technology. Sabrina has developed Jupyter Notebooks and conducted user training on atmospheric composition datasets for EUMETSAT since 2021. She is also recognised as a Google Developer Expert for Earth Engine. Previously, she was a geospatial analyst at Yale University’s School of the Environment. She holds a masters degree in forestry from Yale University and a bachelors degree in Anthropology from Princeton University.