Fall 2018 Syllabus
One of the fundamental trade-offs in system design is Systems need to balance how much extensibility, safety, and performance they provide applications. This is one of the fundamental trade-offs in system design. The goal of the course is to make you a better systems builder, paper reader, and researcher, by practicing identifying this trade-off in various settings and thinking of ways to subsume it.
Professor: Amit Levy
Email: aalevy@cs.princeton.edu
Office: 307 Computer Science
Office Hours: Wednesday 3:00pm-4:00pm
Class web site: http://www.cs.princeton.edu/courses/archive/fall18/cos597d
You should check the class page regularly for announcements, the most up-do-date version of this syllabus, and readings.
LEVY-FA26P
to join the course.There is neither a midterm nor a final exam for this course.
Each week we will read 1-3 papers from the systems literature. You are required to make 5 substantive annotations on each paper using Perusall by noon the day before class (you’ll still be able to respond to each other after the deadline. Your annotations can be questions, summaries, or insights, but it’s important to engage with the reading.
In addition, each student (or in groups) must submit a final report and give a final presentation. You have a choice of either:
Writing a literature on a sub-field of systems (e.g. extensible key-value stores) that could serve as the background section.
A course project. Ideally this is either augments research you are doing anyway or an early bootstrap of a research project.
The final report should be an appropriate length to showcase your work succinctly. Most reports should probably be 4-6 pages in USENIX conference style (https://www.usenix.org/conferences/author-resources/paper-templates) excluding figures and references.
Annotations for readings in Perusall are always due noon the day before class.
October 22nd - Proposal due
October 24nd - 10min Proposal presentations
January 15th (Dean’s day) - Final reports due
January 14th & 16th - Final presentations (regular class times)
30% Participation: For each reading, you’ll be asked to post substantive comments or questions using Perusall. Comments and questions are due 24-hours before the class for which the reading is assigned.
30% Attendance: Class is only as valuable as you showing up! You have 8 “slack days” that you can use at your disposal to miss scheduled class without impacting your grade.
40% Final report and presentation: You have a choice of submitting a final report for either a literature review or course project.
Week of | Monday | Wednesday |
---|---|---|
09/10 - 09/15 | No class | What is an Operating System? |
09/17 - 09/21 | Course administrativia Reading: “The Slow Winter” |
No class |
09/24 - 09/28 | Monolithic kernels | Microkernels |
10/01 - 10/05 | Extensible kernels | High performance kernels |
10/08 - 10/12 | OSDI | OSDI |
10/15 - 10/19 | Distributed systems | Distributed systems |
10/22 - 10/26 | Proposals due Distributed systems | Proposal presentations |
10/29 - 11/02 | Fall Recess | Fall Recess |
11/05 - 11/09 | No class | No class |
11/12 - 11/16 | Language-based approaches | Language-based approaches |
11/19 - 11/23 | Language-based approaches | Thanksgiving |
11/26 - 11/30 | Networking | Networking |
12/03 - 12/07 | Networking | Misc |
12/10 - 12/14 | Misc | Misc |