Retro prof in the lab University of Washington Department of Computer Science & Engineering
 CSE 561: Computer Communication and Networks
  CSE Home     Up  About Us    Search    Contact Info 

 Readings and Schedule
 Mailing ListCSE only
 ProjectsCSE only

Mondays and Wednesdays, 12:30-2:00 in Savery 341 (status)

Instructor: Tom Anderson (mail)

TA: Janet Davis (mail)

Textbook: Peterson and Davie, Computer Networks: A Systems Approach, 2nd Ed. (publisher's site)

Textbook Errata: The textbook has a few bug-fixes.



This course is primarily about how to do (systems) research, and secondarily about the state of the art in designing and implementing computer network protocols. Since research (like writing) has to be about something, we'll use computer networking as a vehicle for studying how to do research, and we'll necessarily need to dive into many details of how computer networks work. But the overriding goal of the course is to help students learn to be better researchers, in whatever their area of focus.

Networking is both a terrible and a great topic to use in learning how to do research. The Internet is obviously a remarkable engineering triumph. It is one of the few systems of any kind to have successfully scaled in numbers of users by six orders of magnitude while providing (nearly) continuous service over the past three decades. Thus, how could we possibly improve on such a track record of success? Yet the Internet's design is riddled with hidden assumptions, and one of our goals will be to ferret out those assumptions, examine them, and ask whether they are justified and whether they can be experimentally verified. Thus, a key part of the course will be to read a mixture of old and new research papers, critique them, and discuss them in class. There will also be occasional homework and a take home final to help students synthesize the course material.

The best way to learn how to do research is to do research, and thus a major part of the course will be to split up into small teams to do a networking research project. We will provide a candidate list of topics, and work with teams throughout the quarter on their projects. The end result will be a research paper and half-hour presentation to the rest of the class. In addition to the instructor and TA, a small team of students will provide a peer review of each group's paper and presentation.

The course will assume no pre-existing knowledge of the Internet protocols.


Class discussion15%
Paper critiques10%
Final (take home)20%
Course project50%


In addition to background reading in the Peterson and Davie textbook, the course involves reading approximately 40 research papers in networking; students are required to read all of the papers, and submit written critiques of 20 of those papers (students may choose which ones to review). Reviews are submitted through the hypermail system on the class web page, and are due at 9am on the day of the class where the paper is being discussed, to give the instructor and the class time to read each others reviews. Reviews should be roughly a half-page (no more than one page), and cover:

  • What is the main result of the paper? (one-two sentence summary)
  • What positive things can you say about the paper? (every review should have at least one or two positive things to say)
  • What are the key limitations, unproven assumptions, or methodological problems with the work?
  • How could the work be improved?

The paper summaries will be graded on a scale of 0-3. You get 0 if you didn't turn in the summary. You get 1 if you turned in a weak summary that didn't convince us that you understood the paper. Most grades are 2's: this is what you get if you clearly read and understood the paper, and had something interesting to say. 3 is reserved for exceptional insight, and very few are given out.


The networking research project will be staged, much as a normal research effort would be, with frequent milestones. Each milestone adds some significant element to the paper. Each milestone will be graded, and the overall project grade will be based on the quality of the work at each milestone, in addition to the end result. Also, the instructor and/or the TA expect to meet with teams four or five times during the quarter, to help teams sharpen the focus of their project, discuss experimental method, etc. The milestones are (due Tuesday, 5pm of the respective week):

  • Week 2 (Oct 8, 5pm): Form team, choose project, write 1 page outline
  • Week 4 (Oct 22, 5pm): Add to outline: introduction/motivation, list of graphs to be drawn (3 pages)
  • Week 6 (Nov 5, 5pm): Add: related work section, complete one graph (5 pages) Cancelled: See Tom's email
  • Week 8: (Nov 19, 5pm): Add: methodology section, complete two graphs (7 pages)
  • Week 11 (Dec 10, 5pm): Completed paper
  • Week 11 (Dec 12, TBA): Presentation


The take home final will be handed out at 5pm on Dec. 12, and will be due back at 5pm on Dec. 19. So that students don't take the entire final exam period working on it, the exam is designed to take no more than two days. Students may take any contiguous 48 hour period during that period of the 12th - 19th to work on the final, on the honor system.

CSE logo Department of Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to jlnd]