Advanced Computer Networks


Most classes will have one or two assigned readings, which we will all read prior to class and discuss during the class. Reading the papers is essential to getting the most out of this course!

You must submit (on the class discussion site) a paper review for each of the assigned readings. A one-paragraph review is sufficient (longer is usually not better!). Your reviews should not summarize the paper or repeat the abstract we all read the paper already. Instead your review should comprise at least two comments on the paper. Your comments should supply information that is not in the paper itself. For example, a comment might be:

Here is an example of a review that is not good:

The paper introduces Inter-Galactic Networking, or IGN, which solves the problem of sending messages between galaxies. The authors introduce a novel protocol that can send packets long distances via a distributed array of wormhole actuators. The paper evaluated the design with a simulation and showed a 57% improvement over IP. Then the authors analyzed the delivery probability of messages and tradeoffs between delivery time and cost of replication along multiple paths. Also, on page 7 the authors misspelled "ambidextrous". The first author's mother was a hamster and his father smelt of elderberries.

That review is bad because it summarizes the paper (old news: we already read the paper!) and gives no interesting new thoughts or information. Worse still, it's long. Here is an example of a review that is good:

(1) The simulation was relatively realistic, but didn't measure the total round-trip latency including wormhole setup time for a new destination. So it was hard to know the range of distances at which IGN works better than traditional Inter-Planetary Networking. If most communication is local, IGN would help for only a minority of traffic. (2) The theoretical analysis is particularly valuable because their statistical techniques can probably be applied to terrestrial delay-tolerant and underwater networks too.

Submit your review by 11:59 pm the night before the lecture for which the paper was assigned, by posting it on the class discussion site.

You are encouraged to read, think about, and comment on the other students' reviews, so that our time will be productive when we are all together discussing the papers. However, it would be prudent to at least jot down notes on your own thoughts independently, before you read the other students' comments. Your reviews should contain material that doesn't appear in the other students' reviews. (If you independently produce the same comment, that's fine. Copying other students' reviews, however, is obviously plagiarism.)

You may skip any 2 paper reviews over the course of the semester without affecting your grade. You may find this useful if you attend a conference, have a qualifying exam, etc. Except in extreme cases, the instructor will not grant additional free passes on the reviews.

Reviews that are submitted on time and meet the guidelines above will be given full credit. The overall review grade for the course may be determined based on a random sample of reviews over the semester.

Class participation

Comment, question, and interact! I ask that you do not use laptops during class. This way, we'll all be maximally engaged.

Topic presentations

Each student will give a presentation on one topic during the semester. The goals are for you to learn more about a particular area of interest related to our assigned readings, and give an overview of what you learned to the rest of the class. Here is what you should do:

  1. Early in the semester, we'll match students to the available topics. You'll probably work in a group of two or three.
  2. To prepare for your presentation, pick one "primary paper" to cover in depth, and 2-3 related papers. You can choose these papers from the optional readings for your topic on the course web site (not the required reading!), or others that you find. At least one related paper should be one you find on your own.
  3. At least one week before your presentation date, tell me what papers you plan to cover, and arrange a meeting time with me to go over your draft presentation. I will then approve the papers or suggest other papers you should cover instead or in addition to what you pick.
  4. Prepare a presentation on your topic. Your presentation should be 20-25 minutes in length, not counting discussion time (which can make it grow much longer). A format that generally works well is to focus primarily on one paper to cover in detail, spending maybe 10 minutes on that paper. In the rest of the time, summarize the key ideas of the other papers, and compare them to your primary paper, the required reading, and/or other research in this area.
  5. Prepare two discussion questions.
  6. Meet with the instructor to discuss your draft presentation, 1-2 days before your presentation.

Can a presentation use the paper author's slides? Yes, if you like. But if you do this, you must clearly credit the source of the slides in your presentation. And since you are covering a topic rather than a paper, a good presentation will tie together and compare concepts across papers --- not just cut-and-paste someone else's presentation of one paper.

Should I present the required reading? The day's required reading should not be one of the 3-4 papers that you pick. We have all already read the required reading! You don't want to bore your audience. However, what you can do is make use of our shared knowledge by making connections or comparisons with the required reading.

Do you have any general advice in preparing the presentation? Why yes, thanks for asking:


There will be 2 assignments during the semester. The first will be a homework introducing several tools for experimental networking research. The second will be a take-home exam covering roughly the first 2/3 of the course. There will be no final exam, but we do have a poster session during the final exam period (see below).

Research project

The research project is one of the highlights of the course. The goal is to conduct novel research related to networking that, by the end of the semester, would be publishable as a short paper in a top quality workshop like HotNets, and when expanded to a full paper would be publishable in a top-quality conference.

Past projects in this class have been quite successful. Here are some projects that went on to be published:

You may work alone or in groups of 2-3. Larger groups should discuss with the instructor first.

The steps in the research project are as follows:

  1. During the first two weeks of the course, you should think about projects you might like to do. The instructor will suggest some topics, but it's even better if you have ideas of your own.
  2. Project proposal: Submit a project proposal to the instructor via email. Simple plain text with no attachments is preferred. If you use an attachment, it must be plaintext or PDF. The specific deadline will be posted on the course schedule. The proposal should be at most a half page of text, describing:
    • the problem you plan to address
    • what will be your first steps to attack the problem
    • what is the most closely related work, with at least 3 full academic paper citations (title, authors, publication venue, year) plus paper URLs, and why your proposed problem is new. You should actively search for related work, not just cite papers that the instructor mentions.
    • if there are multiple people on your project team, who they are and how you plan to partition the work among the team
    The proposal can be short as long as it demonstrates that you have a plausible project and know how to attack it. The instructor will either approve the project or ask for a revision.
  3. Midterm presentation: Give a 5-minute presentation in class describing what problem you are solving, why existing approaches will not solve your problem, your solution approach, and your progress in your solution. You must demonstrate progress in your solution and the midterm presentation is worth 10% of your final course grade, so it would be good to start work on the project early!
  4. Final paper: This is a short paper suitable for submission to a workshop. It should clearly state the problem being solved, importance of problem, Related work, Your approach, evaluation, and results, Summary of conclusions, discussion of limitations, and future work. The paper should be at most 8 pages for one-person projects, and at most 12 pages for two-person projects. But you will be judged on results, not pagecount!
  5. Poster presentation: At the end of the course, during the final exam period, we will have a poster session. This will be an opportunity for the instructor to ask questions about your project, and also for other students and faculty in the department to see the cool work that you've done.

Dates for the above steps will be announced on the class schedule. In general, you are encouraged to meet with the instructor and seek advice on the project as often as you like.

Can a project be shared with another course's project or independent research? It is OK, and often a good idea, to work on a class project that complements your other ongoing projects and has a related topic. However, you should identify the piece of the larger project that you are working on for 538, with separate pieces for other courses. Check with your other instructors as well.


The overall score will be converted to a letter grade, with the following "worst-case" cutoffs:

These are "worst-case" in the sense that the cutoffs might be lowered, but won't be raised.


There is no required textbook. If you haven't taken an undergraduate networking course, or if you need a refresher, you might take a look at standard books such as

There are two recent graduate-level books focusing on mathematical aspects of networking:

Academic honesty and cheating

The author of all writing, ideas, and other work must be clearly credited. For example, if your presentation of a past paper uses some slides from the author, you must credit the author.

The standard penalty for a first instance of cheating is a grade of zero on the assignment in question, plus a reduction of one full letter grade in your final course grade.

For details, please see the departmental honor code.