COS 561: Advanced Computer Networks, Spring 2023Instructor: Ravi Netravali
Course OverviewCOS 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. PreceptsPrecepts 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
ExamThere 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 DiscussionA 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 ProjectIn 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:
Timeline and deliverables:
|