COS 561: Advanced Computer Networks, Fall 2021

Instructor: Ravi Netravali
TA: Neil Agarwal
Precepts: Friday 10am-10:50am and 11am-11:50am (EST) in Engineering Quad E wing, room 225
Office Hours

  • Ravi: by appointment (

  • Neil: by appointment (

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 will take place during the scheduled slots (i.e., 10-10:50am or 11-11:50am ET) every Friday, and students are expected to attend and actively participate in the weekly slot that they are enrolled in. We are currently slated to have precepts in-person. However, we will monitor and respond to the evolving COVID-19 situtation and corresponding university policies. In the event that courses are moved to remote instruction, Zoom information and protocols will be posted here.


  • 30% Participation in precept paper discussions

  • 30% Midterm

  • 40% Final research project (report and presentation)


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 November 9-10 (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 8pm ET on Thursday 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.

Precept attendance is required. However, we understanding that students may be facing a variety of challenging circumstances this semester. If you are unable to attend a precept, please let the course staff know as soon as possible so that we can best accomodate the absence, e.g., by having you attend another precept on the same day (if possible).

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 (TBD once the course enrollment is finalized), 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 9/17 at 5pm ET)

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

  • Final project presentation (in class on 12/3)

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