Teaching
Distributed Systems — Hilary Term 2024
Role: Graduate Teaching Assistant
Course: Distributed Systems (MSc Computer Science)
Term: Spring Term 2024
Format: Eight weekly tutorials (groups of 4–6 students)
Topics covered
- Time and ordering — logical clocks, vector clocks, causality
- Replication — primary-backup, chain replication, quorum systems
- Consensus — Paxos, Raft, and the FLP impossibility result
- Fault models — crash-stop, crash-recovery, Byzantine failures
- Consistency models — linearisability, sequential consistency, eventual consistency
- Distributed transactions — two-phase commit, saga pattern
- Scalability — sharding, consistent hashing, load balancing
- Real systems — case studies from DynamoDB, Spanner, and Kafka
Materials
Problem sheets and reading lists are distributed via the department’s course page. I am happy to share my tutorial preparation notes on request.