Reuse This Course
The course content is available under CC BY 4.0. You can copy it, change it, and teach it, if you give credit. This page explains how the site is built.
Where the content lives
index.qmd— landing page, with the course facts and the learning outcomescontents/course-description.qmd— the long course descriptioncontents/syllabus.qmd— the session plan for both days and the assessment rulescontents/sessions/— one page for each of the 12 sessionscontents/assignments.qmd— the work between and after the two dayscontents/literature.qmd— the two course texts and the required sectionscontents/resources.qmd— course material and optional learning resourcescontents/cheat-sheet.qmd— the statistics cheat sheetassets/cheat-sheet.pdf— the cheat sheet as a PDF, built bynpm run cheatsheet:pdfcontents/about.qmd— format, teaching approach, and contactreferences.bib— BibTeX entries for every cited work_quarto.yml— navigation, theme, and site metadata_brand.ymlandtheme.scss— the greyscale palette, the IBM Plex fonts, and the callout colours
Each session page follows the same structure: an at-a-glance table, the reading, a reading summary, the in-class work, and the output.
Build the site locally
You need Node.js 24 or later, uv, and Quarto.
- Clone the repository.
- Run
npm install. - Run
npm run prepareto install the Git hooks. - Run
npm run preview.
The preview server reloads the site after each change.
How the cheat sheet works
contents/cheat-sheet.qmd builds every figure with static Python. Quarto runs the {python} cells at build time and embeds the images. The published site is plain HTML.
The front matter sets echo: false, so the page shows figures and not code. The first cell sets the chart colours and the matplotlib defaults. Every later cell reuses them.
The figures need matplotlib, numpy, and pandas. All three are dev dependencies in pyproject.toml. Run uv sync after a clone.
Flows, trees, and sets of relations use Mermaid diagrams instead of figures. Prefer a diagram when the content is a structure rather than a distribution.
Check that every figure draws and that no axis label is clipped. A figure that is too small for its labels still renders without an error.
Adapt the course
- Fork the repository.
- Edit the pages in
contents/. - Update the title, the URLs, and the navigation in
_quarto.yml. - Update
_brand.yml,CITATION.cff, andREADME.mdwith your own values. - Replace the favicons at the repository root.
- Enable GitHub Pages in the repository settings with the source GitHub Actions.
- Push to
main. The workflow.github/workflows/quarto-publish.ymldeploys the site.
TODO.md lists the setup tasks that need a human.
Attribution
Credit the original as: Moritz Mähr, All Data Are Local: Introduction to Data Literacy, https://maehr.github.io/all-data-are-local/, CC BY 4.0.
The course reads two open texts that carry their own licences:
- Yanni Alexander Loukissas, All Data Are Local (MIT Press, open access)
- Mine Çetinkaya-Rundel and Johanna Hardin, Introduction to Modern Statistics (2nd ed., OpenIntro)
Check each licence before you redistribute their material.