flowchart LR
subgraph L1["Level 1 · R foundations"]
M1["1 · Getting started"] --> M2["2 · Working with data"]
M1 --> M3["3 · Programming"]
M2 --> M4["4 · Data in and out"]
end
subgraph L2["Level 2 · Describe & explore"]
M5["5 · Descriptive statistics"] --> M6["6 · Visualisation"]
end
subgraph L3["Level 3 · Uncertainty & inference"]
M7["7 · Probability & simulation"] --> M8["8 · Statistical inference"]
end
subgraph L4["Level 4 · Models & learning"]
M9["9 · Regression models"] --> M10["10 · Supervised learning"]
M11["11 · Dimensionality reduction"] --> M12["12 · Clustering"]
M10 -.-> M13["13 · Deep learning (optional)"]
end
M4 --> M5
M6 --> M7
M8 --> M9
M6 --> M11
M3 -.-> M7
M10 --> CAP(["Capstone project"])
M12 --> CAP
Learning path
How the course is organised, and what to study before what
The four levels of the course, the dependencies between modules and the full list of lessons with estimated study times.
The course grows in four levels. Each level uses the tools of the previous ones, and each lesson lists its own prerequisites at the top. The total self-study time is roughly 85 hours (excluding the capstone), which matches a university module of up to 9 ECTS.
The map
What each level gives you
| Level | You will be able to… | Key statistical ideas |
|---|---|---|
| 1 · R foundations | write R code, organise a project, import, clean, reshape and summarise data | types of variables, units and observations, tidy data, missing-data mechanisms |
| 2 · Describe & explore | describe a dataset with tables, numbers and graphics, and spot patterns | distributions, location and spread, robustness, association vs causation |
| 3 · Uncertainty & inference | quantify uncertainty and test hypotheses, and explain results correctly | probability, sampling variability, standard error, CLT, bootstrap, CIs, p-values, power, effect sizes |
| 4 · Models & learning | fit, check, compare and interpret statistical and machine-learning models | conditional means, GLMs, overfitting, cross-validation, regularisation, latent structure, clustering |
All lessons
1. Getting started (Level 1)
| # | Lesson | Time |
|---|---|---|
| 01 | What is R? | ~40 min |
| 02 | First steps in R | ~50 min |
| 03 | Data types and operators | ~60 min |
| 04 | Vectors | ~60 min |
| 05 | Matrices | ~50 min |
| 06 | Factors and types of variables | ~60 min |
| 07 | Lists | ~50 min |
2. Working with data (Level 1)
| # | Lesson | Time |
|---|---|---|
| 08 | Data frames and tibbles | ~60 min |
| 09 | Data manipulation with dplyr | ~75 min |
| 10 | Grouped summaries | ~60 min |
| 11 | Joining tables | ~60 min |
| 12 | Tidy data and reshaping | ~60 min |
| 13 | Strings, factors and dates | ~75 min |
3. Programming (Level 1)
| # | Lesson | Time |
|---|---|---|
| 14 | Writing functions | ~60 min |
| 15 | Conditionals: if, else and friends | ~45 min |
| 16 | Loops: for, while and repeat | ~60 min |
| 17 | Iteration with apply and purrr | ~60 min |
4. Data in and out (Level 1)
| # | Lesson | Time |
|---|---|---|
| 18 | Importing data | ~60 min |
| 19 | Exporting data and results | ~40 min |
| 20 | Missing data | ~75 min |
5. Descriptive statistics (Level 2)
| # | Lesson | Time |
|---|---|---|
| 21 | Frequency tables | ~60 min |
| 22 | Summary statistics | ~75 min |
| 23 | Describing two variables | ~75 min |
6. Visualisation (Level 2)
| # | Lesson | Time |
|---|---|---|
| 24 | The grammar of graphics | ~75 min |
| 25 | Plotting distributions | ~75 min |
| 26 | Plotting categorical data | ~60 min |
| 27 | Correlation | ~75 min |
7. Probability & simulation (Level 3)
| # | Lesson | Time |
|---|---|---|
| 28 | Randomness and simulation | ~75 min |
| 29 | Probability distributions | ~80 min |
| 30 | Sampling distributions | ~80 min |
| 31 | The bootstrap | ~75 min |
8. Statistical inference (Level 3)
| # | Lesson | Time |
|---|---|---|
| 32 | Confidence intervals | ~70 min |
| 33 | The logic of hypothesis testing | ~90 min |
| 34 | t-tests: comparing means | ~75 min |
| 35 | Proportions and chi-square tests | ~80 min |
| 36 | Non-parametric tests | ~70 min |
| 37 | Analysis of variance (ANOVA) | ~90 min |
9. Regression models (Level 4)
| # | Lesson | Time |
|---|---|---|
| 38 | Simple linear regression | ~90 min |
| 39 | Multiple regression | ~100 min |
| 40 | Model selection and validation | ~90 min |
| 41 | Logistic regression | ~120 min |
| 42 | Poisson regression | ~100 min |
| 43 | Penalized regression: ridge, lasso and elastic net | ~120 min |
10. Supervised learning (Level 4)
| # | Lesson | Time |
|---|---|---|
| 44 | The machine-learning workflow | ~120 min |
| 45 | Decision trees | ~90 min |
| 46 | Random forests | ~90 min |
| 47 | Gradient boosting | ~100 min |
| 48 | Support vector machines | ~100 min |
| 49 | Comparing and choosing models | ~90 min |
11. Dimensionality reduction (Level 4)
| # | Lesson | Time |
|---|---|---|
| 50 | Principal component analysis | ~90 min |
| 51 | Factor analysis | ~100 min |
| 52 | Correspondence analysis | ~80 min |
| 53 | Multidimensional scaling | ~75 min |
| 54 | t-SNE and UMAP | ~90 min |
12. Clustering (Level 4)
| # | Lesson | Time |
|---|---|---|
| 55 | Clustering: the big picture | ~70 min |
| 56 | k-means clustering | ~90 min |
| 57 | Hierarchical clustering | ~80 min |
| 58 | DBSCAN: density-based clustering | ~80 min |
| 59 | Model-based clustering: Gaussian mixtures | ~90 min |
| 60 | Spectral clustering | ~90 min |
13. Deep learning (Optional)
| # | Lesson | Time |
|---|---|---|
| 61 | Deep learning: ideas and set-up | ~60 min |
| 62 | Deep neural networks for tabular data | ~90 min |
| 63 | Autoencoders | ~75 min |
| 64 | Recurrent networks and LSTM for time series | ~90 min |
| 65 | GRU networks for text classification | ~90 min |
| 66 | Convolutional neural networks for images | ~90 min |
Capstone
| # | Lesson | Time |
|---|---|---|
| 67 | Capstone project | project |