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 wiki) 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 include 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 wiki. 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. Please write your review before you read the other students' comments! Your reviews should contain at least some 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. Thus it's safest if you write your review before looking at what others wrote.)

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.

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.
  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. The presentation should do two things. First, it should describe the primary paper and how it relates to the required reading for that day (this should take roughly 10 minutes of your presentation). Second, it should summarize the 2-3 related papers (this should take roughly 5 minutes of your presentation) and compare them to your primary paper, the required reading, and/or other research in this area.
  5. Prepare 2 (or more) 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 multiple papers, a good presentation will tie together and compare concepts across papers --- not just cut-and-paste someone else's presentation of one paper.


There will be about 2 homeworks or quizzes. 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 the highlight 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 two. Larger groups should discuss with the instructor first.

The main 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 plaintext email in early September (the exact date will be posted on the course schedule). The proposal should be at most a half page of text, informally describing
    • the problem you plan to address,
    • what will be your first steps to attack the problem,
    • what is the most closely related work, and why it has not addressed your problem, and
    • if there are multiple people on your project team, who they are and how you plan to partition the work among the team.
    Remember ... the proposal can be short and informal 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.


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 like those by Peterson and Davie, Tanenbaum, Kurose and Ross, etc.

Academic honesty and cheating

The basic rule is that 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.