How it works
Read a short section, check that you understood it, practise in your browser, then prove it in a graded lab.
Reading-first chapters
Chapters are made of short sections written for the page: worked derivations, code you can run, and notes in the margin where a definition or a caution belongs.
You go at your own pace, and you can return to any section whenever you need it.
Fitting a line
We want the line that sits closest to the data. Measure each miss vertically, square it, and add the squares up. The line with the smallest total is the least-squares fit.
Squaring makes every miss count, and big misses count most.
Which line does least squares choose?
- The line through the first and last points
- The line with the smallest sum of squared misses Correct
- The line with the most points exactly on it
In [3]:
X = np.c_[np.ones(len(x)), x] w, *_ = np.linalg.lstsq(X, y) print(w.round(2)) # runs on a CPU
[1.98 0.51]
Lab 1 · Passed
A check after every section
Each section ends with a few questions. They’re there so you know you’ve understood before you move on.
A model scores 99% on its training data and 70% on new data. What is the most likely problem?
- Underfitting Try again
- Overfitting
- Too little training data to load
A high training score rules out underfitting. The gap between training and new data is the sign to look for.
Exercises in your browser
Short exercises run in the page as you read, so you practise each idea straight away, with nothing to install.
Return the mean of each column of X.
def column_means(X):
return X.mean(axis=0)
column_means(np.eye(2))array([0.5, 0.5])Correct
Graded labs on your own lab machine
Every learner gets a private cloud lab machine with a notebook and a terminal. Each subject has graded labs that apply its chapters to a real or synthetic dataset. Labs are designed for a CPU, so you need no GPU.
import numpy as np
data = np.loadtxt("data/train.csv", delimiter=",")x, y = data[:, 0], data[:, 1] x.shape
(200,)
def fit(x, y):
Fit the line, then submit.
- Write fit()
- Plot the residuals
- Answer the report questions
learner@lab:~$ ls data test.csv train.csv learner@lab:~$
How grading works
Labs are graded automatically by tests you don’t see, so passing means your code really works.
The capstone is graded in five milestones, ending in a report, a runnable demo and a viva.
Credits and time
1 credit = 30 hours of learner effort.
| Semester | Credits | Hours |
|---|---|---|
| Semester 0: Bridge | – | 45 h |
| Semester 1: Foundations | 14 | 420 h |
| Semester 2: Deep learning core | 12 | 360 h |
| Semester 3: Domain track | 8 | 240 h |
| Semester 4: Domain track and capstone | 16 | 480 h |
At 10 hours a week, a 4-credit subject takes about 12 weeks. Go faster or slower as your time allows.
What we don’t do
We leave these out on purpose. The time goes into the writing, the checks and the labs.