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 





























Web Accessibility