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 |