|
|
CMSC 433-0101 Programming Language Technologies and Paradigms Spring 2014 |
Course
Schedule
Below is a list of lecture topics by date, as well as midterm and exam dates. The lecture list is provisional and subject to change. In the readings list, “JCIP” refers to the recommended text, Java Concurrency in Practice. Materials for each lecture, including slides and source code are also available.
|
DATE |
TOPIC |
READINGS |
|
M 01/27 |
Course intro |
JCIP Chapter 1 |
|
W 01/29 |
Basic concurrency: processes, threads, scheduling |
JCIP Chapter 1 |
|
M 02/03 |
Testing concurrent programs |
JCIP Chapter 11 |
|
W 02/05 |
Thread safety: interference, data races, locks, atomicity |
JCIP Chapter 2 |
|
M 02/10 |
Synchronization: locking protocols, deadlock |
JCIP Chapter 2, 10.1 |
|
W 02/12 |
Synchronization: atomicity, visibility |
JCIP Chapter 3 |
|
M 02/17 |
The Java Memory Model (1) |
JCIP 16 |
|
W 02/19 |
The Java Memory Model (2) |
JCIP 16 |
|
M 02/24 |
Sharing objects: publication, thread and stack confinement |
JCIP Chapter 3 |
|
W 02/26 |
Sharing objects:
thread locality, mutability vs. immutability |
JCIP Chapter 3 |
|
M 03/03 |
Object composition: thread safety, Java Monitor Pattern |
JCIP Chapter 4 |
|
W 03/05 |
Object composition:
state dependency, suspension, notification |
JCIP Chapter 14.1-14.3 |
|
M 03/10 |
Review |
|
|
W 03/12 |
MIDTERM |
|
|
M 03/17 |
SPRING BREAK |
|
|
W 03/19 |
SPRING BREAK |
|
|
M 03/24 |
Concurrent collections:
hash maps, array lists, queues |
JCIP Chapter 5 |
|
W 03/26 |
Synchronizers |
JCIP Chapter 5 |
|
M 03/31 |
Tasks and task
execution |
JCIP Chapter 6 |
|
W 04/02 |
Thread pools |
JCIP Chapter 8 |
|
M 04/07 |
Parallelization of loops, recursion (1) |
JCIP Chapter 8, 11 |
|
W 04/09 |
Parallelization of loops, recursion (2) |
JCIP Chapter 8, 11 |
|
M 04/14 |
Fork-join parallelism |
Lecture notes |
|
W 04/16 |
Non-blocking algorithms |
JCIP Chapter 15 |
|
M 04/21 |
Remote method invocation (1) |
Lecture notes |
|
W 04/23 |
Remote method invocation (2) |
Lecture notes |
|
M 04/28 |
Map-Reduce (1) |
Lecture notes |
|
W 04/30 |
Map-Reduce (2) |
Lecture notes |
|
M 05/05 |
Static analysis |
Lecture notes |
|
W 05/07 |
Static analysis |
Lecture notes |
|
M 05/12 |
Review |
|
|
Sat. 05/17 |
FINAL (1:30 pm – 3:30 pm) |
|