CS 595 - Design and Analysis of Distributed System Infrastructures
Spring, 2004
Instructor: Wai Gen Yee (yee@iit)
Time: 1:50 - 3:05pm, Tuesdays and Thursdays
Location: SB233
Office hours: Wednesdays, 2:30-4:00, or by appointment.
Class Web page: www.cs.iit.edu/~yee/classes/cs595spr04/

Course Description

The goal of this class is to teach students concepts related to today's peer to peer systems, while directing them in building such a system. This is supposed to be an interactive class, with active participation from all students in the class. The class has built-in flexibility to allow it to go wherever we think is most interesting.

I intend to spend little time on the programming aspects of peer to peer systems, instead focusing on the conceptual aspects. Good programming skills are required for this class.

Topics

The topics we will cover include, but are not limited to:

Workload

I will assign papers throughout the class on the various topics we will cover. Please try to read the papers. It will help your ability to participate, increasing the rate of learning. It will also make the class much more entertaining for everyone.

We will hopefully cover one paper per class, but the pace depends on how well the students are absorbing the material.

Assignments

There are two assignments in the class. One is a programming assignment (~75%), and the other is an independent project (~25%). The goal of the programming assignment is to give the student hands-on experience in building a peer to peer system. The goal of the project is to allow the student to explore areas of her personal interest.

Note that the student is also responsible for sharing his work with the rest of the class. We will therefore take class time for presentations, as appropriate.

Topics

The topics we will cover include, but are not limited to:

Schedule

Prerequisites

Good programming skills. The student must be able to program client-server applications. The student should know sockets. The student should know Windows or Java programming, and have software engineering skills. Maturity and an enjoyment of learning.

Resources

The Java Sockets Peer Chat Prototype.

General Info

Systems

Programming