Skip to content

svendbot/math-coda

Repository files navigation

MATH-CODA: Probabilistic Programming Workshop

Two-session hands-on workshop introducing probabilistic programming with NumPyro, run as part of MATH-CODA in Belgium.

Sessions

Session Topic Notebook
1 From Frequentist to Bayesian via Probabilistic Programming notebooks/session1.ipynb
2 Deep Probabilistic Programming notebooks/session2.ipynb

Each session is 90 minutes (75 minutes working time + 15 minute break). Students work in pairs and run notebooks in Google Colab.

Workshop description

See math_coda_description.md for the public-facing session descriptions and learning outcomes. The implementation plan (timing, exercises, scaffolding rules, design decisions) lives in implementation_plan.md.

Running the notebooks

Open in Colab via the badge at the top of each notebook, then run the setup cell. Dependencies are installed from requirements.txt.

Editing the notebooks (developers)

Two-tier dev environment:

  • flake.nix provides system-level tools (pixi itself, git). Enter via nix develop or auto-load with direnv allow (.envrc is use flake).
  • pyproject.toml drives Python deps via pixi (mirrors what Colab installs, plus dev tools: jupytext, jupyterlab, nbconvert, pyright).

One-time setup inside the nix shell:

nix develop          # or: direnv allow
pixi install         # builds .pixi/envs/default/

Notebooks are paired with .py files via jupytext (percent format). Edit the .py files — diffs stay readable in git and code search works normally.

pixi run sync         # regenerate .ipynb from .py
pixi run strip        # strip outputs from .ipynb before committing
pixi run lab          # open JupyterLab
pixi run typecheck    # run pyright over notebooks/

Pairing is configured in notebooks/jupytext.toml; pixi tasks and pyright config in pyproject.toml.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors