Engr 664: Concurrent Programming
Fall Semester 1999
Syllabus


Locations

The fall semester 1999 class meets in 352 Weir Hall at 11:00 a.m. on Tuesdays and Thursdays.

The class is taught by Prof. Conrad Cunningham, whose office is in 312 Weir Hall. The official office hours for this class are 1:30 p.m. until 3:30 p.m. on Tuesdays and Thursdays and by appointment at other times.

Prof. Cunningham's voice telephone number is (662) 915-5358 and fax number is (662) 915-5623. His WWW home page is http://www.cs.olemiss.edu/~hcc/ and his email address is cunningham@cs.olemiss.edu (send?).

The WWW home page for this class is http://www.cs.olemiss.edu/~hcc/engr664/ and the anonymous FTP site is ftp://ftp.cs.olemiss.edu/pub/cunningham/engr664/.

The final examination for this class is scheduled for 4:00 p.m. on Friday, 10 December 1999.


Course Goals

The goals of this course are to (1) present systematically the concepts and issues in concurrent programming, (2) introduce rigorous techniques for the specification and analysis of concurrent program behaviors, and (3) give students experience in implementation of concurrent programs.


Course Description from Catalog

Topics in the theory of concurrent programming. Models of concurrency. Programming logics. Emphasis on the formal specification and verification of concurrent programs.


Prerequisites

The prerequisite given in the catalog is CSCI 550, Program Semantics and Derivation. Since 550 has not been taught since spring 1998, this prerequisite will not be enforced.

This class is intended for students admitted in full standing to the graduate program of the Department of Computer and Information Science. Students are expected to have a background in automata theory, operating systems, algorithms, data structures, and programming languages similar to the undergraduate courses CSCI 311, 423, 433, and 450. Use of the Java programming language will be required in programming exercises.

Graduate students in other fields should not be enrolled in this class without the explicit permission of their department. Any students in this category are expected to provide the instructor with a note from their advisor or department chair indicating such permission.


Source Materials

Textbook:
Jeff Magee and Jeff Kramer. Concurrency: State Models and Java Programs, Wiley, 1999. ISBN: 0-471-98710-7. Ole Miss Bookstore price: $65.00.

Note: You might want to check one of the other bookstores in town (Rebel Bookstore or Campus Book Mart) or online at sites such as Books-A-Million, Barnes and Noble, amazon.com, bookpool.com, Computer Literacy (fatbrain.com), or Borders,

Software:
Labelled Transition System Analysis (LTSA) toolset from the CDROM bundled with the textbook.
There is an update to the Java class library on the class anonymous ftp site ( download?) or on the authors' web pages.
Java using the Sun JDK 1.2 (or 1.1?) available free from java.sun.com.

Readings:
Various journal and conference articles, research reports, and other materials as appropriate.


Course Topics

  1. Concurrency Concepts
  2. Processes and threads
  3. Concurrent execution
  4. Shared objects and mutual exclusion
  5. Monitors and condition synchronization
  6. Deadlock
  7. Safety and liveness properties
  8. Model-based design
  9. Dynamic systems
  10. Message passing
  11. Concurrent architectures
  12. Timed systems


Professional Conduct

As a student in Engr 664, you are expected to conduct yourself in a professional manner according to the Honor Code of the School of Engineering, the Information Technology Appropriate Use Policy, the M Book, and any other relevant policies.

Limited Collaboration Policy. Unless otherwise indicated, any homework assignment or programming exercise given in this class will be an individual assignment. The work you submit is to reflect the knowledge, understanding, and skill that you have attained as an individual. However, the instructor does want to encourage the development of a community of scholars who are actively engaged in discussion of the ideas related to this course. With this in mind, you are allowed to discuss solutions of the homework and programming problems with other students if done so according to the following guidelines:


Grading

Two-thirds of the semester grade will come from the exam average and one-third from the homework assignment average.

My grading scale is A [90..100], B [80..90), C [70..80), D [60..70), and F [0..60).


Assignments


Examinations


[ Engr 664 Home ]
[ Cunningham's Home | Teaching | Current Courses ]
[ Department's Home | Courses | Undergraduate Courses | Graduate Courses ]


Send any comments or suggestions to Prof. Conrad Cunningham, cunningham@cs.olemiss.edu.
Copyright © 1999, H. Conrad Cunningham
Last modified: Mon Aug 14 16:14:11 CDT 2000