Distributed Systems lecture series by Martin Kleppmann
A free recording of the eight lecture distributed systems course Martin Kleppmann taught to undergraduates at the University of Cambridge, with lecture notes and exercises. It covers networks and RPC, failure models, clocks and causality, broadcast, replication, quorums and consensus with real rigour. For engineers who want the theory behind consistency and replication, explained clearly by the author of Designing Data-Intensive Applications.
8
University of Cambridge · Sept 2026
Video
System Design
University of Cambridge
8 lectures, about 8 hours
Advanced
Free
What it is
Martin Kleppmann recorded this course for the Cambridge Computer Science Tripos (Part IB), where distributed systems follows a separate concurrent systems course. The YouTube playlist contains the lecture videos, split into short segments, and the course page publishes the full lecture notes as a PDF, released under a Creative Commons licence, along with exercises.
What it covers
- Introduction, networks and RPC: why distributed systems are hard and how remote calls differ from local ones.
- System models and faults: the two generals and Byzantine generals problems, network, node and timing assumptions, and fault tolerance.
- Time: physical clocks, clock synchronisation, causality, the happens before relation, and logical clocks (Lamport and vector clocks).
- Broadcast: reliable, FIFO, causal and total order broadcast.
- Replication: idempotence, quorums, and state machine replication.
- Consensus: Raft, explained step by step.
- Replica consistency: linearisability, eventual consistency and collaborative editing (CRDTs), a research interest of Kleppmann's.
Why it is worth the time
Most freely available distributed systems content is either marketing or interview preparation. This is a real university course with proofs where proofs matter, yet it is taught at undergraduate level, so it is far more approachable than a graduate course. After it, terms like linearisable, causal consistency and quorum stop being vocabulary and become distinctions you can reason with.
How long it takes
The videos total several hours; the course was delivered as eight lectures. With the notes and exercises, budget two to four weeks at a few hours a week. Watching alone takes much less time, but you will remember much less.
How to use it
- Watch with the PDF notes open. The notes include the slides plus explanations and exercises.
- Do the exercises at the end of each section. It is a course, and treating it as a video series produces the usual result of remembering nothing.
- After the Raft section, try the Raft visualisation available online, or attempt the Raft lab from MIT 6.5840 if you want to go further.
- Pause and draw the message diagrams yourself before the answer is shown.
What you need first
Comfort with basic programming and networking concepts (what a request and a response are, what TCP does). No prior distributed systems knowledge is required. Some familiarity with simple proofs helps but is not essential.
Common questions
Is this the same material as Designing Data-Intensive Applications? It overlaps with the book's replication and consistency chapters but is more formal and focused. They complement each other well.
Is there a certificate? No. It is free open course material.
Is it enough for system design interviews? It gives excellent depth on consistency and consensus. Pair it with a practical design course for the interview format.
Best for: engineers who want the theory behind distributed systems, and anyone whose knowledge so far comes only from blog posts.
Ready to start?
Opens on University of Cambridge in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.