Course expectations have been changed in order to reduce the overall class workload. Please reiew the "class information" for updates.
Office Hours will be Wednesdays 4:30-6pm in 194 Nassau street, 2nd floor. Enter the center door (between both banks), and take the elevator or stairs up one floor.
Week of 9/8
9/10: Dataflow Programming. Shepherd (PL): Theresa Lim. Shepherd (Systems): Joshua Lau. Critic: Nataliia Khotiaintseva.
9/12: Weak Consistency. Shepherd (PL): Nikhil Pimpalkhare. Shepherd (Systems): Nataliia Khotiaintseva. Critic: Nick Kaashoek.
Papers: Quelea (PL), RedBlue Transactions (Systems)
Week of 9/15
9/17: Threads. Shepherd (PL): Andrew Johnson. Shepherd (Systems): Mike Walker. Critic: Anja Kalaba
Papers: PRFJ (PL), Adaptive Locks (Systems)
9/19: Safe Operating Systems. Shepherd (PL): Gongqi Huang. Shepherd (Systems): Alan Zhang. Critic: Veronika Kitsul
Papers: Verification of Type-Safe OS (PL), RedLeaf (Systems)
Week of 9/22
9/24: Smart Contracts. Shepherd (PL): Theresa. Critic: Alan
Papers: Scilla (PL)
9/26: Smart Contracts. Shepherd (Systems): Dwaha. Critic: Alan
Papers: Adding Concurrency (Systems)
Week of 9/29
Week of 10/06
10/08: Hardware Design. Shepherd (Systems): Nathan. Critic: Mike
Papers: M3 (Systems), Let's fix OpenGL (small PL)
10/10: Hardware Design. Shepherd (PL): Amelia. Critic: Mike
Papers: Calyx (PL)
Week of 10/13: Break!
Week of 10/20
10/08: Mixed-consistency transactions. Shepherd (PL): Nicolas Koh. Critic: Jennifer
Papers: MixT (PL), Bayou Revisited (small systems)
10/10: Mixed-consistency transactions. Shepherd (Systems): Pascal. Critic: Jennifer
Papers: SALT (Systems)
Week of 10/27: Intermittent Computation
10/29: Capybara. Shepherd: Leon; Critic: Amelia
10/31: Immortal Threads. Shepherd: Nick Kaashoek. Critic: Amelia
Week of 11/3: Guest Lectures
11/5: Michael Arntzenius
11/7: Pamela Zave
Week of 11/10: Verification of Distributed Systems
In this class, we explore the way that two different research communities approach solving problems in the domain of systems. Each week, we will read two 'major' papers and one 'vision' paper (from two different communities), and explore the differences between their approaches---not just in terms of what one paper did and what one didn't, but in terms of community norms such as the standards of evaluation, or the aspects of the research that each paper presented as most important.
Every class, we will read one major paper and will be ready to discuss it. For Tuesday class, we will also read one minor paper. In order to keep us all honest, we're associating homework with this reading. Due at the beginning of each class, each student must submit:
This class will contain a final project component, in which students complete a novel research-style project based around the class theme of "bridging between research areas." Examples of acceptable projects include:
I'm also putting together a short, "brainstorm-style" list of project ideas.
Deadline: 10/8
The proposal takes the form of a short, one-page document describing what you plan to do, and how you plan to achieve it. It should include:
Deadline: 10/25
This is a short (~3 pages "word" format, ~1 page double-column LaTeX) document covering a broad space of "related work" to the topic you have proposed. It should, unless otherwise noted, be a series of papers within the area of your proposed project. It is absolutely fine for these papers to include work that we have read in class. Ideally, you will discuss around 8 papers. Note that these papers should be selected based on what is important to your project; it is not necessary that they be evenly balanced between areas, and it is ok (even expected!) that some of them might be outside of Systems + PL entirely.
You do not need to deeply understand all of these papers. Rather, you need to know enough to characterize them with respect to the other papers you are citing. For example: if your project is in operating systems, and you are citing RedLeaf, HiStar, and Singularity, it would be acceptable to explain that RedLeaf focuses on fault isolation, HiStar on privacy via information-flow, and Singularity on enabling structure communication between processes.
I would encourage you to spend less time reading any one of these papers than you would spend on an assigned class paper. Remember, how to read a paper is a learnable skill!
Deadline: 12/5-12/7
Deadline: 12/11