COMP750 Distributed Systems



Instructor: Dr. Kenneth A. Williams

            email:     web page:

            office: 508 McNair Hall

            office phone: 334-7245 x 450               home phone: 674-0535

            office hours:      MTRF 8:00 to 10:00,  W 3:00 to 5:00    other times by appointment

Prerequisites: Graduate status.  Students must be able to program in C++, C#, Visual Basic or Java.

Text:  “Distributed Systems: Principles and Paradigms” by Andrew S. Tanenbaum and Maarten van Steen, Prentice Hall, 2002, ISBN: 0-13-088893-1  There will be additional reading material.


A distributed system is a collection of independent computers that appears to its users as a single coherent system.  This course examines the operating system and middleware concepts necessary for the design and effective use of networked computer systems. Assignments will include a major programming project, smaller programs and other assignments.  Topics include:


·        Clock synchronization

·        Communication models and standards

·        Concurrent programming

·        Distributed algorithms

·        Distributed file systems

·        Distributed Operating Systems

·        Distributed transactions

·        Java Enterprise Beans

·        Microsoft .NET

·        Name servers

·        Naming

·        Remote procedure calls

·        Security

·        SOAP

·        Transparency

·        UDDI

·        XML


Upon completion of this course, the student should be able to:

·        Write concurrent programs using multiple threads and processes.

·        Design distributed transactions that are deadlock free.

·        Write a Microsoft .NET distributed application

Grading:  A student’s grade in the class will be based on their performance on the exams, quizzes, programs and homework assignments.  All work will be graded on a numerical scale from 0 to 100.  The final grade will be the weighted sum of all work using the following weights:



homework assignments and programs

10% combined

2 exams

25% each

final exam

30% December 11, 3:30-5:30

The lowest homework grade will be discarded.  Homework must be turned in at the beginning of class on the assigned day for full credit, unless accompanied by a valid excuse.  Homework turned in within one day of the assigned time will penalized 10%.  Homework turned in within two days of the assigned time will be penalized 25%.  No homework will be accepted after two days.  Students who are absent during a class period when a test is given, will receive a score of zero unless previous arrangements are made or a valid written excuse is presented.

Final letter grades will be based on the following scale:

            A: 80 to 100     B: 70 to 80       C: 60 to 70       F: less than 60

In addition to the normal assignments that contribute to the final grade, there will be several optional “Challenge Problems”.  The “grade” for the challenge problems is not included in determining the final total score.  If a student’s final total score is close to a higher letter grade (e.g. a student has a final total score of 79.6), the student may be given the higher grade if they have properly completed a sufficient number of the challenge problems.

Students will be allowed one and only one 8½ by 11 inch page of notes during the exams.  Both sides of the note page can contain information as small as the student desires.  You are not allowed to use more than 187 square inches of paper surface to hold your notes.  Any additional pages, fold outs, flaps or other means of extending the page of notes will be considered cheating.

Attendance: The lectures introduce the class material.  Some material presented in the lectures is not covered in the text.  Students are responsible for all class material covered or assigned in lectures.  While attendance at lectures is not absolutely mandatory, students are expected to attend all lectures.

Cheating: Instances of cheating will be handled according to departmental policy.  Cheating covers any case in which a student has received unauthorized aid in his/her performance that contributes to a course grade or submits material contributing to a course grade with the intent to deceive the instructor or grader.  If the unauthorized aid includes help from another student, then that student is considered to have cheated as well.  Students are expected to submit assignments that are entirely their own work.  A common example of cheating is to copy another person’s program or homework assignment.

If a student cheats on a homework assignment, then he/she will receive a grade of zero (a grade of F) for that item as will anyone assisting him/her in an unauthorized way.  If a student cheats on an exam or the final, he/she will receive a failing grade for the class.  All cases of cheating will be reported to the Director of Graduate Studies.  If a student cheats for the second or more time in any Computer Science class, he/she will receive an F in the class in which the most recent case occurred and will be referred to the University authorities for disciplinary action.

Students with special needs (e.g. hearing or vision difficulties) should inform the instructor at the beginning of the semester.