Topics Schedule
Below is a list of lecture topics by class session,
as well as significant milestones throughout the semester.
The lecture list is provisional and subject to change.
In the readings list, "JCIP" refers to the recommended text,
Java Concurrency in Practice.
|
TOPIC
|
READINGS
|
|
Course intro
|
JCIP Chapter 1
|
|
Basic concurrency:
processes, threads, scheduling
|
JCIP Chapter 2
|
|
Thread safety:
interference, data races, locks, atomicity
|
JCIP Chapter 2
|
|
Synchronization: atomicity,
event ordering, Java synchronized
|
JCIP Chapter 2,3
|
|
Synchronization:
volatility, deadlock
|
JCIP Chapter 2,3
|
|
Sharing objects:
publication, thread and stack confinement
|
JCIP Chapter 3
|
|
Sharing objects: thread
locality, mutability vs. immutability
|
JCIP Chapter 4
|
|
MIDTERM #1
(0101 section is on Monday 10/08)
(0201 section is on Tuesday 10/09)
|
|
|
Object
composition: invariants, suspension /
notification
|
JCIP Chapter 5
|
|
Concurrent collections:
hash maps, array lists, queues
|
JCIP Chapter 5
|
|
Synchronizers
|
JCIP Chapter 5
|
|
Thread patterns: autonomous loops, one-way & interactive
messages
|
JCIP Chapter 5
|
|
Tasks and task
execution
|
JCIP Chapter 6
|
|
Tasks and thread
pools
|
JCIP Chapter 8
|
|
Parallelization of
loops, recursion
|
JCIP Chapter 8
|
|
Fork-join parallelism (data parallelism slides from Goetz)
|
JCIP Chapter 13-14
|
|
MIDTERM #2
(0101 section is on Wednesday 11/14)
(0201 section is on Thursday 11/15)
|
|
|
Non-blocking algorithms
|
JCIP Chapter 14
|
|
Remote method invocation
|
JCIP Chapter 8.5, 10, 15
|
|
Map-Reduce
|
|
|
TBD
|
|
|
Review
|
|
|
FINAL EXAM
(0101 section is on Saturday 12/15 at 1:30pm)
(0201 section is on Tuesday 12/18 at 1:30pm)
|
|
|
Menu Options
Announcements
Syllabus
Schedule
Projects
Section 0101 Materials
Section 0201 Materials
Eclipse/CVS
Info
Grades Server
Submit Server
Office Hours
|