Return to the 15-612 Home Page

15-612 Syllabus

Table of Contents

Class Meetings
Course Description
Prerequisites
Required Textbook
Additional Reading
Instructor
Teaching Assistant(s)
Assignments
Grading
Workload
Course Communication
Topical Overview
Policy on Attribution
Policy on Late Submissions
Policy on the Presentation of Submitted Material

Class Meetings

Tuesdays and Thursdays, 3:00PM - 4:20PM, HH B103

Course Description

This is an advanced course focusing on the design, implementation, and management of distributed systems. It covers fundamental topics such as concurrent programming in a distributed environment, distributed objects, interprocess communication and coordination, synchronization and election, distributed agreement, replicated data management, checkpointing and recovery, and directory and discovery services. It also covers the design and implementation of distributed systems including shared memory, file systems, and databases.

Prerequisites

15-410, 15-412, 18-347, or permission of the instructor

Required Textbook

Coulouris, G., Dollimore, J., and Kindberg, T., Distributed Systems: Concepts and Design, 3ed, Pearson Education/Addison-Wesley, 2001.

Additional Reading

There will be supplemental reading assignments from sources outside of your textbook. Whenever feasibly, these will be provided in .pdf and .ps form via the course WWW site. Many such papers, as well as other interesting reading, are already available via the course WWW site.

Instructor

Gregory Kesden
8020 Wean Hall
412.268.1590 (office)
412.687.6198 (home)
412.268.5576 (FAX)

Office Hours: Tuesdays and Thursdays, 12:45M - 2:45PM

Please be aware that the office hours listed above are only a minimum guarantee. Unless I have other committments, I am typically in my office most afternoons until about 4:00. I am also often available during the late morning or evening hours. Many students find it useful to finger me at gigo.sp.cs.cmu.edu (personal workstation) or ux8.sp.cs.cmu.edu (favored cycle server) to make an educated guess about my availability.

Teaching Assistant

Sule Yildirim
4222 Newell-Simon Hall
412.268.3132 (office)

Office hours: 3:00PM - 5:00PM Mondays and Wednesday, 10:00AM - noon Tuesdays

Assignments

Tests (60%):

Project(s), one of the options below (40%):

Grading

The final course grade will be assigned using a weighted average of assignment scores. The assignments will be weighted as shown in the assignments section of this document.

By the nature of the course, the scoring of many of the assignments will be at least somewhat subjective. We will make every reasonable attempt to ensure that is uniform across the entire class. But, in the end, at least some portion of your grade will likely be nothing more than the opinion of the course staff.

Unless you are told otherwise, grades should be interpreted using the traditional 90/80/70/60 scale. In the end, the "dividing line" between grades may be more favorable to the student than this, but this is a useful minimum guarantee and estimator.

Very important! There is one caviat. Both a passing test average and a passing project average are required to pass the class. This suggests two pieces of advice:

It is our intention to offer the three exams as take-home assignments. This is not a promise -- we'll see how it goes. If "cheating" surfaces, they will likely become supervised, in-class exams.

These exams are tentatively scheduled for the 7th week, the 13th week, and the week of final exams.

Workload

This is a 12-unit course. We expect that your amortized investment in the course will be approximately 12 hours/week. This may vary depending on the project option that you select, your aptitude/mindset/habits, and your individual goals. Historically speaking, in our experience, 12-unit technical courses require closer to 15 hours/week. We don't think that this is an unreasonable estimate, either.

There will, of course, be times when the course demands more of your attention than others. The week of the three exams and, perhaps, the duration of prescribed project #3 come to mind as candidates as "busier" times than others.

Course Communication

The two principle methods of staff to student communication are the following:

The course Web site will become an invaluable archive and portal for useful information, including copies of all handouts, papers, project information, lecture notes, &c. We will also try to maintain a log of relevant questions and their answers during the lifetime of assignments. Please check the site frequently for information about current topics.

If something of an urgent nature should occur, we will use andrew e-mail to notify you. Please check this account regularly, or forward it to an account that you do check regularly.

The two principle methods of student-to-student communication are the following:

We will occasionally post announcements to the bboard and answer zephyr requests, so don't be surprised if we show up. But please remember that we do not typically monitor either, so please don't be disappointed if we don't appear.

The two principle methods of one-on-one student to staff communication are the following:

To ensure the most prompt response to your questions by e-mail, please address them both to the class TA(s) and to the instructor. Within a couple of days a mailing list, staff-412@cs, will become active. Since this mailing list will reach all of us, we think you'll find it a convenient way of getting prompt answers to your questions, &c.

We are here to help! Please don't be too shy to see us in person or to send us mail, &c -- that's why we are here!

Topical Overview

This may vary during the semester in response to the interests of the class, new developments, &c, but this is the plan:

Policy on Attribution

It is course policy that all of the work you submit for grading, or in support of graded material, shall either be your own thought product or clearly and specifically credited to the proper source. In other words you must clearly and visibly provide proper attribution for ideas and expressions that you borrow from others. This is true for both exams and projects.

For obvious reasons, we might choose to give you less than full credit for a submission that is not wholly yours. But, depending on the nature of the help that you received, we might choose to give you full credit. In the end our job is to assess what you do know, not what you once didn't know.

This is a graduate level class. We will take breaches of this policy very seriously. The maximum penalty at the course-level is a final grade of "R"; other penalties might also be imposed by the University, your college, and/or your program. Mitigating circumstances aside, we would expect to impose the maximum penalty for any violation of this policy.

Please see the University's Policy on Cheating and Plagarism for more information.

Policy on Late Submission

Unless otherwise specified, all assignment, or components thereof, that are to be electronically submitted are due at 11:59PM on the due date. Similary, assignments, or components thereof, that must be submitted by other means are due at the beginning of class on the due date.

In general, late assignments are not accepted, even if they are late by only seconds. There are two exceptions:

You may grant yourself up to four days of extensions during the course of the semester. You may use them all for one assignment, or divide them among several assignments. You are not required to use them at all.

If extension days are to be used for a group project, all members of the group must have a sufficient number of extension days available.

For groups doing self-proposed projects, the extension days can be used for the project as a whole, or for individual checkpoints. Before using extension days for self-proposed checkpoints, please meet with a member of the course staff. We recognize that the nature of these projects might require some changes in the schedule -- we may allow you to submit a revised schedule.

Please recognize that using extension days may delay the evaluation/grading of your work -- perhaps substantially. This is not intended as punishment. It is just a natural effect of the way the grading process is organized. We will always do our best to return everything in a timely manner.

This policy give you a great deal of freedom -- and also a great deal of responsibility. Please be careful -- people get sick, the power fails, bad things happen to good people. You probably want to save some late days for this type of thing. Furthermore, a project partner may be upset with you if you squander your late days and they would be useful on a project.

To use an extension day, you must send e-mail to staff-612@cs, before the assignment is due. This e-mail should indicate the assignment, the number of late days, the reason, and the people involved. If you have remaining extension days, your request will be granted, independent of the reason. We ask "why" for two reasons:

  1. It helps us to understand how the class is doing.
  2. Occasionally, though rarely, the reason provided will be sufficient to justify an extension without using a self-grantable extension day. If we notice this, we won't count the day as one of your four available extension days.

As with everything, we will try our best to be reasonable. At times we might choose to allow more flexibility than is permitted under the "letter of the law." This in no way affects our ability to enforce the policy, to the letter, in the future. We want to remain reasonable, not slaves to policy. This discretion rests entirely with the course staff.

Policy on the Presentation of Submitted Material

All assignments, whether submitted electronically or in hard-copy must be presented in a professional way. For hard copy submission (and electronic submission of printer-ready copy), unless otherwise stated, the following are some minimum requirements. They are designed to keep the components of your assignment assembled during the review process, to give us room to make notes and comments, as well as to help us to parse and understand your assignment without difficulty.

For electronic submission, we need to be able to identify each component and do routine types of things. Our goal is to be able to understand your system, build it, and test it as rapidly as possible. The following are some useful guidelines:

Under no circumstances should you submit any assignment via e-mail. In the past, under unusual circumstances, this practice actually caused a substantial interruption in service for many SCS users, due to server resource constraints.

We hate to sound picky about this type of thing -- it really isn't our nature. Our goal isn't to take ruler and measure your margins, or to get picky about configuration management in projects.

Instead, our goal is just to spend as little time as necessary searching for lost pages or files, deciphering handwriting, and/or understanding your work as is possible. Instead, we'd rather spend the time helping you and making the course more rewarding.