Jupyter for Education

Random Bits

SΓ©bastien BoisgΓ©rault βœ‰οΈ 🏠
🏦 Mines Paris – PSL

Python πŸ‡«πŸ‡·

Introduction to Programming

Late Undergrad

https://github.com/boisgera/python-fr

Notebook Pattern #1:

The Blank Page

  • β›” Don't come with your slide deck but ...

  • 🟒 write interactively a Jupyter notebook.

  • πŸ‘ "Rate limiter" and "Priority Filter"

  • πŸ‘ Highly adaptable to the public

  • ⚠️ Beneficial if the students are engaged!

  • ⚠️ Complement with extra ressources

Notebook Pattern 2:

Homework

Example #1 NotebookCeption

A notebook to deal with notebooks!

🀯

Example Task

Implement a .ipynb to .py (pypercent) converter

(a jupytext-like feature)

  • πŸ‘ The notebook object is familiar

  • πŸ‘ But its representation is initially mysterious

  • πŸ‘ Notebook are low-complexity JSON documents

Example #2 OpenStreetMap

A notebook to:

  • πŸ’½ Get OSM data
  • πŸ” Analyze it
  • πŸ—ΊοΈ Generate a map
  • ℹ️ Embedded doctests (~test-driven)

  • πŸ‘ The map object is familiar

  • πŸ‘ Learn a bit about geographic coordinates

  • πŸ‘ Use folium maps, PIL images & matplotlib

  • πŸ‘ The OSM (XML) data structure is simple

πŸ”— GitHub repo

Calculus

Complex Analysis

A classic Mathematics course with applications:

Joukowky airfoil

Conformal Maps

Domain Coloring

  • level curves of

  • a hue

πŸ“– Scientic Visualization
(N. Rougier, LABRI)

Control Engineering with Python

πŸ”— GitHub

Theoretical & Experimental introduction to control

Based on the Python scientific stack
(NumPy + Matplotlib + Scipy + Jupyter + ...)

Notebook Pattern #3

Learn to use software tools

Interactive Notebook Process

  • πŸ‘ Code a snippet of code ...

  • πŸ‘ ... visualize the result ...

  • πŸ‘ document your journey!

🧰 Control Engineering Toolbox

  • ODEs solvers: scipy.integrate

  • Quiver and stream plots: matplotlib.pyplot

  • Pole assignment: scipy.signal

  • Optimal control: scipy.linalg

Notebool Pattern #4

Learn some theory

Notebook Pattern #5

There is no (need for a) silver bullet

🧠 Theory

πŸ§ͺ Experiment

Documents Multiple Targets

  • HTML Slide Deck (Reveal.js)

  • Jupyter notebooks

  • PDFs (legacy)

Pandoc-flavored Markdown documents

Transformed with Pandoc (Python).