University of Waterloo
University of Waterloo

Term and Year of Offering: Spring 2011

Course Number and Title: CS 655, System and Network Architectures and Implementation

Comp Sec Camp Loc Time Days/Date Bldg Room Instructor
LEC 001 UW U 04:00-06:50W MC 2036 Martin Karsten
Registrar's Schedule of Classes

Instructor's Name Office Location Contact Office Hours
Martin Karsten DC 3506 by appointment

Calendar Description

Distributed, multi-user applications are designed and implemented using many underlying technologies that must be coordinated to provide important features such as robustness, scalability, manageability, ubiquitous access, privacy, security, authentication, and role-based access control, to name only a few. The network supporting the application may be crucial to its successful implementation. The application logic itself is likely implemented in a number of languages and programming environments. Students will be provided with an advanced overview of current networking and distributed systems topics, and will apply it to case studies drawn form consumer internet applications, enterprise systems, and medical and healthcare systems.


From the School's web page:

"Graduate courses assume a background of at least third-year Honours Computer Science at the University of Waterloo and a similar level of mathematical maturity."

For CS 655, students are expected to understand the fundamentals of programming languages, data structures, operating systems, and algorithms, each at least at the level of an introductory course.

Outline (tentative / in progress)

Each weekly class meeting will focus on a specific topic in networking and distributed systems. Delivery of classes will be a mix of lecture-style presentation and paper discussion.

May 4Introduction
May 11Channels
May 18Networks
May 25Transport
Jun 1Naming, Mobility, and Messaging
Jun 8Remote Service Invocation
Jun 15Global State / Synchronization
Jun 22Storage and Replication
Jun 29Fault Tolerance
Jul 6Security
Jul 13Operating System Integration (slides)
Jul 20Project Presentations / Wrap Up


The following textbooks are used to teach systems material to undergraduate students and might provide useful background information for this course. Some of the course material is drawn from these books. However, there are a number of alternative textbooks for each of the three areas operating systems, computer networks, and distributed systems. Parts of the course are structured around a collection of published articles. For each topic, the assigned articles are expected to be read in advance of the class in which the content will be discussed. Most articles include an extensive bibliography to related work.

Evaluation (tentative)


Academic Integrity

In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. Check the Office of Academic Integrity's website for more information.

All members of the UW community are expected to hold to the highest standard of academic integrity in their studies, teaching, and research. This site explains why academic integrity is important and how students can avoid academic misconduct. It also identifies resources available on campus for students and faculty to help achieve academic integrity in — and out — of the classroom.


A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70 — Student Petitions and Grievances, Section 4. When in doubt please be certain to contact the department's administrative assistant who will provide further assistance.


A student is expected to know what constitutes academic integrity, to avoid committing academic offenses, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offense, or who needs help in learning how to avoid offenses (e.g., plagiarism, cheating) or about "rules" for group work/collaboration should seek guidance from the course professor, academic advisor, or the Undergraduate Associate Dean. For information on categories of offenses and types of penalties, students should refer to Policy 71 — Student Discipline. For typical penalties, check Guidelines for the Assessment of Penalties.

Avoiding Academic Offenses

Most students are unaware of the line between acceptable and unacceptable academic behaviour, especially when discussing assignments with classmates and using the work of other students. For information on commonly misunderstood academic offenses and how to avoid them, students should refer to the Faculty of Mathematics Cheating and Student Academic Discipline Policy.


A decision made or a penalty imposed under Policy 70, Student Petitions and Grievances (other than a petition) or Policy 71, Student Discipline may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72 — Student Appeals.

Note for students with disabilities

The Office for Persons with Disabilities (OPD), located in Needles Hall, Room 1132, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with the OPD at the beginning of each academic term.