CS6220 Topics in Networks

Graduate course, IIT-Hyderabad, 2022

Instructor: Praveen Tammana

Class hours and Location:

  • Tuesday 11-12 pm
  • Wednesday 2:15-4 pm
  • Location: C-LH5


  • Ramya: cs20mtech11008@iith.ac.in
  • Ranjitha: cs21resch01002@iith.ac.in


  • UG: Comp. Networks-II (CS3543)
  • PG: Advanced Comp. Networks (CS5060), Softwared-Defined Networks (CS5643)


  • There are no official textbooks for this course. The material will be provided alongside each lecture.
  • However, you may find the textbooks below useful to understand the papers and lectures:
    • Computer Networking: Principles, protocols, and practice by Olivier Bonaventure, is openly and freely available, including the beta version of the third edition.
    • SDN: A Systems Approach: Version 1 by Peterson, Cascone, Davie, O’Connor, and Vachuska
    • Computer Networking: A Top-Down Approach, 6th edition, by James F. Kurose and Keith W. Ross.
    • Computer Networks: A Systems Approach, 6th edition, by Larry Peterson and Bruce Davie.
    • TCP/IP Illustrated, Volume 1: The Protocols by W. Richard Stevens.


  • This course will include reading papers, writing paper reviews, paper presentations by students, online and offline discussions, and a research project.
  • Each week you will read two papers and write review for one paper of your choice. Reviews have to be submitted one day before Tuesday’s class, that is, every Monday by 11:59pm (with exceptions in those weeks with project deadline).
  • Except few, almost in all classes we will form two groups (for and against) and discuss the strengths, weaknesses, areas to improve, and ways to build atop each papers.
  • Every student has to present one paper of their choice during the semester. The instructor will announce the dates and number of students per week after the class size is confirmed.
  • Research projects are semester-long programming projects. They can be done in teams of size two or individually. For team-based projects, students will be assessed individually based on their role in the project.
  • Project proposal will be finalized after reviewed by the instructor. It may involve one or more back-and-forth between instructor and team.
  • Project ideas can be discussed during the class hours or by appointment.
  • Projects can be an open-ended research project (novel research), a reproduction of empirical results from a paper you have read (Reproducing research), or reimplemention of a system on a new platform (Reproducing research), or anything substantial that is with in the scope of the course material.
  • Each team should prepare a 6-page report at the end of the semester. Instructions on the report structure is given below.
  • Every student will give a final presentation at the end of the semester on the project they have worked on during the semester. Watch How to give a great research talk.

Paper reviews

  • The reviews need not be long, but they need to answer the following questions:
    • What is the problem that the paper addresses?
    • Is this an important problem? Why?
    • How does the paper solve the problem? What are its key contributions?
    • What are strengths and weaknesses of the paper? (Name at least two of each)
    • What are possible next steps?
  • Grades are assigned based on the clarity, arguments you make, and constructive technical discussions.
  • You may find the notes below useful:

Project Proposal: Reproducing Research

  • Background
    • Name of paper
    • Brief summary of paper’s problem domain / challenge, goals, and technical approach
    • Summary of paper’s current implementation, evaluation strategy, and key results
  • Plan:
    • Proposed implementation (language, framework, etc.)
    • Evaluation strategy (testing platform/setup, simulated data/traces, etc.)
    • Key results trying to reproduce
    • Discussion of how you can compare your findings (quantitatively, qualitatively) with previously published results
    • New questions/settings trying to evaluate that are not addressed in the original paper

Project Proposal: Novel Research

  • Background
    • What problem is research attempting to solve?
    • Why is the problem important?
    • How does this relate directly to topics or papers covered in class
  • Novelty
    • What is the current state-of-the-art in related work, and why are they insufficient?
    • What is your (novel) technical insight/approach to solving this problem
  • Plan
    • Proposed implementation (language, framework, etc.)
    • Key questions that evaluation will address
    • Evaluation strategy (testing platform/setup, simulated data/traces, etc.)
    • What does “success” look like? How do you quantify/compare results to alternative approaches / related work?


  • Project proposal (Mar 11)
  • Mid-term project review (Mar 30)
  • Final project report (Apr 20)
  • Final project presentations (Apr 26/27 )


  • Paper reviews (30%)
  • Paper presentation (10%)
  • Class participation (10%)
  • Research project report and presentation (50%)


This course material is gathered from Jennifer Rexford, Rachit Agarwal, Anirudh Sivaraman, Srinivas Narayan, and Ang Chen. Many thanks to them.

Tentative schedule

WeekTopicsReadingsRecommended readings & Remarks
Jan 3-7 Introduction to paper reading
Jan 10-14Internet architecture and design principles
Jan 17-21Router design
Jan 24-28Datacenter Network Requirements
Jan 31- Feb 4Congestion control
Feb 7-11 Buffer week - -
Feb 14-18Software-defined Networks
Feb 21-25SDN-based WAN, peering, and traffic engineering
Feb 28 - Mar 04Programmable Networks
Mar 7-11Network monitoring and debugging
Mar 14-18Application load balancing
Mar 17-25 Semester break - -
Mar 28- Apr 1Fast control loop decisions
Apr 4-8Prog. networks for security and security for Prog. networks
Apr 11-15Network disaggregation, Smart NICs, Access-edge network
Apr 18-29 Project report dealine (Apr 20) and Project presentation (Apr 26/27) - -