Spring 2003
CS 139: Concurrency in Computation
General Information
Time and Place
Mondays and Wednesdays, 10:30-12:00, 74 JorgensenInstructor
Alain Martin <alain@async> 294 JorgensenTeaching Assistant
Kevin Ko <kko@ugcs> VLSI Lab, Jorgensen
Office hours: Mon. 3:00PM-5:00PM, Tues. 4:00PM-5:00PMCourse Secretary
Betta Dawson <bettad@cs> 256 JorgensenSystem Managers
Dave LeBlanc <unix-help@cs> 272 Jorgensen
Chris Malek <unix-help@cs> 269 Jorgensen
Announcements Homework 7 has been posted. I've also updated the "Lazy Stack" notes. (In lieu of solution sheets, I've been writing comments where necessary on graded assignments.) (28 May 2003) Homework 6 has been posted. (21 May 2003) Homework 5 will be posted this afternoon. It will contain one traditional problem as well as a programming component. Due date is two weeks from today. No class this coming Mon. or Weds. because Prof. Martin will be out of town for a conference. (07 May 2003) No homework this week because of midterms. Next assignment out this coming Weds. Enjoy. (30 Apr 2003) Homework 4 is posted. I will finish grading HW2 within a day or so, and I hope to have solution sheets ready in the near future. (23 Apr 2003) Homework 2 is due at 12:00PM on Weds. April 16 because of the SFC. Please leave it in the CS139 box, which you may find in the VLSI lab near the telephone. (15 Apr 2003) If you use TeX or LaTeX, you might find these files useful. (TeX users should be able to rename prs.sty to prs.tex.) (07 Apr 2003) The homework distributed in class is valid. There was a miscommunication somewhere, and I (Kevin) take full blame. This should not happen again. (03 Apr 2003) If you intend to take this course, please send an e-mail to Kevin containing your e-mail address. This will only be used to establish the class mailing list. (02 Apr 2003) Homeworks Homework 1 [CSP programs, Shared variables] (assigned 02 Apr 2003, due 09 Apr 2003) Homework 2 [Mutual Exclusion] (assigned 09 Apr 2003, due 16 Apr 2003) Homework 3 [The cigarette smokers] (assigned 16 Apr 2003, due 23 Apr 2003) Homework 4 [Fair mutual exclusion from unfair semaphores] (assigned 23 Apr 2003, due 30 Apr 2003) Homework 5 (notes/files) [Deadlock and Monitors] (assigned 07 May 2003, due 21 May 2003) - updated 5/17/2003 Homework 6 [Message Passing] (assigned 21 May 2003, due 28 May 2003) Homework 7 [More Message Passing] (assigned 28 May 2003, due 04 Jun 2003 in the VLSI lab by 12:00PM) Lectures and Handouts (Lecture scans may be from previous years) Handout: Elementary Predicate Calculus (31 Mar 2003) [pdf] [ps.gz] Lecture 1: Semantics (31 Mar 2003) [pdf] [ps.gz] [4.ps.gz] Lecture 2: Concurrency (02 Apr 2003) [pdf] [ps.gz] [4.ps.gz] Lecture 2: Mutual Exclusion (02 Apr 2003) [pdf] [ps.gz] [4.ps.gz] Lecture 3: Dekker's Algorithm (07 Apr 2003) [pdf] [ps.gz] [4.ps.gz] Lecture 3: Peterson's Algorithm (07 Apr 2003) [pdf] [ps.gz] [4.ps.gz] Lecture 4a: Synchronization Primitives (09 Apr 2003) [pdf] [ps.gz] [4.ps.gz] Lectures 4b and 5: Semaphores (09 and 14 Apr 2003) [html/jpg] Lectures 6 and 7: Dining Philosophers (21 and 23 Apr 2003) [html/jpg] Lecture 7: The Bridge Problem (23 Apr 2003) [pdf] [ps.gz] [4.ps.gz] Lectures 8 and 9: Monitors (28 and 30 Apr 2003) [pdf] Lectures 9 and 10: Implementation (30 Apr 2003 and 05 May 2003) [pdf] Lectures 10 and 11: Distributed Programs (05 and 07 May 2003) [pdf] Lecture 11: The Lazy Stack (07 May 2003) [pdf] Lectures 12 and 13: A Distributed Path Algorithm (19 and 21 May 2003) [pdf] [ps.gz] [4.ps.gz] Lecture 13: Distributed Mutual Exclusion (21 May 2003) [pdf] [ps.gz] [4.ps.gz] Lecture 14: Deadlock (28 May 2003) [pdf] [ps.gz] [4.ps.gz]
Catalog Entry
CS 139a. Concurrency in Computation.
9 units (3-0-6); first term. Prerequisite: CS 20 or equivalent.
Design and verification of concurrent algorithms. Topics: different models of concurrent computations; process synchronization by shared variables and synchronization primitives; distributed processes communicating by message exchange; the concepts of synchronization, indivisible actions, deadlock, and fairness; semantics and correctness proofs; implementation issues; and application to VLSI algorithm design. Parallel machine architecture issues include mapping a parallel algorithm on a network of processors, and classical parallel algorithms and their complexity.
cs139@async.caltech.edu
Last Modified: 28 May 2003.