Description: Description: Description: Description: Description: Description: UMD_logo

CMSC 433 Fall 2017

Programming Language Technologies and Paradigms

Course Schedule

 

Below is a list of lecture topics by date, as well as midterm, exam and project-due dates. The schedule 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

Projects Due

READINGS

Tu 08/29

1

Course intro

 

JCIP Ch. 1

Th 08/31

2

Basic concurrency: processes, threads, scheduling

 

JCIP Ch. 1

Tu 09/05

3

Testing concurrent programs

 

JCIP Ch. 11

Th 09/07

4

Thread safety: interference, data races, locks, atomicity

JCIP Ch. 2

Tu 09/12

5

Synchronization: locking protocols, deadlock

JCIP Ch. 2, 10.1

Th 09/14

6

Synchronization: atomicity, visibility

P0 due 09/15

JCIP Ch. 3

Tu 09/19

7

Sharing objects: publication, thread and stack confinement

 

JCIP Ch. 3

Th 09/21

8

Sharing objects: thread locality, mutability vs. immutability

JCIP Ch. 3

Tu 09/26

9

Object composition: thread safety, Java Monitor Pattern

JCIP Ch. 4

Th 09/28

10

Object composition: state dependency, suspension, notification

P1 due 09/29

JCIP Ch. 14.1-14.3

Tu 10/03

11

Concurrent collections: hash maps, array lists, queues

 

JCIP Ch. 5

Th 10/05

12

Synchronizers

JCIP Ch. 5

Tu 10/10

13

Tasks and task execution

JCIP Ch. 6

Th 10/12

14

Review

P2 due 10/13

 

Tu 10/17

15

MIDTERM

 

Th 10/19

16

Thread pools

 

JCIP Ch. 8

Tu 10/24

17

Parallelization of loops, recursion (1)

 

JCIP Ch. 8, 11

Th 10/26

18

Parallelization of loops, recursion (2)

 

JCIP Ch. 8, 11

Tu 10/31

19

Fork-join parallelism

 

Lecture notes

Th 11/02

20

The actor framework for distributed computing

P3 due 11/03

Lecture notes

Tu 11/07

21

Actors and akka in Java

 

Lecture notes

Th 11/09

22

Programming with actors in akka

 

Lecture notes

Tu 11/14

23

Map-Reduce

 

Lecture notes

Th 11/16

24

Hadoop

P4 due 11/17

Lecture notes

Tu 11/21

25

The Java Memory Model (1)

 

JCIP Ch. 16

Th 11/23

 

THANKSGIVING

 

 

Tu 11/28

26

The Java Memory Model (2)

 

JCIP Ch. 16

Th 11/30

27

Non-blocking algorithms: compare-and-swap, atomic classes

 

JCIP Ch. 15

Tu 12/05

28

Non-blocking algorithms: stacks and queues

 

Lecture notes

Th 12/07

29

Review

P5 due 12/08

 

M 12/18

 

FINAL (4 pm – 6 pm)

 

 

 

Web Accessibility