CS 348: Course schedule

Schedule subject to change.

# Day Topics Assignment due
1 M Jan 4 Course overview  
2 W Jan 6 Intro to Java multithreading Intro assignment (due Tues night)
3 F Jan 8 Fork-join parallelism Java multithreading lab (1/5/16 update, now due Fri night)
4 M Jan 11 Analyzing fork-join parallelism ForkJoin lab
5 W Jan 13 Parallel prefix Amdahl's Law
6 F Jan 15 Parallel pack Census: versions 1 and 2
7 M Jan 18 Concurrency, STM Census: version 3
8 W Jan 20 Mutual exclusion, locks Census: version 4
9 F Jan 22 Deadlocks, race conditions Census: version 5 and writeup
10 M Jan 25 Read/write locks, condition variables STM part 1a: coarse hash
11 W Jan 27 Parallel quicksort STM part 1b: fine hash
12 F Jan 29 Synchronizing shared data structures STM: lazy buffering w/ debugging output
13 M Feb 1 Parallel architectures STM: implemented with commit, perhaps buggy
14 W Feb 3 Midterm Exam  
15 F Feb 5 Shared memory  
  M Feb 8 BREAK  
16 W Feb 10 Distributed system models STM: commit working
17 F Feb 12 Interprocess communication STM: STM hash, experiments and writeup
18 M Feb 15 Message passing Web server: knock-knock client working
19 W Feb 17 Message-passing algorithms Web server: simplistic single-threaded version working
20 F Feb 19 Distributed synchronization End-to-end arguments paper review
21 M Feb 22 Consistency, replication Web server: multithreaded version working
22 W Feb 24 Cluster computing, MapReduce Web server: details of HTTP included, project complete
23 F Feb 26 Distributed storage  
24 M Feb 29 Wide-area computing Hadoop intro lab
25 W Mar 2 Peer-to-peer systems Hadoop: inverted index
26 F Mar 4 Dave out of town (video?)  
27 M Mar 7 Distributed hash tables Hadoop summary table: demonstrated progress
28 W Mar 9 Additional topics Hadoop summary table: submitted
EW   Final Exam