CS 707 – Distributed Software Systems

Spring 2007

 

Prof. Elizabeth White

Office: S&T II, Rm. 429

Phone: 703-993-1586

Email: white@cs.gmu.edu – Put CS707 in the subject line

 

Course Content

 

This class focuses on concepts that arise in the design and implementation of distributed software applications.  Issues include making distributed applications secure, reliable, and scalable will be discussed.  Programming assignments will involve middleware technologies such as TCP/IP sockets and RMI.

 

The following topics will be covered: (note: this list does not represent the order in which these topics will be covered)

  1. Distributed systems, computer networks, concurrent programming (Review)
  2. Distributed Systems Concepts
    1. The Client/Server model
    2. Naming
    3. Coordination and Synchronization
    4. Distributed Architectures
    5. Consistency & Replication
    6. Fault Tolerance
    7. Peer to Peer Systems
  3. Middleware technologies
    1. TCP/IP Sockets
    2. RPC/RMI/CORBA/Web Services
    3. Message-oriented Middleware

Pre-reqs: CS 571, CS 706 and a strong knowledge of C, C++ and/or Java.  If you do not have the pre-requisites, you must have my permission to enroll.

Textbook

 

The textbook for this class is
Andrew Tannenbaum and Maarten van Steen, ``Distributed Systems: Paradigms and Principles'', Prentice-Hall, Second Edition, 2007.

 

There will be additional readings required and several recommended texts; class notes will also be provided as needed.

Class Web Page

 

Materials for this class will be kept on the class web page:

http://cs.gmu.edu/~white/CS707

You should check this webpage periodically for announcements.

Grading Policies

 

Honor Code

 

You are expected to abide by the honor code. Programming assignments and exams are individual efforts. Information on the university honor code can be found at:
http://jiju.gmu.edu/catalog/apolicies/honor.html