Course schedule - 7 weeks
CBIO7501: The Art of Reproducible Research - Fall 2026
This is a 2-credit 7 week course for graduate students. There are two lecture sessions with hands-on (80 minutes) and one hands-on lab (110 minutes) per week. Nearly 60% of the time is hands-on. Anything that does not fit in class stays as an at-home tutorial, so the open material is complete even when class time is not. Dates, rooms and grading are in the official course information; this page maps lessons to weeks.
| Week | Topic | Lecture 1 (80 min) | Lecture 2 (80 min) | Lab (110 min) | At home |
|---|---|---|---|---|---|
| 1 | Reproducibility and open science | Reproducibility (slides, PDF); 01a Reproducibility reading (taught) | Open science (slides, PDF); 03 FAIR (taught) | Week 1 lab (taught) | Setup; 01b Open science reading and the openness audit |
| 2 | Project organization and version control | 02 Project organization | 03 Data management Part A: concepts; 03 hands-on | 04 Git §1–6: Git on your laptop and on GitHub; your own project under Git (30) | Project proposal: one paragraph + data source |
| 3 | Portable and reproducible environments | 04 Git §7–10: branches, a conflict, tags, pull requests | 05 Pixi Part A | 05 Pixi Part B: features, tasks; Pixi for your own project (30) | 05 Pixi the Reproduce check on GitHub; 05 Part C (pixi global, HPC); 05b Conda comparison |
| 4 | Literate programming | 06 Jupyter (40); 07 Quarto §1–3: a first document (40) | 07 Quarto §4–9: the LTEE report, parameters, formats, notebooks, the report in reproduce |
Your own mini-analysis: explore in a notebook, report in Quarto, both in reproduce |
Quarto extras; the Break it exercises |
| 5 | Containers | 08 Containers §1–4: Docker | 08 Containers §5–6: an image from the lock file; 08 Containers §7: Apptainer | Containerize the LTEE environment; optional Karakoram run | 08 Containers §8–9: registry, provenance |
| 6 | Workflows and automation | 09 Snakemake §1–5 | 09 Snakemake §6–11 | 09 Snakemake lab: the LTEE pipeline, best practices (70); 10 Nextflow intro (40) | 10 Nextflow full tutorial; nf-core demo |
| 7 | Publishing, archiving, open practice | 11 Documentation | 12 Putting it together §1–2: swap and reproduce | Final presentations (can move a week later) | Fixes from the reproduce report; 12 Putting it together §3: release with a DOI; Package and share your tool (optional) |
Two projects. In the hands-on parts of the lessons you build the LTEE project; you hand in its GitHub repository and the Zenodo DOI of its release after Week 7 (40% of the grade, what to hand in). From Week 2, the last 15 to 20 minutes of each lab apply that week’s tool to your capstone: your own research project, separate from the LTEE project (each tutorial ends with Apply it to your own project; 30% of the grade, assessed with the rubric).
If a week runs long, cut in this order: optional HPC steps, Jupyter, the Conda comparison (already at home), the Nextflow introduction (shrink to a demo). The packaging extra is always done at home.