|MWF: 12:40pm - 1:30pm||105B ZACH|
509C Harvey R. Bright Bldg
|Office hours: TBA|
This course will consist of two parts: a Lecture part, followed by a seminar part.
The Lecture part, we will study some of the most important concepts in the design of distributed operating systems. Throughout this portion, we will try to relate the material covered to the support of large-scale computing on the Internet. We will tentatively discuss the following issues:
As you see, most of the material served in the lectures is pretty basic. The idea is to provide a solid basis. We will complement this with a very strong hands-on component.
For this part, each of you will be reading a number of papers and give a 20-minute critical presentation, with the objective to summarize the papers, evaluate their contributions, and relate the papers to each others.
Below is a list of reference books. These books are thought to complement the textbook. Perusing them may help you better understand some issues discussed in class. More reference material will be added as we go along.
The course will consist of a considerable number (at least three) of challenging programming projects, and two exams (the first exam will be on March 7, a second exam on Tuesday, April May 1). Perhaps we will have a small number of homeworks.
The weight will be tentatively distributed as no less than 45% for projects and at most 30% for tests. The presentation will weigh no more than 10%, and roughly 10% will be reserved for class participation.(If we will have homeworks, the weights will be adjusted accordingly to account for the homeworks.)
Ideally, grades will be assigned along the following lines:
The official prerequisites are CPSC-410 or CPSC-463. I
recommend you have a good idea of both.
I reserve the right to enforce the prerequisites, maybe even in form of a quiz at the beginning of the semester !
In this course we will not limit ourselves to talking about distributed computing systems, but will get our hands quite dirty. (Not as much as I would like, unfortunately.)
The projects have shown to be very demanding. If you do not know how to program at a sophisticated level, this is a good time to rethink your plans of taking this course! Experience with previous times this course was given has shown that you will not be able to learn the programming part as you go.
More information about projects will be posted soon.
The projects will be done in groups of two students each. This means that it is a good idea to start looking for a partner soon.
Things may change, so please check back later!
It goes without saying that the highest level of academic integrity is expected for students in this class. While discussions among students on the analysis of problems and on the development of general solution approaches is welcome (encouraged, in fact,) the realization has to be of the individual student or of the individual project team. Spelled out, this means:
Last But Not Least
Feel free to make comments, suggestions, and such things.