MPPR 2026

Pre-course preparation

Before 10 September, install the required tools and complete the shortlisted pre-examination (modelling questions and practical R exercises). Day 1 assumes comfort with R basics; we still run a crash course on site.

What to read before you arrive

Part I covers SIR/SEIR/SEIRV and R₀; Part II moves into calibration, scenarios, and health economics. Downloadable reading packs and slides live on the Resources page.

  • Core text

    Infectious disease modelling foundations (SIR / SEIR)

    Compartmental models, R₀, and control measures — aligned with Days 2–3 of the timetable.

    Available on Resources

  • Supplementary

    Reproducible scientific computing with R & git

    Version control and reproducible workflows used throughout the workshop.

    See Git setup steps below

  • Methodology primer

    Simulation and extending SIR models

    Simulation in R and metapopulation / risk-group extensions (Day 3).

    Available on Resources

Software requirements

Install these before arrival so you can follow R labs (deSolve, git/GitHub) from Day 1 without setup delays. Prefer the setup packet on Resources — it configures Git for HTTPS so you avoid SSH keys and repeated one-time passwords.

Required

R Core

Statistical computing foundation for all labs.

Version 4.3.1+
Required

RStudio IDE

Posit Desktop for editing scripts and running labs.

2023.06.2+
Required

Git + GitHub

Version control for modelling projects. Use HTTPS + PAT (not SSH).

Latest stable

Git setup (HTTPS — no SSH keys)

Most GitHub login pain comes from SSH keys, expired passwords, or SMS/OTP challenges. For MPPR we standardise on HTTPS clones and a Personal Access Token (PAT) stored by your OS credential helper.

Golden rule

Always clone with https://github.com/…. When Git asks for a password, paste a PAT — never your GitHub account password, and do not create SSH keys for class repos unless you already manage them confidently.

  1. Create a GitHub account

    Sign up at github.com with an email you can access during the course.

  2. Install Git (or run the setup packet)

    Download the prep packet from Resources and run the OS script, or install Git from git-scm.com. On Windows, keep Git Credential Manager enabled.

  3. Set your name and email

    git config --global user.name "Your Full Name"
    git config --global user.email "you@example.com"

    Use the same email as your GitHub account when possible.

  4. Prefer HTTPS over SSH

    The setup script does this for you. Manually:

    git config --global url."https://github.com/".insteadOf git@github.com:
    git config --global url."https://github.com/".insteadOf ssh://git@github.com/

    This rewrites accidental SSH remotes to HTTPS.

  5. Create a Personal Access Token (PAT)

    1. Open github.com/settings/tokens
    2. Generate a classic token
    3. Enable scope repo (enough for class work)
    4. Copy the token immediately — GitHub shows it once

    Optional easier path: install GitHub CLI and run gh auth login → GitHub.com → HTTPS → Login with a web browser.

  6. Clone with HTTPS and store the token once

    git clone https://github.com/OWNER/REPO.git

    Username: your GitHub username
    Password: paste the PAT

    macOS Keychain / Windows Git Credential Manager should remember it so you are not prompted (or SMS’d) on every push.

Skip these during the course

  • Generating SSH keys (ssh-keygen) for class repositories
  • Using git@github.com:… remotes
  • Typing your GitHub account password into Git (GitHub rejects it; use a PAT)
  • Relying on SMS / one-time passwords for every git push — switch to a stored PAT or gh auth login

How to run the setup script

Download mppr-prep-packet.zip from Resources, unzip it, then run the script for your operating system.

macOS / Linux

Open Terminal in the unzipped folder:

chmod +x setup_mppr.sh
./setup_mppr.sh

Windows

Open PowerShell in the unzipped folder:

Set-ExecutionPolicy -Scope Process Bypass
.\setup_mppr.ps1

If Git and R are already installed, you can install packages alone:

Rscript setup_env.R
# or in RStudio:
source("setup_env.R")
verify_installation()