Topics:
- Introduction to concurrent programs
- Sequential Programming
- Multithreaded Programming
- Concurrency and Synchronization
- Proving correctness of concurrent programs
- Shared memory concurrent programs
- Semaphores
- Conditional Critical Regions
- Monitors
- Message passing concurrent programs
- Asynchronous Communication
- Synchronous Communication
- Distributed Shared Memory
- Concurrency Control
- Replication in Distributed Systems
- Selected topics on Distributed Algorithms