TopA more detailed schedule will be available in the Lesson Plan.
Week 1: Lecture 1 - Introduction
Week 2: Lecture 2 - Synchronization. Fairness.
Week 3: Lecture 3 - Concurrent and Parallel Programming Platforms: Java, MPI, and SPIN.
(Assignment 1: Simulation by coroutines)
Week 4: Lecture 4 - The Critical Section Problem
Week 5: Lecture 5 - Fair Solutions to the CS problem
Week 6: Lecture 6 - Semaphores
(Assignment 2: SPIN/Promela)
Week 7: Lecture 7 - Monitors
Week 8: Lecture 8 - Semaphore and Monitor Programming Techniques
Week 9: Lecture 9 - Java 6.0 Advanced Concurrency Primitives (30 min MCQ: March 19th).
Week 10: Lecture 10 - Implementation of Concurrency Primitives
(Assignment 3: concurrent programming in Java)
Week 11: Lecture 11 - Message Passing.
Week 12: Mid-term test (April 9th)
Week 13: Lecture 12 - Revision