An undergraduate introduction to the core ideas of machine learning — from linear models to neural networks — with a strong emphasis on honest evaluation, generalisation, and knowing when a model should not be trusted.
Curriculum
Overview
A first course in machine learning for computer-science undergraduates. The throughline is not just how to fit a model, but how to know whether it is any good — and what its failure looks like before it reaches the real world.
Learning outcomes
- Implement and train linear models and small neural networks from scratch.
- Diagnose overfitting and apply appropriate validation and regularisation.
- Reason about generalisation, evaluation metrics, and dataset bias.
- Communicate a model’s limitations as clearly as its accuracy.
Assessment
| Component | Weight |
|---|---|
| Weekly labs | 20% |
| Mid-term project | 30% |
| Final examination | 50% |
Prerequisites
Introductory programming and basic linear algebra and probability.
Lecture slides
- 01 What is learning? Tasks, data, and evaluation Download PDF ↓
- 02 Linear regression & gradient descent Slides coming soon
- 03 Classification & logistic regression Slides coming soon
- 04 Overfitting, regularisation & validation Slides coming soon
- 05 Trees, forests & ensembles Slides coming soon
- 06 Neural networks & backpropagation Slides coming soon
- 07 Representation learning & embeddings Slides coming soon
- 08 Fairness, bias & the limits of models Slides coming soon