COS 561: Advanced Computer Networks, Spring 2023

Instructor: Ravi Netravali
TA: Mike Wong
Precepts: Friday 10am-11:30am (EST) in Friend Center 008
Office Hours

  • Ravi: by appointment (rnetravali@cs.princeton.edu)

  • Mike: by appointment (mikedwong@cs.princeton.edu)

Course Overview

COS 561 is a graduate course in computer networking that aims to provide an understanding of the fundamental principles that govern the Internet (and networks more generally), particularly in the context of state-of-the-art networked systems and research. Core topics span the modern networking stack and local/wide-area/datacenter landscapes, covering concepts such as routing, congestion control, measurement, and networked applications. The course will be heavily based on studying a mixture of classic and recent research papers and discussing them in small groups during precepts. In doing so, students will learn how to critically engage with and discuss networking research.

COS 561 will run alongside COS 461 in that scheduled research papers will mirror the topics covered earlier in the same week in COS 461 lectures. COS 561 students are not required to attend COS 461 lectures, but will be responsible for the COS 461 lecture material. In particular, an understanding of the presented concepts will be required to fully understand COS 561 papers and actively participate in paper discussions. Paper discussions will focus primarly on novel research concepts and methodologies described in the paper rather than core networking background.

Precepts

Precepts will take place during the scheduled slot (i.e., 10-11:30am ET) every Friday, and students are expected to attend and actively participate. Unless otherwise noted, precepts will operate in-person. In the event of any university policy shifts towards remote instruction, Zoom information and protocols will be posted here.

Grading

  • 30% Participation in precept paper discussions (including paper presentation)

  • 30% Midterm

  • 40% Final research project (report and presentation)

Exam

There will be one midterm exam that evaluates your understanding of the foundational principles (i.e., COS 461 material) and research solutions pertaining to the discussed research papers. The exam will be primarily short-answer-based, and will include several open ended ‘‘design’’ questions that ask how the research solutions we've discussed could be packaged or extended to solve new problems. The exam will be take-home from April 11-12 (Tuesday-Wednesday).

Paper Reading and Discussion

A major component of this course is reading and discussing research papers during precepts. We are only discussing one paper per week so that we can discuss them in depth. To ensure a lively and focused discussion, you should closely read each paper and add comments and questions on Perusall by 11pm ET on Wednesday night before the corresponding precept. Please plan to provide at least five comments or questions for each paper and also follow the comments from the other students and the course staff. In addition, please come to precept prepared with several points that will substantially contribute to the group discussion. General tips on reading research papers can be found here, and we strongly encourage you to review and follow the discussion guidelines/suggestions from last year's COS 561 offering. Your precept participation grade will be determined based on attendance and, more importantly, substantial contributions to paper discussions both on Perusall and in precept.

To start each lecture, a group of students (size TBD, but likely 3) will present the paper being discussed. Presentations should be 20 minutes, and cover the paper in depth, i.e., not only the high-level framing, but also the detailed solutionsystem, evaluationbaselines, etc. Presenters should also come prepared with questions and ideas to seed the discussion, both based on their own thoughts, and also based on questions/feedback from the class on Perusall (available by Wednesday at 11pm). Note that non-presenters should still come prepared to actively participate in the discussion, and should have read the paper in detail prior to class. Overall participation grades will consider each student's paper presentation, as well as participation across all of the lectures (both in-class and on Perusall).

Research Project

In addition to paper reading, this course will also include a semester-long research and systems-building project. Projects should be done in groups of 2 or 3 students, and must involve some programming. Projects can take one of several forms:

  • Reproducing research: the goal of these projects is to reproduce, challenge, and/or expand research results in a published paper. In particular, such projects must involve implementing the solution described in the chosen paper, and evaluating that implementation to (1) reproduce key results in the paper (or explain why that is not possible), and (2) answer new questions that were not addressed in the original paper, e.g., evaluating in new settings, altering the implementation to use a new feature. Note that the chosen research paper need not be one that we have discussed in this course, but it must relate to computer networking and the covered topics.

  • Novel research: the goal of these projects is to develop novel research solutions (and the corresponding measurements/implementations) to either problems that were discussed in class, or to new ones. In particular, such projects must clearly establish a target research problem (and motivate its importance), a solution that goes beyond the state-of-the-art, an implementation+evaluation of that solution, and a comparison (qualitive and potentially quantitative) with related work. Target research problems must directly relate to computer networking and C0S 561 topics. If students are concerned that their proposed project might not be sufficiently related to COS 561, please contact the staff sooner rather than later to discuss. Proposals not closely related to the topical matter may be rejected outright as not appropriate.

Timeline and deliverables:

  • Team selection (due 2/17 at 5pm ET)

  • Project proposal (due 3/10 at 5pm ET)

  • Final project presentation (in class on 4/28)

  • Final project report (due Dean's date of 5/9 at 5pm ET); this should be submitted as a PDF generated using the Usenix conference research paper format.