Eight sessions in which teams build AI agents to work with rail freight data.
Class dates: Thursdays, 3 Sep – 15 Dec 2026. Eight Thursday evenings: 90 minutes of lecture, then 90 minutes of lab. Each lab is due before the next session starts.
8 — sessions — 90 min lecture plus 90 min lab
16 + 16 — hours of lectures and hands-on labs
2–3 — people per team on the final project
Defence — live demo and code review at the end
The course rests on a single observation: a business only ever has two recurring tasks. Understand what is happening now — a request in plain words becomes a row in a system, a solver's answer becomes an explanation a person can act on — and predict the future: what demand will be, when freight will arrive, and how soon a railcar will fail. The tasks have not changed in decades; only the tools have.
In the course, we will learn to solve both tasks and bring them together in a single system.
What you build over the term
Every lab adds a layer to the same repository.
your own MCP server, and a client that talks to it
a machine-learning model wired in as a tool the agent can call
an optimisation solver wired in the same way
handling of messy input data whose structure keeps changing
long jobs running in the background, with the result delivered to Telegram
tracing, quality evaluation and guardrails around the whole thing
Session plan
Sep 3
Lecture: A history of AI: from symbolic systems to generative models
Lab: Your first LLM call, and structured output
Sep 17
Lecture: From chatbot to agent: the agentic paradigm
Lab: A basic tool-calling agent
Oct 1
Lecture: Agent architecture, part 1: reasoning and memory
Lab: An MCP server and an MCP client
Project proposal
Oct 15
Lecture: Agent architecture, part 2: tools and orchestration
Lab: Unstable data as a source for an agent
Oct 29
Lecture: The Model Context Protocol (MCP)
Lab: The agent and a machine-learning tool
Mid-term hand-in
Nov 12
Lecture: AI agents, machine learning and mathematical optimisation
Lab: The agent and an optimisation tool
Nov 26
Lecture: Engineering agentic products
Lab: Background jobs and delivery to a channel
Pre-defence
Dec 10
Lecture: Anatomy of a production AI agent
Lab: Evaluation, guardrails and a code review of the project
Defence
Final project
Built by a team of two or three. The topic is set by two independent axes: what the system computes, and how people talk to it.
Axis 1 — the computing core
working with data of unstable structure
machine-learning forecasting
mathematical optimisation
Axis 2 — the mode of interaction
synchronous dialogue
background execution with a notification
delivery to an external channel
Each team independently chooses which topics from each axis to emphasise.
Checkpoints
Project proposal — Session 3 · Oct 1: the team, the chosen pair of axes, the domain, and what counts as a result
Mid-term hand-in — Session 5 · Oct 29: a working skeleton: the agent plus at least one tool of your own
Pre-defence — Session 7 · Nov 26: the full end-to-end scenario, the known problems, and the plan to fix them
Defence — Session 8 · Dec 10: a live demo and a code review of the implementation
Course materials
The syllabus, the lab notebooks and the lecture slides all live in the course repository.