Engineering 9869 Advanced Concurrent Programming

Instructor Dr. D. K. Peters
Lectures Monday, Wednesday, Friday 0900-0950, EN1000
Office hour T.B.D.

Schedule and Examples | Evaluation | Text | Links | References | Web submit

Detailed Schedule and Examples

The following is the tentative schedule of lectures, mid-terms and assignments for the term. Lecture topics may change slightly as the term progresses. Click an assignment or demo to view it. Click on a topic for a printable (pdf) thumbnail version of the class notes for that topic. These may not always be available in advance of the lectures and are not to be considered a substitute for attending class.

If you need information about the file formats, or instructions for downloading them check here.

#Date Deadline Topic Handouts & Examples
1W 09.05 Introduction Course Information Sheet
2F 09.07 Concurrent Architectures & Applications (Ch. 1)
3M 09.10 Processes and Synchronization (Ch. 2)
Couse cancelled due to lack of enrollment
4W 09.12
5F 09.14
6M 09.17 Locks & Barriers (Ch. 3)
7W 09.19 Project proposal
8F 09.21 Assignment 1
9M 09.24 Semaphores (Ch. 4)
10W 09.26
11F 09.28 Monitors (Ch. 5)
12M 10.01
13W 10.03
14F 10.05 Assignment 2 Message Passing
15W 10.10 Mid-Term Test
16F 10.12 Message Passing (cont'd)
17M 10.15
18W 10.17 RPC & Rendezvous (Ch. 8)
19F 10.19 Assignment 3
20M 10.22 Patterns for Interaction (Ch. 9)
21W 10.24
22F 10.26
23M 10.29 Scientific Computing (Ch. 11)
24W 10.31
25F 11.02
26M 11.05
27W 11.07 Real-Time Systems
28F 11.09
29W 11.14
30F 11.16 Project
31M 11.19 Model Checking
32W 11.21
33F 11.23 Assignment 4
34M 11.26 Transaction Processing
35W 11.28
36F 11.30 Review

Textbook

G. R. Andrews, Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, 2000. ISBN 0-201-35752-6.

Evaluation

Assignments 20%
Project15%
Mid-term 10%
Final Exam 45%
Better of Midterm & Final10

Related Links

Textbook homepage.
In particular, pay attention to the Errata Page.
Beowulf Project
A project that connects many PCs to create a very powerful computer. Also a site at Cal. Tech.
Sun's Java Technology Home Page
This is a source for lots of information and tools for Java programming.

References

Here are some books other than the textbook that you might find useful. I have one copy of each of them which you can borrow for short periods.
M. Ben-Ari, Principles of Concurrent and Distributed Programming , Prentice Hall, 1990.
This is the "classic" text in this area. It is fairly rigorous (i.e., mathematical) and covers the fundamentals of concurrent programming in a fair amount of detail. Also available in the QEII library, Call no. QA 76.5 B393 1990.
Abraham Silberschatz and Peter B. Galvin, Operating System Concepts, Addison Wesley, 1994.
That's the textbook used in Operating Systems (Engr. 6863). Some of it may be useful.
Andrew S. Tanenbaum. Distributed Operating Systems. Prentice Hall, 1995.
Andrew S. Tanenbaum and Maarten van Steen. Distributed Systems Principles and Paradigms. Prentice Hall, second edition, 2007.
David A. Patterson and John L. Hennessy, Computer Architecture: A Quantitative Approach, second edition, Morgan Kaufmann, 1996.
That's the textbook you used in Computer Architecture (Engr. 5863).
Hassan Gomaa, Designing Concurrent, Distributed, and Real-Time Applications with UML, Addison-Wesley, 2000. ISBN 0-201-65793-7.
This is one of the "Object Technology Series" that takes a fairly serious look at applying UML to the kinds of problems that we look at in this course.

back to Dennis Peters' homepage

$Revision: 102 $, $Date: 2007-09-10 16:24:07 -0230 (Mon, 10 Sep 2007) $ $Author: dpeters $.