George Mason University

CS 475 -- Concurrent & Distributed Software Systems
Spring 2015

T,R 3:00 pm - 4:15 pm, Art and Design Building L008

Prerequisites | Description | Readings | Topics | Grading | Lateness | Home Page

Professor Richard Carver
Office hours: T, R: 1:30pm - 2:45pm
Engineering Bldg Room 5318

TA:Phu Tran,, Office Hours: Wednesday and Friday from 1:30pm - 2:30pm, Engineering Bldg 4456.

Grade of C or better in CS 310 and 367.

The class focusses on issues that arise in the design and implementation of concurrent and distributed applications. Course work will involve several programming assignments.

Course Outcomes:

  1. Demonstrate an ability to design and implement a concurrent/distributed program.
  2. Demonstrate knowledge of fundamental algorithms for mutual exclusion in shared memory and distributed systems.
  3. Demonstrate an ability to synchronize concurrent processes and threads by using semaphores, monitors, and message passing.
  4. Demonstrate an understanding of the problems inherent in testing and debugging concurrent programs.
  5. Demonstrate an ability to check the correctness of concurrent programs by using testing and debugging tools.

Modern Multithreading by R. Carver and K.C. Tai, Wiley Interscience, 2006.

The textbook is on reserve in the library. The call number is QA76.642 .C38 2006. The book is reserved under the name Theresa Calcagno.


The following topics will be covered:

  1. Threads, Seamphores, Monitors
  2. Message Passing
  3. Distributed Systems
  4. Client-Server Applications
  5. Middleware technologies
    1. TCP/IP Sockets
    2. RPC/RMI
    3. Web Services (SOAP, XML), J2EE


There will be several homework and programming assignments. In addition, there will be a project. The software required for these projects is available on the computers in the IT&E Lab and on osf1. You can also do some of the projects on your own computer. (The programming assignments involve programming in Java on a Windows/UNIX/Linux platform.) The homeworks, assignments, and class project may be done in groups of 2 or 3. Each member of a group is expected to contribute equally in order to get the same grade.

Tentatively: 55% of the course grade will be based on the homework and programming assignments. In addition, there will be a mid-term exam worth 25% of the grade. The project will account for the remaining 20% of the grade.


The late submission policy is as follows: submissions will be marked down 5% per day for the first three days, 10% per day thereafter.


You are expected to abide by the University's honor code and the Computer Science honor code during the semester. Any violation of the honor code will result in an F for the class.


CS475 has a home page (


GMU Academic Calendar    |    GMU Final Exam Schedule    |    Calendar of Religious Holidays

Back to the top.