muandet-lab/ipml-course
muandet-lab/ipml-course has 150 GitHub stars and 17 forks. GitHot measured 0 stars in 24 hours and +2 in 7 days. Last checked 2026-11-09 08:23 UTC. Last push 2026-10-30.
A course on imprecise probabilistic machine learning
Measured star growth
- in 24h
- 0
- in 7 days
- +2
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalImprecise Probabilistic Machine Learning

“There are known knowns. There are known unknowns. But there are also unknown unknowns—things we do not yet realize we do not know.” — Donald Rumsfeld (2002)
This repository holds the course website and material for Imprecise Probabilistic Machine Learning (IPML).
Website: https://muandet-lab.github.io/ipml-course/
| Current offering | Winter Semester 2026/27 |
| Past offerings | Winter Semester 2025/26 |
| All offerings | Course archive |
| Reading list | References |
How the repository is organised
The site is a single permanent Jekyll site in which every offering of the course lives under its own stable subdirectory, so URLs stay citable years later and an old semester is never overwritten by a newer one.
ipml-course/
├── _config.yml # site settings + per-offering front matter defaults
├── _data/
│ ├── offerings.yml # every offering; drives the home page and /archive/
│ ├── nav.yml # navigation (per-offering + permanent items)
│ └── people.yml # instructors and teaching assistants
├── _layouts/ _includes/ _sass/ _css/ _images/
│
├── _lectures/<offering>/ # one file per lecture (title, tl;dr, slides, readings)
├── _assignments/<offering>/ # one file per exercise sheet
├── _events/<offering>/ # holidays, exams and other dated events
├── _announcements/ # manual announcements
│
├── 2026-2027/ # current offering: pages + slides/
├── 2025-2026/ # archived offering: pages + slides/ + exercises/
│
├── index.md # permanent course overview
├── archive.md # /archive/ — generated from _data/offerings.yml
└── references.md # /references/ — permanent reading list
Content that belongs to a semester (slides, worksheets, dates, room numbers) lives under that semester's folder. Content that outlives a semester (the course description and the reading list) lives at the top level.
The reading list itself is written once, in _includes/references_body.md. The
top-level references.md and the per-offering <offering>/references.md pages
are thin wrappers around that include, so a student who opens References from
inside an offering keeps that offering's navigation instead of being dropped
onto a page with no way back. Edit the include, never the wrappers.
Common tasks
Publish the slides for a lecture. Drop the PDF into
<offering>/slides/ and add a links: entry to the matching file in
_lectures/<offering>/:
links:
- url: /2026-2027/slides/lecture-01-introduction.pdf
name: slides
Publish a lecture recording. Add a YouTube link to the same links: list
with name: video. It appears next to the slides on the Schedule and Lectures
pages, and the Lectures page also shows the video's thumbnail on the left:
- url: https://www.youtube.com/watch?v=zZ_w_TiQ6-Y
name: video
Put a lecture on the schedule. Add date: and scheduled: true to the
lecture file. Items without scheduled: true are listed on the Lectures page
but left off the Schedule — Jekyll gives every undated document the build time
as its date, so the flag, not the date, decides.
Release an exercise sheet. Add a file under _assignments/<offering>/
following _assignments/2025-2026/01_worksheet-part-i.md, and put the PDF in
<offering>/exercises/. To publish solutions later, put that PDF in the same
folder and add a solutions: line to the exercise file, as in
_assignments/2026-2027/01_exercise-i.md.
Post an announcement. Add a dated file to _announcements/ with
offering: "<offering>" in its front matter.
Starting a new offering
- Copy the newest offering folder, e.g.
cp -r 2026-2027 2027-2028, and update thepermalink:in each page inside it. - Copy
_lectures/2026-2027/to_lectures/2027-2028/and updateoffering:in each file (likewise for_assignments/and_events/if needed). - Add a
defaultsblock for the new folder in_config.yml. - Add an entry at the top of
_data/offerings.ymland movecurrent: trueto it — in both_config.ymlandofferings.yml.
The previous offering then keeps working exactly as it was, and automatically gains an "archived offering" banner linking to the new one.
Running the site locally
Requires Ruby (3.1+) and Bundler.
bundle install
bundle exec jekyll serve
Then open http://localhost:4000/ipml-course/.
Deployment
Pushes to main are built and published by the GitHub Actions workflow in
.github/workflows/pages.yml. This requires
Settings → Pages → Build and deployment → Source to be set to
GitHub Actions once.
Contributing resources
If you are aware of a relevant resource that should be listed in
_includes/references_body.md (e.g. your own work), please open a pull
request or contact us by email.
Acknowledgement
The website is based on the jekyll-course-website-template by Amirhossein Kazemnejad (MIT licensed, see TEMPLATE-LICENSE), which in turn is based on svmiller/course-website.
Explore related projects
tensorflow/tensorflow
An Open Source Machine Learning Framework for Everyone
201,427 starshuggingface/transformers
🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.
168,711 starsAUTOMATIC1111/stable-diffusion-webui
Stable Diffusion web UI
165,261 starsComfy-Org/ComfyUI
The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface. The fastest local inference engine in the world.
145,835 stars