Distributed systems
Graduate · CS / Programming
Syllabus focus
Standard syllabus · STEM / applied
Pricing
Graduate-level rates are set on consultation. See the pricing page for K–12 and undergraduate rates.
Topics typically covered
Standard syllabus
Models and time
- Failure models: crash, omission, Byzantine (survey)
- Logical clocks: Lamport, vector clocks
- CAP theorem and tradeoffs
- Linearizability vs eventual consistency
- Quorum systems and replication
Core systems
- RPC, serialization, and idempotency
- Distributed hash tables and consistent hashing
- Leader election and consensus (Paxos/Raft intro)
- MapReduce and batch processing frameworks
- Stream processing and event logs (Kafka-style intro)
STEM / applied
Building distributed apps
- Microservices, service discovery, and load balancing
- Distributed transactions and saga patterns (intro)
- Caching layers and cache invalidation
- Observability across services
- Chaos engineering and fault injection (intro)
Case studies
- Google File System / Bigtable / Spanner ideas (survey)
- Amazon Dynamo-style availability design
- Blockchain as a distributed ledger (critical survey)
- Edge and geo-distributed deployment
- Security in zero-trust distributed systems
Notes
Graduate course often includes paper readings and a substantial systems project.