CS 754: Advanced Distributed Systems
Course Overview
Prerequisites
No formal prerequisite is required for this course but familiarity with the following topics is expected:
How operating systems work
How networks work
Programming in, at least, one systems language (e.g., C, C++, Java, ... etc.)
Course Load
This is a lecture-based class. We will read two to four papers every week. Although I will present and lead the discussion of the papers, you are still expected to read the papers before class. Once per week, I will post a question about the papers that you should answer before class.
The course also includes three projects: two mini projects and one research-oriented project.
An integral part of the course is the research-oriented project. This is a six-week long project. At the end of the project you will submit a short paper and present your results.
The course has a midterm and final exams. The material covered in the midterm is not part of the final exam.
Materials
Through the course we will read a set of papers (available on the course main page) on different topics in distributed systems. There is no official text book for the course.
Piazza
We will use Piazza for discussions and announcements. Please signup here.
Projects
An integral part of the course are the projects. We will have two mini projects and one research-oriented project. The two mini projects take around two weeks each, while the research oriented project is an open-ended research project that you will do in teams of two and will take six weeks to finish.
For the research-oriented project, I will suggest a set of projects around half-way through the semester, but you are also encouraged to propose your own ideas.
Grading
Here is the breakdown of your final grade in the course:
Mid-term exam | 25% |
Final exam | 25% |
Projects | 50% |