Brought to you by NumFOCUS Foundation and O’Reilly Media Inc.
The official Jupyter Conference
August 22-23, 2017: Training
August 23-25, 2017: Tutorials & Conference
New York, NY

Deploying a reproducible course

Lindsey Heagy (University of British Columbia), Rowan Cockett (3point Science)
11:55am–12:35pm Friday, August 25, 2017
Reproducible research and open science
Location: Sutton Center/Sutton South Level: Non-technical

Who is this presentation for?

  • Scientists, educators, and students

What you'll learn

  • Learn how open source tools such as Python documentation generators and Jupyter notebooks can be used to build web-based textbooks and interactive simulations that lower the barrier to entry for learners (even those with little programming background) to explore numerical simulations
  • Explore ideas and lessons learned from building and deploying reproducible educational material and scientific documents


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
Photo of Lindsey Heagy

Lindsey Heagy

University of British Columbia

Lindsey Heagy is a PhD candidate at the University of British Columbia studying numerical geophysics. Her work focuses on using electromagnetic geophysics for monitoring subsurface injections, including carbon capture and storage and hydraulic fracturing. She a project lead on, an effort to build collaborative, interactive, web-based textbooks in the geosciences, and a core contributor to SimPEG, an open source framework for geophysical simulation and inversions.

Photo of Rowan Cockett

Rowan Cockett

3point Science

Rowan Cockett is the founder and CTO of 3point Science (acquired by Aranz Geo in 2016), a company building web-based visualization software for the geoscience industry, including Steno3D. Rowan is also a graduate student at the University of British Columbia, where he is researching a numerical framework aimed at increasing quantitative communication in the geosciences developed through his studies on numerical geophysics, subsurface flow, and structural geology. Rowan is interested in the intersection of education, industry, and academia and seeing what happens when you make powerful scientific modeling, visualization, and communication tools accessible through the web. Much of his research is accessible through an open source software initiative for geophysical simulations and parameter estimation (SimPEG) and an open website for geoscience modeling (Visible Geology).