Julia Wagemann is a strategy and IT consultant who works across strategy, user engagement and training of Big Earth Data and Emerging Technologies. Her 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, she has trained more than 1600 Earth Observation and climate practitioners.
Julia has been working with Jupyter notebooks since 2014 and since then, has developed more than 100 educational workflows on topics such as access and analysis of large volumes of Earth data as well as Machine Learning.
Prior to her consulting work, she has worked for the European Space Agency and the European Centre for Medium-Range Weather Forecasts.
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.