Teaching and Learning with Jupyter

By Lorena A. Barba, Lecia J. Barker, Douglas S. Blank, Jed Brown, Allen B. Downey, Timothy George, Lindsey J. Heagy, Kyle T. Mandli, Jason K. Moore, David Lippert, Kyle E. Niemeyer, Ryan R. Watkins, Richard H. West, Elizabeth Wickes, Carol Willing, and Michael Zingale

This handbook is for any educator teaching a topic that includes data analysis or computation in order to support learning. It is not just for educators teaching courses in engineering or science, but also data journalism, business and quantitative economics, data-based decision sciences and policy, quantitative health sciences, and digital humanities. It aims to provide an entry point, and a broad overview of Jupyter in education. Whether you are already using Jupyter to teach, you have found learning materials built on Jupyter that piqued your curiosity, or have never heard of Jupyter, the material in this open book can empower you to use this technology in your teaching.

Project Jupyter is a broad collaboration that develops open-source tools for interactive and exploratory computing. The tools include: over 100 computer languages (with a focus on Python), the Jupyter Notebook, JupyterHub, and an ecosystem of extensions contributed by a large community. The Jupyter Notebook has exploded in popularity since late 2014, fueled by its adoption as the favorite environment for doing data science. It has also grown as a platform to use in the classroom, to develop teaching materials, to share lessons and tutorials, and to create computational stories. Notebooks are documents containing text narratives with images and math, combined with executable code (many languages are supported) and the output of that code. This marriage of content and code makes for a powerful new form of data-based communication. Educators everywhere are adopting Jupyter for teaching.

Educators newly adopting Jupyter can be overwhelmed by having to navigate the ecosystem of tools and content. They could study many examples, or consume a myriad of blog posts and videos of talks to distill the patterns of good practices and technical solutions to serve their students best. Several early adopters, having much experience to share, decided to begin collecting this know-how, and share open documentation about using Jupyter for teaching and learning. The result is this open book: a living document that captures the experiences of community members using Jupyter in education.

The Jupyter Community Workshop in Washington, DC (November 2018) began that process, with a book sprint aimed at producing the first version of this handbook. The collaboratively written book consolidates explanations and examples covering key topics, including: what is Jupyter, how to try Jupyter, sharing notebooks with students, locally installing Jupyter, cloud offerings, finding example notebooks, writing lessons in Jupyter, making collections for a course, exporting to other formats with nbconvert, writing textbooks with Jupyter, using Binder and JupyterHub, making assignments and auto-grading, making online courses, teaching with Jupyter in the classroom, active learning and flipped learning pedagogies with Jupyter, and guiding learners to create their own content in Jupyter. This open handbook will grow to encompass all you need to know about Jupyter in teaching and learning.

If you find these materials helpful or inspiring, give us a shout-out on Twitter using #Jupyter4Edu. We hope you do!

The book sprint was held at the George Washington University in Washington, DC, on 28–30 November 2018, and organized by Lorena A. Barba. Funding to support the logistics and travel of all participants was possible thanks to a grant from Bloomberg to Project Jupyter, and managed by NumFOCUS. The group was fêted at a reception sponsored by Leidos. Participants traveled from all over the country and volunteered their precious time and hard work to give this work to the Jupyter community, with a heartfelt sense of gratitude to all the contributors to the software projects we love and depend on. Thank you!

GitHub repository for this book: https://github.com/jupyter4edu/jupyter-edu-book

Content under a Creative Commons Attribution CC-BY 4.0 International license.