CSE logo University of Washington Computer Science & Engineering
 CSE 561 Computer Networks
  CSE Home   About Us    Search    Contact Info 

CSE 561: Computer Networks

Instructor: David Wetherall (djw @ cs, office hours Tue 2:30-3:30)
TA: Michael Buettner (buettner @ cs, office hours by appointment)
Meetings: Tue/Thu 12:00-1:20, LOW 216
Pre-requisite: 550, 461, or permission of the instructor

Textbook: Peterson and Davie, Computer Networks: A Systems Approach, 4th Edition. This textbook is required (and not on the Kindle).

Mailing List:Please subscribe to the cse561 mailing list.

Anonymous Feedback anonymous feedback form

Project Page: Here.

Homework Page: Here.

Schedule and Reading List: Here.

Overview: This course is on how to design (good) computer network protocols. While it is relatively easy to learn how a specific network protocol works, it is surprisingly hard to design a good network protocol. The Internet is a great example - one can learn most of the aspects of how the Internet protocols work in a relatively short period of time, but that won't help you (much) in designing a new protocol. The Internet is successful for reasons that are mostly hidden in its design, embodying specific, debatable tradeoffs in balancing robustness, interoperability, scale, evolution, flexibility, operator incentives and security. And while you might think that we don't need any new protocols beyond the Internet, a quick look inside the Internet shows that it is still evolving rapidly, along with mobile phone networks, wireless and home networks, RFID and sensor networks, and so on; the need for understanding how to design better protocols has never been greater. This course will introduce the different, known design techniques. It will ask you to demonstrate an understanding by synthesizing them and exploring tradeoffs in projects, problems, and class discussion, and by discussing research papers.

Project: The best way to learn how to design protocols is by practice, and so a significant part of the course is a project. The project is to be done in groups of two, and chosen from a list of suggested projects. Alternatively, you may pose a project of your own creation with the permission of the instructor. The projects are all design-oriented, to let you exercise the material you have learned in the class. There will be a short status report from all the groups in class mid-way through the quarter, and presentations at the end of the quarter.

Readings: The reading list is a mixture of textbook material and research papers. The textbook material is designed to help you understand the basics of the project; the research papers are to look at issues more deeply and relate them to the state of the art. It is a requirement that you do the reading before class, as we will build on the textbook material and research papers as a starting point, not the end point of the class discussion. A goal for each class meeting will be to identify the limits of the research community's knowledge.

Problem Sets: There will be four short problem sets designed to test your understanding of material in the textbook and discussed in classes.

Final: There will be a take home final to be done during the June 7 to June 11 exam period, on the honor system. There is no midterm.

Grading: Class participation: 15%; Problem sets: 25%; Project: 35%; Final: 25%.


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