CS 395/495: Advanced
Networking: Syllabus
Instructor
Aleksandar
Kuzmanovic, Assistant Professor
Room 356,
Office Hours: By appointment
Lectures: Monday and
Wednesday 3:30-4:50pm, Room 381, 1890 Maple.
Stefan Birrer
Room 246,
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
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.
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