CS 4950 Seminar on Computer Networking Research


This course will be delivered using the Hybrid NUflex learning modality and I will be teaching remotely. I will join you virtually in the class at the scheduled class time using Zoom with some students in the classroom and others joining remotely. You will be able to ask questions, discuss, and interact with me and other students in real time. Remember that on your scheduled days in the classroom, you will need to practice healthy distancing and wear a face mask or face covering. I will also be available for virtual office hours on the days/times in the syllabus.

General Information

Professor:David Choffnes
Room:All meetings via Zoom (see Canvas)
Time:Thursday, 2:50pm-4:30pm
Class Forum:On Canvas Discussions

Course Description

Provides students with an introduction to research in the fields of computer networking and distributed systems. Explores recent research advances in these fields, covers several sub-areas of specialty and ongoing research in them, gives students practice on how to read and analyze scientific literature in different sub-areas, and provides mentoring and guidance on how to conduct novel research in these fields. Also provides students with an overview of how research is conducted, from systems building to measurement and analysis, and from writing research papers to writing academic research proposals.
The class will once per week for a 100-minute session.

Goals and Format

By the end of this course, I expect you to:

As this course is closest to a seminar course, the structure will consist of three components:
Lectures providing an overview of topics For the first meeting, and occasionally thereafter, the format will be lectures to provide the necessary background for subsequent research topics covered. There will weekly assignments consisting of background reading.
Reading and Discussing Papers The majority of the course will consist of reading and discussing papers from different areas of networking and distributed systems. The focus will be on different styles of research, and how the results are presented. Where possible, I will invite researchers to join our Zoom to discuss their experience and field questions from students.
Project presentations The final week of the class will consist of student presentations of their semester-long research project. Each group will be expected to make 20-minute presentations on their research project, followed by leading a 10–15 minute discussion of their findings.


The official prerequisite for this course is CS 3950, or permission of the instructor. It helps tremendously to have taken CS 3700. This course will be largely discussion- and project-based, and you will be expected to actively participate in class.

Class Forum

The class forum is on Canvas. I typically used Piazza for this purpose, but am using this semester as a trial run of migrating to Canvas for simplicity (and to reduce student exposure to data collection from other parties).

Schedule, Topics / Lecture Slides, and Assigned Readings

Meeting DateTopic / SlidesReadingsComments
Jan. 21 Overview of networking research areas, how to read research papers, intro to HotCRP [1], [2], [3, stop at "getting started"]
Jan. 28 Net neutrality [4]
Feb. 4 Routing [5] Project proposal due
Feb. 11 Censorship
Special guest: Roya Ensafi
Feb. 18 Data Centers
Special guest: Vincent Liu
[7, [8] Project timeline, milestones due
Feb. 25 Congestion Control
Mar. 4 Satellite/In-flight networking [10, 11]
Mar. 11 Programmable networks
Special guest: Theophilus Benson
[12, 13, 14] First project milestone due
Mar. 18 Ethics in research
Mar. 25 Networking research in practice: Panel discussion with Ph.D. students
Apr. 1 Content delivery networks
Special guest: Ethan Katz-Bassett
Apr. 8 Reliability
Special guest: Ramakrishna Padmanabhan
[17] Final project writeup draft due
Apr. 15 Project Presentations Project writeups due


  1. Philip W.L. Fong. 2009. Reading a computer science research paper. SIGCSE Bull. 41, 2 (June 2009), 138-140.
  2. Keshav. 2007. How to read a paper. SIGCOMM Comput. Commun. Rev. 37, 3 (July 2007), 83-84.
  3. M. Ernst. How to write a technical paper., Last updated November 2018.
  4. Fangfan Li, Arian Niaki, David Choffnes, Phillipa Gill, Alan Mislove. A Large-Scale Analysis of Deployed Traffic Differentiation Practices. In Proc. of SIGCOMM, 2019.
  5. Dave Levin, Youndo Lee, Luke Valenta, Zhihao Li, Victoria Lai, Cristian Lumezanu, Neil Spring, and Bobby Bhattacharjee. Alibi Routing. In Proc. of SIGCOMM, 2015.
  6. R. Sundara Raman, P. Shenoy, K. Kohls,R. Ensafi. Censored Planet: An Internet-wide, Longitudinal Censorship Observatory. In Proc. of ACM CCS, 2020.
  7. Qiao Zhang, Vincent Liu, Hongyi Zeng, Arvind Krishnamurthy. High-resolution Measurement of Data Center Microbursts. Proceedings of the ACM SIGCOMM Internet Measurement Conference, 2017.
  8. . Charles W. Kazer, João Sedoc, Kelvin K.W. Ng, Vincent Liu, and Lyle H. Ungar, Fast Network Simulation Through Approximation or: How Blind Men Should Describe Elephants. Proceedings of the ACM Workshop on Hot Topics in Networks (HotNets), 2018
  9. Congestion Control paper TBN
  10. Mark Handley. Delay is Not an Option: Low Latency Routing in Space. In Proc. of HotNets, 2018.
  11. John P. Rula, Fabián E. Bustamante, James Newman, Arash Molavi Khaki, Dave Choffnes. Mile High WiFI: A First Look At In-Flight Internet Connectivity, The Web Conference (WWW), 2018.
  12. Dan Ports, Jacob Nelson. When Should The Network Be The Computer?. In Proc. of HotOS, 2019.
  13. D. Wu, A. Chen, T.S. Ng, G. Wang, H. Wang. Accelerated Service Chaining on a Single Switch ASIC. In Proc. of HotNets, 2019.
  14. T. Benson. In-Network Compute: Considered Armed and Dangerous. In Proc. of HotOS, 2019.
  15. Ethics papers TBN
  16. M Calder, X Fan, Z Hu, E Katz-Bassett, J Heidemann, R Govindan. Mapping the expansion of Google's serving infrastructure". Proceedings of IMC, 2013.
  17. Ramakrishna Padmanabhan, Aaron Schulman, Dave Levin, and Neil Spring. Residential Links Under the Weather. In Proc. of SIGCOMM 2019.
  18. Background for project presentations


There is no textbook for this course.

Papers readings and discussions

Leading the discussion involves two tasks. First, you will make an approximately 10 minute presentation that describes the motivation, goals, and results of the paper. Second, after this presentation and for the remainder of the allocated time slot, you will lead the discussion on the paper. It is you just to ensure a lively atmosphere for discussion, while being careful to stay on the topic of the paper. I will let students sign up to lead the discussion for the papers they choose.

If you are an audience member, you are expected to have read the paper and to participate in the discussion. This is a seminar course, meaning that the point of the course is to have a discussion. Not participating in this part of the course is not an option. The list of the papers will be available on the course website.


This course will have weekly homework in the form of a review of the paper being discussed in class that week. Each review is due by noon of the day it is discussed. All reviews must be submitted via https://northeastern-cs4950sp21.hotcrp.com/
Slip days may be used on the homeworks; absent any use of slip days, homework will be marked 20 points off per day that they are late, up to 2 days.

Project and final presentations

Each student will form a team of two to identify an approved research project in the area of computer networking. Students first will identify a research area of interest, one or more research questions, one or more testable hypotheses, and an intuition of how to prove or disprove the hypothesis. These items must be written up as a research proposal and shared with the professor. Each team will then meet with the professor to discuss, refine, and ultimately win approval for the project.

After approval, the students must begin initial work on the project and come up with a timeline and milestones for completing the research project by the end of the semester. This must be shared with the professor for feedback.

At approximately one month before the end of the term, students must complete their first milestones. Each group will present to the class, for no more than 10 minutes, their research ideas, initial results, challenges, and lessons learned.

Finally, each team must submit a writeup of their research and findings. Students will review each other's research writeups, address issues that arise from those reviews, and prepare and give a 20-minute presentation on their research.


There are no exams in this course.


You are expected to attend each class meeting, as attendance and active participation during meetings comprises a large fraction of your grade. If you must miss class (e.g., you are ill or have some other obligation), please contact the instructor to discuss how to make up the time missed in class.


The breakdown of the grades in this course is:

Each homework will be graded according to the quality of responses to questions in the paper reviews.

Any requests for grade changes or regrading must be made within 7 days of when the work was returned. To ask for a regrade, attach to your work a page that specifies (a) the problem or problems you want to be regraded, and (b) for each of these problems, why do you think the problem was misgraded.

To calculate final grades, I simply sum up the points obtained by each student (the points will sum up to some number x out of 100) and then use the following scale to determine the letter grade: [0-60] F, [60-62] D-, [63-66] D, [67-69] D+, [70-72] C-, [73-76] C, [77-79] C+, [80-82] B-, [83-86] B, [87-89] B+, [90-92] A-, [93-100] A. I do not curve the grades in any way. All fractions will be rounded up.

Cheating Policy

It's ok to ask your peers about the concepts, algorithms, or approaches needed to do the assignments. We encourage you to do so; both giving and taking advice will help you to learn. However, what you turn in must be your own, or for projects, your group's own work. Looking at or copying code or homework solutions from other people or the Web is strictly prohibited. In particular, looking at other solutions (e.g., from other groups or prior CS 4950 students) is a direct violation. Projects must be entirely the work of the students turning them in, i.e. you and your group members. If you have any questions about using a particular resource, ask the course staff or post a question to the class forum.

All students are subject to the Northeastern University's Academic Integrity Policy. Per CCIS policy, all cases of suspected plagiarism or other academic dishonesty must be referred to the Office of Student Conduct and Conflict Resolution (OSCCR). This may result is deferred suspension, suspension, or expulsion from the university.

Accomodations for Students with Disabilities

If you have a disability-related need for reasonable academic accommodations in this course and have not yet met with a Disability Specialist, please visit www.northeastern.edu/drc and follow the outlined procedure to request services. If the Disability Resource Center has formally approved you for an academic accommodation in this class, please present the instructor with your "Professor Notification Letter" at your earliest convenience, so that we can address your specific needs as early as possible.

Title IX

Title IX makes it clear that violence and harassment based on sex and gender are Civil Rights offenses subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, etc. If you or someone you know has been harassed or assaulted, you can find the appropriate resources here: http://www.northeastern.edu/oidi/titleix/

COVID-19 Precautions

The university has put into place a robust plan to make the campus healthy and safe for all --- but you must do your part. On August 22, all students received an email from Senior Vice Chancellor for Student Affairs Madeleine Estabrook on the expectations for behavior both on campus and off campus. Please read it carefully today.

To summarize:

  1. Gatherings on or off campus must conform to healthy practices as outlined by university and Massachusetts state guidance. If you host or attend an inappropriate party or gathering, you run the very real risk of immediate removal from the community.
  2. Wear a mask indoors and outdoors as you maintain a 6-foot distance from everyone.
  3. Get tested every three days using the COVID-19 Test Scheduler (Covid19-testing.northeastern.edu.) We may require more frequent testing as the semester progresses. It’s quick, easy and will help us to quickly identify and care for anyone who tests positive. I will not be told the identity of anyone who tests positive, and you do not need to share that information with me or anyone else unless you want to. If you receive a positive test result, you will be contacted by a member of the university’s telehealth team who will provide you with next steps.
  4. Do a Daily Wellness Check (wellness-check.northeastern.edu), wash your hands well and regularly, and disinfect high-touch surfaces and spaces.
  5. If you come to class without a mask, I’ll ask you to go and get one on campus. You can get a mask at the Visitor Center or at the Curry Student Center Help Desk. If you refuse to wear a mask in class, I won’t be able to continue the class. If you are not sitting six feet apart from your classmate, I’ll ask you to do so. We won’t be able to eat or drink in class (except water). If you test positive, you will need to enter isolation as directed by the university’s telehealth team. I expect that you will not come in-person to class and that you will follow the guidance from the university telehealth team to isolate and get appropriate healthcare if needed.
  6. Staying safe is a responsibility that we all must take seriously. Keep in mind the “Protect the Pack” theme. Remember that our individual actions will help everyone stay safe this fall.