George Mason University
DEPARTMENT OF COMPUTER SCIENCE

CS 475 -- Concurrent & Distributed Software Systems
Spring 2003

Monday 4:30 - 7:10 pm, ST2 Room 9

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


Professor Sanjeev Setia
703-993-4098
setia at cs.gmu.edu
Course office hours: Monday 2 - 4 pm
Sci & Tech II Room 347


PREREQUISITES :
CS 471 (Operating Systems)

NOTE: If you haven't already taken CS 471, you cannot take CS 475 without my permission

This is a programming intensive course. You need to be comfortable with programming in C/C++ or Java to be able to do the programming assignments. It is also not a good idea to take this class if your course/work schedule is already quite full.


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


READINGS:
Unfortunately there is no single textbook that covers all the material that will be discussed in this class. The following two books are recommended (not required):

Class notes will also be provided as necessary. Recommendations for additional books on specific topics (Network programming, CORBA, Web services, Distributed Systems) are on the class web page.


TOPICS:

The following topics will be covered:

  1. Multi-threaded/Concurrent Programming
  2. Distributed Systems
  3. Client-Server Applications
  4. Application-level Network protocols
  5. Middleware technologies
    1. TCP/IP Sockets
    2. RPC/RMI
    3. Web Services (SOAP, XML)
  6. Advanced topics (time permitting) - Peer to Peer Computing, Parallel Programming, Component Software


GRADING:

There will be four programming assignments. The first involves concurrent programming using threads, whereas the second and third involve the development of a distributed application using sockets and RPC/RMI respectively. In addition, there will be a project for which you will be free to use any middleware technology. The software required for these projects is available on the computers in the IT&E Lab. You can also do the projects on your own computer (The programming assignments involve programming in C/C++ or Java on a UNIX/Linux platform. A MS Windows platform may also be used with the instructor's permission.) The class project will be relatively large and may be done in a group of two. Each member of a group is expected to contribute equally to the project in order to get the same grade.

65% of the course grade will be based on the programming assignments. In addition, there will be a mid-term exam in March worth 15% of the grade. The final exam will account for the remaining 20% of the grade. (The final exam may be a take-home exam; this decision will be announced in April)


LATENESS:

The late submission policy is as follows: projects will be marked down 20% for each late day after the due date.You will also have the opportunity for re-submitting the first three projects for improving your grade.


HONOR CODE:

Violations of the honor code will result in severe penalties. Click here for the CS Department's Links to materials on the honor code, ethics and integrity.


CLASS HOME PAGE:

Class notes, slides, handouts, etc. will be available at the class home page (http://www.cs.gmu.edu/~setia/cs475/)

Back to the top.