Teaching and learning with Jupyter Notebooks

With their online programming environment and support for storytelling, interactive visualizations and various types of learning activities, Jupyter Notebooks offer great features for education. Discover how they can help your students learn!

Teaching and learning with Jupyter Notebooks – Credit Alain Herzog

Whether in basic sciences, in engineering, in computational sciences or even in humanities, the range of pedagogical scenarios that Jupyter notebooks can support is large and varied. As summarized by the figure below, they facilitate the development and distribution of virtual demonstrations, make great interactive textbooks, ease the creation of interactive exercise worksheets, graded assignments, and are perfect companions for labs and projects involving data and computation.

In this page, we discuss:

Range of possible use cases for Jupyter Notebooks in education
Range of possible use cases for Jupyter Notebooks in education

Get started using Jupyter notebooks in your classroom right now!

Helping students learn more with Jupyter Notebooks

One way to think about how much notebooks can help students learn is to look at who manipulates them: the teacher in front of the students, but also – and more importantly – the students directly.

As is now very clear from research evidence on education, the more students are active and engaged, the more they learn (Freeman et al., 2014). Therefore the use cases towards the right side of the axis on the figure above, such as labs, projects or exercise worksheets, are likely to have a higher impact on student learning than those on the left side. For an example of using notebooks as exercise worksheets, read Guillaume Anciaux’s story.

Assignments are a bit aside in this classification since their purpose is more to evaluate students’ learning than to develop it, but you can discover an example of using notebooks for graded assignments with the story of Pol del Aguila Pla.

You can learn more about all these different use cases by clicking on the corresponding links below.

Discover different ways of using Jupyter Notebooks in your teaching

Jupyter Notebooks for all disciplines

While their support for interactive coding have them frequently adopted in computer science-related disciplines for teaching programming, machine learning or data science for instance, Jupyter notebooks can also be (and are) used in disciplines such as Physics, Chemistry, Biology, Engineering or Humanities.

They prove particularly useful to introduce students to the computational methods increasingly used in all these fields, and therefore serve as medium for developing students’ computational thinking. Hear Cécile Hébert describe how she uses notebooks in physics or Paolo Prandoni share how notebooks can be used to teach signal processing with music.

See more examples: browse our collection of Jupyter Notebooks in varied disciplines


Freeman, S., Eddy, S. L., McDonough, M., Smith, M. K., Okoroafor, N., Jordt, H., & Wenderoth, M. P. (2014). Active learning increases student performance in science, engineering, and mathematics. Proceedings of the National Academy of Sciences, 111(23), 8410–8415. https://doi.org/10.1073/pnas.1319030111