Stanford University Logo

CS244: Advanced Topics in Networking

Winter 2010

Nick McKeown,  Guido Appenzeller,   Martin Casado

Guest Lecturers: Sachin Katti, Tom Edsall

Lectures: Tue, Thu 2:15-3:30PM, 380-380C

Course Description

CS244 is a graduate course in computer networks. The course is being offered for the second time this year.

The goals for this class are:

In the past two decades, the Internet has grown from a research tool to a fundamental part of society; something we all take for granted and use everyday. In this class we'll explore why the infrastructure was designed this way, and the underlying principles and design decisions. We'll explore the pros and cons of the current design, and give some thought to how we can make the Internet better in future.

Announcements

Click here to see the latest announcements.

About the Course:

  1. Prerequisites

  2. Course Organization and Workload

  3. Grading Policy

  4. Exams

  5. Pop Quizzes

  6. Contacting the Staff

  7. CS244 and the Honor Code

Prerequisites

The prerequisite for this class is CS 144, EE 284 or the equivalent. It is necessary to have this background before taking the class, as we'll read a lot papers quickly without much time for catching up on the basics. The course assumes an understanding of topics in networking such as packet-switching, routing (distance vector and shortest path first), socket programming, and congestion control. You need an SUNetID to access the papers and print them. We won't be providing printed handouts for this class.

Course Organization and Workload

The course is quite strongly based on the model used in CS240 (upon which this description is heavily based). The course consists of lectures, readings, and one exam. The two most important things to know about the class: (1) the main goal is to have interesting in-class discussions and (2) we recommend you read each paper at least three times: twice very carefully, the last time focusing on the hard parts. For any artifact the paper describes you should draw a picture. This should all be done more than a day in advance so that it sinks in. Most of the work in this course consists of reading journal and conference papers. We will cover one or two papers for each class meeting. This class will be primarily discussion based (rather than organized around lectures). Active discussion will (hopefully) give you a non-trivial understanding of the material. The only way this approach can work is if you read the papers carefully. To encourage this, a significant fraction of your class grade will come from class participation and surprise pop quizzes. Class time will not be used to rehash the material in the papers. Instead, it will be used to highlight the important points and discuss some of the more interesting features. There will be as much as 10-15 hours of reading per week. Do not take this course unless you are willing and able to do a lot of reading.

Grading Policy

The class is graded on a rough curve.

Is class participation based solely on attendance? No. Attendance is a necessary but not sufficient condition for good class participation. As far as attendance is concerned, the general policy is that a student will automatically receive a deduction of one letter grade for missing more than 3 lectures. We will not take official roll during lecture, but because we make the effort to know everyone in the class. We will notice if a student is frequently absent. If you have any concerns about not being able to regularly attend class (e.g., you will have to miss several classes during the quarter) please discuss this as soon as possible with the course staff. Beyond attendance, we evaluate class participation largely by observing how prepared students are to discuss the covered paper when they come to class. This is not a trivial requirement because we expect papers to have been read thoroughly prior to lecture.

Exams

There will be one final exam in the slot scheduled by the registrar. Details will be posted when available.

Pop Quizzes

We will have several surprise quizzes spread throughout the quarter. These will always take place in the first 10 minutes of class. The goal is to encourage attendance and for you to read the papers thoroughly. The quizzes won't be hard - if you carefully read the assigned papers, you can expect to get 100% on each quiz. For obvious reasons, there won't be any make-up pop quizzes for any reason.

Contacting the Staff

Almost all questions should be posted to the class newsgroup, su.class.cs244 --- if you have a question, other people probably have the same one (or should). All course announcements will be put on to the class web page. The news group is a good place to advertise for study groups, ask questions of other students, etc. You'll find the course staff respond quickly to questions on the newsgroup - we will try to answer within 24 hours. If and only if your question is private (e.g. you are sick and have to miss class), then please send email to cs244-win0809-staff@lists.stanford.edu and prefix the subject line with "CS244" for a prompt response. Announcements from the staff will be sent via the cs244-win0809-students@lists.stanford.edu mailing list to which any registered student will automatically be added. Please don't ever send email to the class mailing list -- we'd all be flooded with emails. The names of the teaching assistants and all our office hours are posted on the Staff web page.

CS244 and the Honor Code

In previous years, several students taking CS244a were found guilty of violating the Stanford Honor Code. In this course, the Honor Code is taken seriously and I expect all students to do the same. The good news is that the vast majority of students do take the Honor Code seriously. The bad news is that historical evidence indicates that some students will submit work that is not their own, shortchanging not only their own learning, but undermining the atmosphere of trust and individual achievement that characterizes Stanford's academic community. To protect academic integrity and the interests of all students, the course staff will investigate all possible Honor Code violations and refer them to the Office of Judicial Affairs as necessary. I'm pleased to report that for the last time CS244 was offered, no-one was found to have violated the Honor Code. Please help us make it seven happy years in a row! If you have any questions or doubts about the Honor Code, please come and talk to me. Honor code violations are no laughing matter at Stanford and it is much better to ask what might seem like a silly question now than to risk your academic career. The Honor Code has a long tradition at Stanford dating back to Spring 1921 when the University first adopted the honor system. Today the Honor Code continues to govern academic conduct of both students and faculty at Stanford. The Honor code reads as follows: THE STANFORD UNIVERSITY HONOR CODE

  1. The Honor Code is an undertaking of the students, individually and collectively: (i) that they will not give or receive aid in examinations; that they will not give or receive unpermitted aid in class work, in the preparation of reports, or in any other work that is to be used by the instructor as the basis of grading; (ii) that they will do their share and take an active part in seeing to it that others as well as themselves uphold the spirit and letter of the Honor Code.

  2. The faculty on its part manifests its confidence in the honor of its students by refraining from proctoring examinations and from taking unusual and unreasonable precautions to prevent the forms of dishonesty mentioned above. The faculty will also avoid, as far as practicable, academic procedures that create temptations to violate the Honor Code.

  3. While the faculty alone has the right and obligation to set academic requirements, the students and faculty will work together to establish optimal conditions for honorable academic work.

The underlying premise of the policy is that all academic work represents independent, original work of the author and the Honor Code aims to foster an academic environment that encourages adherence to these principles. As we are all bound to respect and uphold the Honor Code, it is important to define acceptable and unacceptable behaviors with regard to this course so as to eliminate any ambiguity. Permitted Collaboration: The following items are encouraged and allowed at all times for all students in this class:

Collaboration Requiring Citation: Two students engaging in more detailed discussions must be careful to document their collaboration. Students are required to include the names of those who provide specific assistance to properly credit their contribution, in the same manner as one would cite a reference in a research paper. The expectation is that even with a citation, the author must be able to explain the solution. Some examples of collaboration that require citation include:

Unpermitted Collaboration: All submissions must represent original, independent work. Some examples of activities that do not represent original work include:

This section on the Honor Code was based on a handout from Tom Fountain, who teaches EE182 at Stanford. Some portions are based on similar collaboration policies written by Eric Roberts, Julie Zelenski, and the Computer Science Department at Brown University.