Home Lectures Assignments Links Announcements
| Week | Lecture | Date | Topic | Reading | Homeworks etc. |
|---|---|---|---|---|---|
| 1 | 1 | 01/27 | Introduction to multithreaded, parallel and distributed systems; Atomic action | Chap. 1.1-1.4, 1.9, 2.1 | Threads examples: 1 , 2 , 3 |
| 2 | 01/29 | ||||
| 2 | 3 | 02/03 | Program state & program history; Safety and liveness properties | Chap. 2.2-2.5 | 02/02 (Mon): Last Day to Add, Drop, or Audit |
| 4 | 02/05 | ||||
| 3 | 5 | 02/10 | The at-most-once property; The await statement |
Chap. 2.2-2.5 | Further reading: JML,
Proving Program Correctness 02/10: Homework #1 ??? |
| 6 | 02/12 | ||||
| 4 | 7 | 02/17 | Follow Monday's schedule: No Class | Chap. 2.8, 3.1-3.2 | 02/17: Homework #1 Due ??? |
| 8 | 02/19 | Scheduling policies and fairness; the critical section problem | |||
| 5 | -- | 02/24 | The critical section problem, coarse-grained solution vs. fine-grained solution; Spin lock solution | Chap. 3.2-3.3 |
|
| 9 | 02/26 | ||||
| 6 | 10 | 03/03 | Fine-grained solutiuons to the CS problem; Fair solutions (Tie-breaker algorithm, Ticket algorithm) | Academic Calendar | 03/03: Last day to file Pass/Fail |
| 11 | 03/05 | Barrier synchronization; Data parallel algorithm | Chap. 3.4, 3.5.1 | ||
| 7 | 12 | 03/10 | Review for midterm exam (Chap. 1-3) | ||
| -- | 03/12 | Midterm exam (in class) |
|||
| 8 | -- | 03/16 | Spring Vacation | 03/13: Spring recess begins (after last class or lab) | |
| 9 | 13 | 03/24 | Midterm exam questions; Semaphores and examples; Udding's starvation-free algorithm; Semaphore; Java Semaphore class |
Chap. 4.1 | Semaphore in Java, POSIX |
| 14 | 03/26 | ||||
| 10 | 15 | 03/31 | Split binary semaphore; Bounded buffer example; Readers/Writers problem; Passing the baton technique |
Chap. 4.2-4.5 | Example: Reader/Writer Problem 04/02: Homework #3 (???) |
| 16 | 04/02 | ||||
| 11 | 17 | 04/07 | Concept of monitors and examples; SW and SC semantics; Semaphore vs. monitor | Chap. 5.1 | 04/06: Registration for Fall 2026 begins |
| 18 | 04/09 | ||||
| 12 | 19 | 04/14 | More monitor examples, Priority wait, Java synchronized methods |
Chap. 5.2, 7.1-7.2 | 04/07: Registration for Fall 2025 begins |
| 20 | 04/16 | Distributed programming; Asynchronous message passing vs. synchronous message passing | |||
| 13 | 21 | 04/21 | Convert a monitor into a server process; CSP programming notations | Chap. 7.3, 7.5, 7.6 | 04/23: Homework #4 Due (???) |
| 22 | 04/23 | ||||
| 14 | 23 | 04/28 | CSP programming notations; CSP examples |
Chap. 7.6, 7.7; Chap. 8.1-8.2, 8.5; Handout | 04/28: Homework #5 (???) |
| 24 | 04/30 | Linda and tuple space; Remote procedure call (RPC) and Java RMI | |||
| 15 & 16 | 25 | 05/05 | Review for final exam (comprehensive); Discussions on Homework #3 and #4 | Single Lane Bridge Demo |
|
| -- | 05/12 | Final exam*: Tuesday, May 12, 8:00am - 11:00am, DION 116 | 05/06: Study Day |
*Please refer to final exam
schedule at: http://www.umassd.edu/registrar/finalexams/