- Introduction
- Client/Server Programming, RPC, REST
- Replication
- Replicated state machine, primary/backup, quorum replication
- Consensus and Failure Detection
- Distributed Transactions
- Decentralized Group Membership
- Reliable and Ordered Multicast
- Scalability issues and the concept of gossip
- Peer-to-Peer Systems
- Distributed Storage Systems (and Distributed File Systems)
- Basics of Byzantine Fault Tolerance (including distributed aspects of blockchains)
- Cloud Based Analytics Systems
- Publish/Subscribe Systems
- Checkpoint/Restart
The order of topics 12-14 is subject to change and is time dependent.