Companion curriculum

The teaching material of the course – nine modules in three strands

These nine modules are where the course does most of its teaching. The workshop sits at the centre of them, a single hands-on case worked through in four ninety-minute parts. It is compressed by design, and teaches reproduction, estimands and the multiverse rather than the skills that surround those three topics. Those skills are what the modules carry, from a first line of R through to a reanalysis you can version and archive. Each one stands on its own, so you can take just the module you need and leave the rest.

How much of the curriculum you work through depends on which track you are following. The one-day track is very nearly the workshop and nothing else, pointing at the R module as optional preparation beforehand and at one or two others alongside the day itself. Nothing here is required for it: the day runs in full without any of this, in either of its two routes, with nothing to install and no account to create. The three-day and semester tracks build sessions out of these modules on either side of the workshop, and the self-study track is made almost entirely of them. Wherever a module below says ‘the day’, it means the workshop at the centre of whichever track you are on.

Nine modules, each standing alone

The nine modules group into three strands: the computational tools that an analysis is written with, the repositories and version control that let it travel, and the statistical methods that the case itself is worked on. The strands are a way of reading the curriculum rather than a filing system – every module keeps its own page, and nothing stops you reading across them in whatever order suits you.

Strand I – Computational tools

Two modules on the machinery of an analysis: the language it is written in, and the document format that holds the code and the prose about it in the same file. The R module assumes no programming at all, starting from the first line you type. The Quarto module picks up where that leaves off, and is written for someone who has worked through the R module or who already writes a little R. Neither runs its own code; the snippets are shown so that you type them yourself. The R snippets can go into the workshop’s zero-install browser lab or into your own copy of R, while the Quarto exercises need R and the Quarto command-line tool on your own machine, because the lab runs R but does not render documents.

Module Level What it covers When to read it
Getting started with R Foundation What R and Positron are; the console, scripts and Quarto; objects, vectors and data frames; reading a CSV; the pipe and a first dplyr chain; a grammar-of-graphics tutorial that builds up to reading the workshop’s own class chart; naming the quantity before estimating it. For arriving with no R at all. Before the day
Quarto and reproducible documents Foundation What a .qmd file holds and what rendering actually does; the YAML header and the execute options worth knowing; code chunks and the options that are set by the workshop’s own pages; figures, tables and cross-references; citations drawn from a .bib file, with the workshop’s own bibliography as the worked example; publishing a finished document. Written around files you can open in this project rather than a toy case. Before the day

Strand II – Reproducibility and collaboration

Where research materials live, how they are licensed, and how a piece of work is versioned and shared. The panel the workshop runs on is a file published in an OSF fork, and the day asks you to write a preregistration block, and the slides name version control and say what git gives you, but there is no hands-on git on the day: nothing to clone, and no GitHub account to create. That practice is left to these two modules, which take both sides further and are the ones to read once you have a report of your own to archive.

Module Level What it covers When to read it
Reproducibility repositories Foundation to advanced The GESIS licensed archive; the OSF nodes behind the case; what registration and forking mean; preregistration templates, feeding into Part 4. After the day (the preregistration part also works before)
Git and GitHub for reproducible research Advanced Version control from first principles; git on your own machine; putting a repository online; what belongs in git and what never does; taking your own reanalysis further. After the day

Strand III – Statistical methods

Five modules on the statistical side of the case, from a first linear model read line by line to the specification curve that sits behind the class chart. They are ordered here by what they assume rather than by when to read them, so the methods module needs little beyond what the R module gives you, while One claim, two levels expects you to be comfortable with models that have more than one level. The participant reading for Part 4, reading a specification curve, belongs with this strand without being a module of its own, and it is short enough to take in one sitting.

Module Level What it covers When to read it
The statistical methods behind the workshop Foundation to advanced Every model fitted on the case’s own data, output by output: a first linear model read line by line; pooled OLS and cluster-robust errors; two-way fixed effects; random effects and within–between; person-level multilevel models; survey weights and WeMix; Bayesian estimation with brms; ordered beta regression; meta-analysis and effect sizes on one axis. Either side of the day
Draw the arrows you believe Intermediate What a causal graph is and what drawing one commits you to; confounders, mediators and colliders, each fitted rather than only described; building graphs from R formulas with dagify(); the EU-frames graph, whose adjustment set turns out to be exactly what two-way fixed effects absorb; what fixed effects cannot fix; stating an estimand for your own research and drawing its graph. Either side of the day
The multiverse: origins, uses, and critics Intermediate Where multiverse thinking came from; the three purposes a multiverse can serve and why they pull apart; the 2025–26 critical debate (Auspurg; Rohrer, Hullman and Gelman; Lakens and colleagues) read against this workshop’s own grid; how to read a curve without over-reading it. After the day
Simulation as a method Intermediate Data with a known recipe: a simulated person-level twin built to carry the original analysis, every framing dimension with its own response; parameter recovery and the sampling distribution of a level-2 estimate; composition against context; recovering individual effects; weights that actually matter; the degrees-of-freedom story run live; a null multiverse; a lineup; design precision by simulation. After the day
One claim, two levels Advanced The same claim fitted where its author fitted it, on a synthetic person-level dataset validated coefficient by coefficient against the real respondents: individual circumstance against national context, why a large individual effect can explain almost none of an aggregate association, what declaring a level does to the evidence, and what a synthetic dataset should not be asked to do. After the day

Start here if you are new

If you are new to all of this and want a route through, take the modules in this order:

  1. Before the day: Getting started with R. Arrive able to read a data frame, a pipe and a model formula, so the hands-on tasks are about the ideas rather than the syntax.
  2. Before the day: Quarto and reproducible documents. The report you fill in on the day is a Quarto document, and rendering it is how your preregistration block gets a timestamp. Reading this module beforehand means that the file in front of you on the day is one you already understand. On the browser-lab route there is nothing of your own to render, so the module can equally wait until afterwards, when you do have something to write up.
  3. Either side of the day: The statistical methods behind the workshop. The first five sections, aggregation through the estimator tour, make good preparation. The multilevel, weighting, Bayesian and effect-size sections land better once you have seen the class multiverse, so they reward a second read afterwards.
  4. Either side of the day: Draw the arrows you believe. The workshop introduces causal graphs in about thirty minutes and asks you to finish one in Task 2. Reading this beforehand turns that task into a decision you already know how to make; reading it afterwards is the more thorough option, because the models it fits are the ones you will have just seen scatter across the class chart.
  5. After the day: The multiverse module, then Simulation as a method. The first gives the ideas behind what you just did, and the arguments now running against them. The second gives you a person-level dataset whose recipe is known in advance, on which you can test what your models actually recover.
  6. After the day: One claim, two levels. Optional and self-contained. The workshop works at the country-year level throughout; this fits the same claim at the individual level, where the composition-against-context question can actually be answered rather than only posed.
  7. After the day: Reproducibility repositories and Git and GitHub. Once you have a report of your own, these two turn it into something you can archive, version and share – the natural next steps beyond the workshop’s own scope.

Read as much or as little as suits you. On the one-day track the workshop stands on its own and the curriculum is there for when you want more; on the longer tracks it is most of the course.