CS244: Advanced Topics in Networking, Spring 2017
Professor: Keith Winstein and Sachin Katti
Lectures: Mon, Wed 3:00PM - 4:20PM at Building 380-380Y
Discussion Sections: Fridays 2:30PM - 3:20PM in Gates B-12. Held only when announced.
CS244 is a graduate course in computer networks. Spring 2016-17 marks the eighth offering of this class.
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.
About the Course
You must have taken CS 144, EE 284 or equivalent. If you have any doubt, ask for permission from Keith or Sachin. This background is essential before taking the class, as we'll read a lot papers quickly without time to catch 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.
If you want to refresh your background, the following textbooks might be useful:
You need to be able to program in Python.
Organization and Workload
The course is based on CS240 (Advanced Topics in Operating Systems). The class consists of two main activities:
The class is graded as follows:
Before each class, you must submit a short critique of the required readings. To submit your critique, follow the critique submission link. Critiques will be accepted until 12am (midnight) the night before class. The purpose of the critique is to ensure you've read the papers before class and therefore all late submissions will be automatically rejected, so please respect the deadline.
It is not possible to make up for a missed critique so please do not email the staff for late day requests.
Is class participation based solely on attendance? No. Attendance is a necessary but not sufficient condition for good class participation. 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 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.
We will have three programming assignments throughout the quarter. Please see the assignment section for details on how to submit each assignment.
There will be one midterm exam. We will post sample exams soon.
We try hard to balance two constraints. On one hand, there are a lot of students in the class and we need to be strict about deadlines. If assignments are not turned in on time, it delays the grading of your work, and your TAs have to juggle grading different assignments at the same time. We've found that this makes the class unmanageable, and your TAs are left with less time to answer questions and help you with your assignments. On the other hand, emergencies happen from time to time. So here is the policy: If you hand in an assignment 0-24 hours late, you will lose 25% of the grade. 24-48 hours late and you will lose 50% of the grade. 48-72 hours late you will lose 75% of the grade. After 72 hours you will receive a zero.
Despite the tough stuff above, you have one free late of 24 hours for one programming assignment. You can use it whenever you wish, but you must email both the TAs before the deadline to use your free late. Just like above, the 24 hours is a hard deadline, with no further extensions. We hope this lets you manage your quarter.
Please do not ask TAs for extensions as they are not authorized to grant them. If you have a medical emergency, then email the instructor to request an extension. At times, there may be system problems with the computer cluster which may prevent you from completing your assignment on time. In these cases an extension will be granted to the entire class.