Lindsey Heagy and Rowan Cockett
Web-based textbooks and interactive simulations built in Jupyter notebooks provide an entry point for course participants to reproduce content they are shown and dive into the code used to build them. Lindsey Heagy and Rowan Cockett share strategies and tools for developing an educational stack that emerged from the deployment of a course on geophysics (which will be delivered in about 30 locations worldwide this year) and some lessons learned along the way.
At a minimum, the ability to reproduce a numerical simulation or associated figure requires open source software. However, opening the software is insufficient for enabling course participants, many of whom have never programmed before, to engage with and explore the numerical simulations in a nonthreatening way. The first goal is to make concepts accessible—introduce them in context through examples, case histories, and explanations—and provide an interactive way for participants to build intuition around the underlying physical principles. The implemented approach is two-fold: developing web-based textbooks built using Python documentation tools to provide the context and Jupyter Notebook apps that use ipywidgets as the interface for driving numerical simulations around specific concepts. (The numerical software that enables the exploration of these concepts is the same set of tools that Lindsey and Rowan use in their own research—SimPEG.) During the course, the “apps” are introduced over the lunch break, and participants have the opportunity to reproduce figures and to purposefully explore and investigate concepts and questions that came up during the presentation.
The second goal is to make these computational tools accessible so that participants can add them to their own toolboxes. This requires providing resources for participants to look at the code under the hood. Within the GeoSci “textbooks,” source code for static figures is provided, so the figures themselves provide a way for readers to dive a level deeper (e.g., electrostatic sphere). Parallel to this, a second set of Jupyter notebooks have been deployed that walk through the steps taken to set up a numerical simulation (with SimPEG), exposing all of the code required to do so. By having all of the layers, from numerical simulation software to simulation “apps” to the case histories and theory that provide context, available for exploration, there is now a trajectory for participants to dive from course content all the way to the research software used to build that content.
Topics include:
- The approach, tools, and philosophy that used to develop the tools and ideas that enable an educational stack
- The strategies used to foster a community
- Some of the pain points and opportunities for development inside the Jupyter community that support this style of reproducible scientific communication
https://conferences.oreilly.com/jupyter/jup-ny/public/schedule/detail/60045