CS 395/495: Advanced Networking: Syllabus


Aleksandar Kuzmanovic, Assistant Professor
Room 356, 1890 Maple Ave., 847-467-5519.
Office Hours: By appointment


Lectures: Monday and Wednesday 3:30-4:50pm, Room 381, 1890 Maple.

Teaching Assistant

Stefan Birrer
Room 246, 1890 Maple Ave, 847-491-7060, sbirrer@cs.northwestern.edu
Office Hours: TBA


The Internet has evolved from a small, well controlled, and trusted network, into a gigantic, loosely controlled, and highly uncooperative infrastructure of astonishing scale and complexity. Not only that different hosts or networks have divergent functional or economical interests, but the Internet has become a “playground” for malicious denial-of-service attackers of all kinds. Moreover, its everyday operation is often poorly understood, and existing solutions to many of the classical challenges remain unsatisfactory. Hence, the design of Internet is far from complete, and it is certain that it will continue to change. This class is intended to help you understand how and why, by letting the Internet to become your “playground” for a quarter.


The key goals of this course are the following: (1) to let you understand the fundamental ideas that underline the design of large-scale distributed computer networks, and (2) to help you learn how to do networking systems research. You will achieve the above by reviewing, presenting, and discussing a number of mostly new, and sometimes classical networking research papers. We will cover a broad range of topics including Internet evolution and architectures, network and system design, reliability, congestion control in high-speed and ad-hoc wireless networks, quality of service, network scaling and Internet routing and measurements; also, we will pay a particular attention to denial-of-service attacks and denial-of-service-resilient protocol design in p2p and ad-hoc wireless networks. The above class activities are intended to let you learn about networking and research at the same time. But the best way to learn how to do research is to do research. Hence, you will do a research project.


Students will form teams of two; each team will tackle a well-defined research project during the quarter. A list of suggested project topics will be provided. All projects are subjected to approval by the instructor. The project component will include a short written project proposal, a short mid-term project report, a final project presentation, and a final project report. Each component adds some significant element to the paper, and the overall project grade will be based on the quality of each component of your work. The above project components are due by email to both the instructor and TA by the end of the given day of the respective week.

         Week 1 (Wednesday 3/30) Find a partner, choose a topic for your project, and meet with the instructor.

         Week 3 (Monday 4/11) Write an introduction describing the problem and how you plan to approach it (what will you actually do?). Include motivation (why does the problem matter?) and related work (what have others already done about it?). 3 pages total.

         Week 6 (Wednesday 5/4) Update your paper to include your preliminary results. 6 pages total.

         Week 10 (Wednesday 6/1): Presentations by all groups.

         Week 11 (Friday 6/10) Turn in your completed paper. 12 pages total. You should incorporate the comments received during the presentation.

Each team will schedule a weekly meeting (30 minutes) with the instructor during the quarter.


         Paper reviews: 10%

         Presentations and debating in the class: 25%

         Class participation and discussion (when you are not leading the debate): 15%

         Projects 50% (Project proposal: 5%; Midterm report: 5%; weekly report and meeting: 10%; project presentation: 10%;final project report: 20%)

         Research idea report (required, up to 3 pages): extra 10%


Required CS 340 or equivalent networking course

Highly recommended CS 213 or equivalent computer systems course

Highly recommended CS 343 or equivalent operating systems course


Classes, Textbook, and other readings

There will be no textbook for this class. A key part of the class will be to review and discuss networking research papers. Students must read the assigned papers and submit paper reviews before each lecture. Two teams of students will be chosen to debate and lead the discussion. One team will be designated the offense and the other the defense. In class, the defense team will present first. For 30 minutes the team will discuss the work as if it were their own.

         The team should present the work and make a compelling case why the contribution is significant. This will include the context of the contribution, prior work, and in cases where papers are previously published, how the work has influenced the research community or industry's directions (impact). If the paper is very recent, the defense should present arguments for the potential impact. Coming up with potential future work can show how the paper opens doors to new research.

         The presentation should go well beyond a paper "summary". The defense should not critique the work other than to try to pre-empt attacks from the offense (e.g., by explicitly limiting the scope of the contribution).

         The defense should also try to look up related work to support their case (CiteSeer is a good place to start looking).

After the defense presentation, the offense team will state their case for 20 minutes.

         This team should critique the work, and make a case for missing links, unaddressed issues, lack of impact, inappropriateness of the problem formulation, etc.

         The more insightful and less obvious the criticisms the better.

         While the offense should prepare remarks in advance, they should also react to the points made by the defense.

         The offense should also try to look up related work to support their case (CiteSeer is a good place to start looking).

Next, the defense and offense will be allowed follow up arguments, and finally, the class will question either side either for clarifications or to add to the discussions and controversy and make their own points on either side.

         The presentations should be written in Powerpoint format and will be posted on the course web page after each class.

Writing and Submitting Reviews


All students must read the assigned papers and write reviews for the papers before each lecture. Email the reviews to the instructor (akuzma@cs.northwestern.edu) prior to each lecture and the reviews will be posted on the course web page. Periodically, the instructor will evaluate a random subset of the reviews and provide feedback and grades to students.
Please send one review in plain text per email in the body of the email message.

A review should summarize the paper sufficiently to demonstrate your understanding, should point out the paper's contributions, strengths as well as weaknesses. Think in terms of what makes good research? What qualities make a good paper? What are the potential future impacts of the work? Note that there is no right or wrong answer to these questions. A review's quality will mainly depend on its thoughtfulness. Restating the abstract/conclusion of the paper will not earn a top grade. Reviews are roughly half-page and should cover all of the following aspects:

         What is the main result of the paper? (one or two sentence summary)

         What strengths do you see in this paper? (your review needs have at least one or two positive things to say)

         What are some key limitations, unproven assumptions, or methodological problems with the work?

         How could the work be improved?

         What is its relevance today, or what future work does it suggest?


         Course web site: http://www.cs.northwestern.edu/~akuzma/classes/cs495-s05/. Check it out regularly for schedule changes and other course-related announcements.


March, 2005, Aleksandar Kuzmanovic