Unit 0. Welcome to the course

Runtime lanes

The course has one required execution contract and two optional comparison lanes.

Lane Required Credentials Contract
Offline deterministic Yes No Every scored notebook and test must pass with FakeLLM or a controlled test double.
Hosted model No Usually The model adapter reports tool, schema, timeout and provider behaviour.
Local Ollama No No Run locally or through a Colab local runtime. Hosted Colab's localhost is the temporary VM, not your laptop.

A model change must not change tool permissions, grading rules, trace redaction, retry budgets, or failure behaviour. Set BOOTCAMP_PROVIDER=ollama or BOOTCAMP_PROVIDER=anthropic to switch; leave it unset for the required lane.

Running it in Colab

Every notebook carries an Open in Colab badge at the top. Click it and run the first cell: it fetches the course into the Colab machine and installs it, which takes about twenty seconds. Nothing to install on your own computer, and the required lane works immediately.

Thirteen of the fifteen sessions work there. Two do not, and it is worth knowing which before Monday.

Sessions 1 and 10 are assistant-driven: you configure a coding assistant to read this repository's policy before it edits, then hold it to that boundary while it changes tools.py and its test. Session 10 has you author a skill and compare the runs before and after.

Colab's built-in assistant writes and explains cells. It has no notion of project instructions, cannot read AGENTS.md before acting, and cannot refuse an edit outside the files you allowed — which is the whole exercise. So those two sessions need a workspace where an assistant edits files: Claude Code, Cursor, or another, on your own machine.

If you have no machine to run one on, GitHub Codespaces gives you the same thing in a browser — a real filesystem, a terminal, and an assistant that edits files. Everything else in the course, Colab covers.

If you want a real model without paying for one, Colab can run the same local lane this course ships — qwen2.5:7b-instruct — on a free GPU. Set the runtime to T4 GPU first, then in a cell of your own:

!curl -fsSL https://ollama.com/install.sh | sh
import subprocess, time
subprocess.Popen(["ollama", "serve"])
time.sleep(5)
!ollama pull qwen2.5:7b-instruct
%env BOOTCAMP_PROVIDER=ollama

Then re-run the preflight cell. The pull is about 4.7 GB and Colab throws the machine away when the session ends, so expect to do it again next time — which is the trade for not owning a GPU.

Why localhost works here and not in the other direction. Inside Colab, localhost is that temporary machine, so an Ollama you started in the same notebook is reachable. An Ollama running on your own laptop is not — Colab cannot see your machine. For that, use a Colab local runtime, which points the browser at a Jupyter server you run yourself.