CS 348: Course schedule
This schedule is very rough. It's what I did last time I taught the course (at least for the first half), but I'm intending to shake things up in some notable ways. Think about the exam dates fixed; think about everything else as fairly fluid, but I'll get them nailed down as the term goes on. I'm providing them here so you can set a sense of what the class will look like, but I'll be shuffling a lot of it around.
| # | Day | Topics | Assignment due |
|---|---|---|---|
| 1 | M Sep 10 | Course overview | |
| 2 | W Sep 12 | Intro to Java multithreading | Intro assignment |
| 3 | F Sep 14 | Fork-join parallelism | Java multithreading |
| 4 | M Sep 17 | More fork-join; Analyzing parallelism | |
| 5 | W Sep 19 | Analyzing parallelism | ForkJoin |
| 6 | F Sep 21 | Parallel prefix | Speedup analysis |
| 7 | M Sep 24 | Parallel pack; quicksort; mergesort | |
| 8 | W Sep 26 | Locking, synchronization | Census version 1 |
| 9 | F Sep 28 | Deadlocks, race conditions | Census version 2 |
| 10 | M Oct 1 | Exam 1 | |
| 11 | W Oct 3 | Deadlocks, race conditions | Census: version 3 |
| 12 | F Oct 5 | Read/write locks, condition variables | Census: version 4 |
| 13 | M Oct 8 | Read/write locks, condition variables | Census: version 5 and writeup |
| 14 | W Oct 10 | Locking algorithms | STM 1 |
| 15 | F Oct 12 | Locking algorithms | STM 2 |
| M Oct 15 | BREAK | ||
| 16 | W Oct 17 | Parallel linked lists | STM 3 |
| 17 | F Oct 19 | Parallel linked lists | STM 4 |
| 18 | M Oct 22 | Streams, Reactive programming | STM 5 |
| 19 | W Oct 24 | Exam 2 | |
| 20 | F Oct 26 | Distributed systems: MPI lab | |
| 21 | M Oct 29 | Distributed replication strategies | |
| 22 | W Oct 31 | 2 phase commit; remote communications | MPI exercises 1 and 2 |
| 23 | F Nov 2 | Remote communications | MPI k-means |
| 24 | M Nov 5 | ||
| 25 | W Nov 7 | … | |
| 26 | F Nov 9 | Cluster computing, MapReduce | |
| 27 | M Nov 12 | ||
| 28 | W Nov 14 | Additional topics | |
| EW | Exam 3 |