Day 1

Foundations: From Counts to Attention

How do we turn text into something a model can learn from?

Day 1 starts from counting words and ends at attention. Each module fixes a specific weakness of the one before it, and the same small datasets run through all four labs so you can measure the improvement.

Before Day 1: Module 0 · Coding Agents in the Terminal, optional pre-work. On your own laptop, you install a terminal coding agent, build two small data apps with it in Python or R, and publish them on GitHub Pages. If you get stuck, bring your laptop to the optional drop-in clinic from 08:00 to 09:00, before the 09:00 welcome. Nothing later in the workshop depends on it.

The welcome slot opens the day with the intro slides: the setup check and the week ahead.

08:00–09:00

Module 0 · pre-work, optional clinic

Coding Agents in the Terminal

Install a terminal coding agent and use it to build, check and publish two small data apps in Python or R, each with a three.js page. Pre-work, on your own laptop before Day 1.

Open the briefing No notebook: runs in your terminal Claude Code Codex Gemini CLI git GitHub CLI Python or R three.js

09:10–10:45

Module 1

Text as Data

Tokenization, n-gram language models, TF-IDF and linear classifiers: the count-based baseline everything else is measured against.

Open the briefing Open in Colab NumPy scikit-learn

11:00–12:35

Module 2

Word Vectors and Neural Networks

From one-hot vectors to learned embeddings, with a PyTorch refresher and the first neural language model.

13:35–15:10

Module 3

Sequence Models

RNNs, LSTMs and neural language modeling, and why gradients vanish over long sequences.

15:25–17:00

Module 4

Seq2seq and Attention

Encoder-decoder models, the fixed-vector bottleneck, and attention as the fix.

Run Sheet

09:10–10:45 · Module 1 · Text as Data
09:10 briefing · 09:55 lab

  • In the room: the live plan, 37 minutes of exposition and 8 of checks, demos and predictions.
  • Lab: open in Colab, a checkpoint after each exercise; about 2 minutes of compute (Google Colab, CPU runtime, planned).
  • When something goes wrong: stuck on exercise N, run its folded Solution cell, then workshop.use_reference(N), and go on. Without keys, the lab always runs its real models.

11:00–12:35 · Module 2 · Word Vectors and Neural Networks
11:00 briefing · 11:45 lab

  • In the room: the live plan, 37 minutes of exposition and 8 of checks, demos and predictions.
  • Lab: open in Colab, a checkpoint after each exercise; about 10 minutes of compute (Google Colab, free T4 GPU, planned).
  • When something goes wrong: stuck on exercise N, run its folded Solution cell, then workshop.use_reference(N), and go on. Without keys, the lab always runs its real models.

13:35–15:10 · Module 3 · Sequence Models
13:35 briefing · 14:20 lab

  • In the room: the live plan, 37 minutes of exposition and 8 of checks, demos and predictions.
  • Lab: open in Colab, a checkpoint after each exercise; about 10 minutes of compute (Google Colab, free T4 GPU, planned).
  • When something goes wrong: stuck on exercise N, run its folded Solution cell, then workshop.use_reference(N), and go on. Without keys, the lab always runs its real models.

15:25–17:00 · Module 4 · Seq2seq and Attention
15:25 briefing · 16:10 lab

  • In the room: the live plan, 37 minutes of exposition and 8 of checks, demos and predictions.
  • Lab: open in Colab, a checkpoint after each exercise; about 10 minutes of compute (Google Colab, free T4 GPU, planned).
  • When something goes wrong: stuck on exercise N, run its folded Solution cell, then workshop.use_reference(N), and go on. Without keys, the lab always runs its real models.

Compute times are planning estimates, not measurements on the teaching runtime; the readiness page has what has been run, where.

Times are on the schedule.