Jasleen Kaur
Class room:
FB 007
Class Time:
Tue & Thurs, 9:30 - 10:45 am
Office Hours:
By appointment

Questions? Email the instructor.

What is this course about?

This course will focus on the design of large-scale computer networks and distributed systems. The content has been designed to focus on the common principles and approaches used in designing scalable networked and distributed services. The discussions will not focus on the fine-details of protocols or implementations.

The course discussions are divided into two parts:

The emphasis of the in-class discussions will be on the design approaches --- including hierarchy, randomization, virtualization, indirection, and simplicity of service model --- that are used in designing each of these protocols/systems. There will be (roughly) 4 assignments in the course. Students will also be required to work on a course project that involves implementing and experimentally evaluating a system/service of their own choice.

Who should take this course?

This course is intended to be an introductory graduate systems course---it satisfies the "systems" breadth requirement. It is also a good option for undergraduate students who have already taken COMP 431 and want to build a stronger base in networking. If your primary research interest is in the Systems area, this course will help build the background and some experimental skills needed for more advanced courses and research. If not, this course will help expand your breadth of knowledge.

Course Syllabus

Prerequisites: COMP 431, COMP 530.

Reference Material:

There is no single book that includes all the topics that will be covered in this course. The first half of the course will use material from the first 6 chapters of the following text, but will also add discussion from recent literature to it. The second half of the course will use material from several papers from the published literature.