Cal Poly State University

Computer Science 568

Graduate Seminar on Distributed Systems

 Fall 2006
Dr. Mei-Ling L. Liu, Professor
Office: 14-217, 756-6460
Office hours:
Monday 2-3,  Tuesday 1-3, Wednesday 2-3, Friday 2-3
e-mail: mliu@calpoly.edu
http://www.csc.calpoly.edu/~mliu

Updated:  September 17, 2004


Class Hours and Location

            M/W 9:10-11 14-232B

CSC 568  Distributed System Graduate Seminar (4) 

Advanced topics in distributed systems with emphasis on recent and emerging distributed computing paradigms, fault tolerance, and distributed algorithm.  

For Fall 2006, the seminar will focus on Design Patterns for building Distributed Systems

Required Prerequisite Preparation

Prerequisite: (i) CSC/CPE 369 or CSC569, and (ii) graduate standing or consent of instructor.
It is assumed that the student has fundamental knowledge in distributed systems and distributed computing paradigms. The student must have in-depth knowledge in programming languages and data structures, and is assumed to be proficient in using UNIX/Windows and Java.

Class format

This course will be conducted in seminar style. Students will be expected to actively participate in the presentation and discussion of materials in chosen topics. An end-of-term paper or project demonstrating knowledge gained from the course will be required.

Text Books

None required – see the course web  site (http://www.csc.calpoly.edu/~csc568) for a list of sources of information on basic design patterns. 

Additionally, a list of suggested papers will be provided by the 2nd week of class – you will have a choice of two papers to present in class.

Since you are expected to obtain copies of articles to be discussed in class and to perform research in relevant topics, it is highly recommended that you subscribe to the ACM student portal.

 

Reference Books:

o        Design Patterns. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Addison-Wesley, Reading, Mass. 1994.

o        Pattern Languages of Program Design. James O. Coplien, Douglas C. Schmidt. Addison-Wesley, Reading, Mass. 1995.

o        Pattern-Oriented Software Architecture, Volume 2, Patterns for Concurrent and Networked Objects by Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann. ISBN-0471606952 Patterns of Enterprise Application Architecture by Martin Fowler, David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, Randy Stafford. Addison-Wesley Professional. ISBN: 0321127420.

 

Course Home Page

The course home page at http://www.csc.calpoly.edu/~mliu/csc568/ has links to this document, as well as to posting of your recorded grades, presentation slides, assignments, and useful web links.  A password is required to access some of the pages.

 

Grading scheme (tentative)

Grade assignments will be based on class participation, the quality of your presentations, and the quality of your term paper/project.

 

Policies

Representing another's work as one's own (plagiarism) is considered a violation of academic integrity. If materials are taken from published sources (including the web-postings) the student must clearly and completely cite the source of such materials (Source: Cornel University Student Code of Conduct).  Violation of this policy as well as other academic dishonesty such as cheating in tests will be reported to Cal Poly Student Relations & Judicial Affairs (see http://www.calpoly.edu/~saffairs/) and will result in an F grade assigned to you for this course.

 

Classroom Civilities

Civility and mutual respect in the classroom help make classes better for everyone.

I would appreciate that you observe the following classroom etiquette:

o        arrive in class on time

o        avoid leaving class early

o        turn off your cell phone and/or beeper while in class

o        do not bring your bicycle into the classroom

o        refrain from eating in class; sleeping in class; reading newspapers; chatting with neighbors

It is not necessary to let me know that you will be absent from class occasionally.  However, I would appreciate an explanation for chronic absences.

 

 

Tentative topics:

·         Distributed system and design patterns

·         Threaded programming; thread pool; monitor, consumer-producer

·         Design documents (UML class diagram, sequence diagram)

·         Singleton pattern

·         Observer

·         Adapter

·         Mediator

·         Proxy

·         Chain of responsibilities

·         Master-slave

·         Broker

·        Concurrency strategy patterns

·         Event handling patterns

·         Synchronization patterns

·         Fault tolerance patterns