0% found this document useful (0 votes)
44 views2 pages

CS511 Syl

Uploaded by

shadewing2024
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views2 pages

CS511 Syl

Uploaded by

shadewing2024
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

CS 511 Concurrent Programming Syllabus

The syllabus below describes a recent offering of the course, but it may not be completely up to
date. For current details about this course, please contact the course coordinator. Course coordinators
are listed on the course listing for undergraduate courses and graduate courses.

Text Books
Required
, , Instructor's notes drawn from several sources cited below.
Recommended
B. Nichols, D. Butler, and J.P. Farrell, Pthreads Programming, 1996
A. Williams, C++ Concurrency in Action, 2012
C. Horstmann, Core Java, Volume 1, 9th ed., 2012
P. Butcher, Seven Concurrency Models in Seven Weeks, 2014
F. Hebert, Learn You Some Erlang for Great Good, 2013
M. Ben-Ari, Principles of the Spin Model Checker, 2008

Week-by-Week Schedule

Week Topics Covered Reading Assignments


1 How concurrency arises on a single computer; Notes
Processes and threads on UNIX; Mechanisms
and needs for communication and co-ordination
across concurrent processes.
2 Synchronous and Asynchronous events; Signals Notes Assignment 1: multi-process program
on UNIX; Uncontrolled concurrency: Race using fork, exec, pipes.
conditions. Safety properties and Reentrancy.
3 Mutual exclusion and preemtive scheduling. Notes
Desired properties of mutual exclusion.
Mechanisms to achieve mutual exclusion.
Algorithms for mutual exclusion: strict
alternation, Peterson's algorithm, Dekker's
algorithm.
4 Pthreads. Reader/writer and hierarchical locks. Notes Assignment 2: Pthreads producer/
Deadlock avoidance, detection, and prevention. consumer.
5 Pthreads. Scheduling algorithms and issues. Notes
Thread models: workers, pipeline, on-demand
and thread pool. Dining philosophers, producer
consumers.
6 Semaphore and Monitor concepts. Notes Assignment 3: control warehouse cart
system.
7 Semaphore and Monitor concepts. Notes
8 Java threads. Notes
9 Java threads. Notes Assignment 4: comparison of several
threading approaches for same problem
(using Java facilities).
10 Actors model. Notes
11 Erlang. Notes Assignment 5: Erlang concurrency
Week Topics Covered Reading Assignments
12 Formal reasoning about concurrency: state Notes
models, partial correctness, liveness. Defining
safety properties. Program correctness:
interleavings, model checking.
13 SPIN model checker. Notes Assignment 6: model checking
14 Flex time. Notes

You might also like