6.829: Computer Networks, Fall 2016

Instructors: Hari Balakrishnan and Mohammad Alizadeh

TA: Hongzi Mao, Frank Wang

Lectures: Tue/Thr 1:00-2:30pm at 32-144

Office Hours:

  • Hari and Mohammad: By appointment

  • Hongzi: Tue 2:30-3:30pm at 32-G918

  • Frank: Wed 10:00-11:00am at 32-G978

Course Overview

6.829 is a graduate-level introduction to classic and advanced topics in computer networks. It counts towards the TQE in Systems for CS and EE PhD students, and will also be appropriate for MEng and undergraduate students with the prerequisite background.

Over the past two decades, the Internet has grown from a research curiosity to something we all rely on daily. It has been able to withstand rapid growth and accommodate numerous unforeseen applications.

How does this global infrastructure work? What design principles allow it to scale well? What settings render these principles inadequate, and why? How can we make it work much better in the future? These are some questions that we will address in this course.

Our goals are:

  • to understand a good slice of the state-of-the-art in network architecture, protocols, and networked systems, and

  • to understand how to conduct networking research and develop innovative ideas.

Topics include the principles and practice of:

  • Internet architecture: resource management and congestion control, inter-domain routing, mobility, naming

  • “Underlay” networks: wireless and datacenter networks, software-defined networks, and programmable data-planes

  • “Overlay” networks: content distribution networks, peer-to-peer networks, video streaming, and web performance


  • Solutions for Quiz are released.

  • Solutions for Pset3 are released.

  • Past quiz from 2013 is posted.

  • Pset 3 is released. It will be due on Nov 8 at 11:59 pm EST.

  • Solutions for Pset1 are released.

  • Pset 2 is released. It will be due on Oct 24 at 11:59 pm EST.

  • Sign up for the project here.

  • Project proposal submission deadline is extended to 11:59PM Oct 10 (Monday).

  • Logistics of the project and some suggested project ideas are released.

  • Pset 1 is released. A PDF copy of Pset1 webpage can be found here.

  • The lecture on Tuesday, September 13, will be from 1:30-2:30pm.

  • The first lecture will be on Thursday, September 8.

  • Sign up for the 6.829 Piazza forum. We'll be using Piazza for Q&A and other discussions, so please sign up ASAP.

About the Course


12 (3-0-9). Requirements satisfied: TQE, AUS, Grad-H subject.


6.033 or 6.02 (or equivalent). This requirement may be waived for students with strong undergraduate-level background in networked systems, with the instructor's permission. Experience with at least one programming language, such as Python or C (ideally both).


We will be using the 6.829 Piazza forum for Q&A and other discussions. Please sign up and check Piazza regularly.

Grading policy

The class will be graded as follows:

  • Reading and participation: 10%

  • Three PSets: 25%

  • One quiz: 25%

  • Project: 40%


Each lecture will have one assigned paper reading. All students are expected to thoroughly read the paper, and answer a few questions about the assigned paper before each lecture. This is essential to get the most out of the class!

The questions for each lecture will be posted on the Lectures page. Please submit answers using the Answer submission page. The answers are due by 12am (midnight) the night before the lecture.


We expect you to attend all lectures, unless there are pressing or unforeseen conflicts. Conflicts that are persistent (e.g., registering for another class at the same time and “splitting” attendance between them) are not excused.

Problem Sets

There will be three PSets posted on this website (see sidebar) throughout the semester. The PSets will include theory problems and a programming task (in Python or C++) that involves exploring concepts from the class. Each PSet is due on the date specified; usually this will be about 2 weeks after the PSet is published.

Late policy: You may use up to five extension days (in total) over the course of the semester for the three PSets, apportioned in any way. To claim an extension day, contact the TA. For any other late PSet, your score will be multiplied by 0.5; moreover, you must submit it within 7 days of the original due date to get any credit. If you have a note from Student Support Services, please contact the instructors. For all other circumstances (interview trips, sporting events, performances, overwork, etc.) you may use your extensions. If these days are not enough, please contact the instructors.

Collaboration policy: The PSets must be done individually. You may get help from the course staff and other students on the underlying material in the PSets, but the work you hand in must be your own. In particular, you must not copy another person's solution, code, or other work. Someone telling you the solution to a problem is also not acceptable. Copying another person's work or allowing your work to be copied by others is a serious academic offense and will be treated as such.


There will be one quiz, in-class, on Tuesday, November 15.


The term project is a key part of the class. Students will propose and conduct the project in groups of 2-3. The project milestones and rough timeline are as follows:

  • Proposal (1-2 pages): October 7

  • Final Presentation: December 8-9