CSE 222a Syllabus, Spring 2017

CSE 222a is a graduate course on computer networks. The continued exponential growth of the Internet has made the network an important part of our everyday lives. Companies use the network to conduct business, doctors to diagnose medical issues, etc. This course will provide a broad understanding of exactly how the network infrastructure supports distributed applications. Topics covered in the course include: Internet routing, software-defined networking, datacenters, content distribution networks, and peer-to-peer systems. This is a research-oriented course focusing on current and classic papers from the research literature.

Prerequisites for the course include a general understanding of strong background in computer networks, distributed systems, and operating systems.


Teaching staff

Discussion site

You may optionally use the Piazza discussion site to discuss papers. The signup link is: http://piazza.com/ucsd/spring2017/cse222a. This discussion forum is not necessarily monitored by the TAs or Professor, so if you have any urgent or timely requests, please directly email the TAs/Professor.

Required and optional texts

The course materials consist of current and historical research papers, available on campus via links in the course schedule. These papers are available free of charge for UC San Diego students accessing these links from on campus (or via the campus VPN).

Printing: If you plan to print out all of the papers this term (rather than reading them electronically), I strongly urge you to go to Imprints (in the Price Center, near Perks Coffee) or to the Imprints in the main library and have them do the printing. You may not use departmental printers in the CSE building to print out all of the papers!


Grades in this course will be determined as follows:

During the course we'll occasionally have a pre-discussion quiz, which is a very short reading quiz that will be given at the beginning of class to ensure that you've absorbed the main ideas in the paper. These will be given unpredictably during the quarter.

Twice during the term we'll have an in-class quiz on material covered up to that point. There will also be a final exam given during the final exam period, covering all of the material covered in the course.

You must pass the final exam to pass the course

If you feel like an assignment was not graded properly, you must let the instructor know in writing within one week of the assignment being returned to you. Regrade requests raised after one week will not be considered.

Previous exam solutions

Participation and attendance

You are required to attend all class meetings and are responsible for all material covered in class and any quizzes or assignments given during class, and any activities that we do during the class time. You must be present for the final exam, and so do not plan any travel that conflict with the final exam schedule.

If you cannot make class due to a professional conflict (e.g., attending a conference, going to a job interview, etc.) please let me know in advance so I can accommodate that absence.

Note that this course is reading-intensive, requiring a considerable amount of out-of-class time to absorb all of the technical content in the research literature we're going to cover.

Academic integrity policy

In this course, you are expected to adhere to the UCSD Policy on Integrity of scholarship. Any violations of the academic integrity policy, including cheating on any of the assignments or assessments, will result in an F in the course and referral to the Office of Academic Integrity.

Disability Access

The University is committed to providing reasonable accommodations for all persons with disabilities. This syllabus is available in alternate formats upon request. Students who need accommodations must be registered with Student Disability Services. Students with special needs who meet criteria for the Americans with Disabilities Act (ADA) provisions must provide written documentation of the need for accommodations from the Counseling Center by the end of week three of the class in order for the instructor to plan accordingly. Failure to provide written documentation will prevent your instructor from making the necessary accommodations. Please refer any questions to the Dean of Students.

Title IX Compliance

The University recognizes the inherent dignity of all individuals and promotes respect for all people. If you feel that any part of the class, members of the class, or teaching staff are not upholding this standard, please let the instructor know immediately, or if you wish to remain anonymous, you can reach out to a confidential source at the Counseling and Psychological Services.

Course schedule

Local PDF copies of all of the papers are located at this link (sign in with your UCSD account)
4/3First day of class (no papers discussed)
4/7Interdomain Internet Routing
4/10End-to-end routing behavior in the Internet
4/12The case for separating routing from routers
4/17B4: Experience with a Globally-Deployed Software Defined WAN (part 2)
4/19Active network vision and reality: lessons from a capsule-based system
OpenFlow: enabling innovation in campus networks (if you aren't familiar with OpenFlow)
4/21Onix: a distributed control platform for large-scale production networks
4/24The click modular router
4/26Quiz 1
4/28P4: Programming Protocol-Independent Packet Processors
5/1A scalable, commodity data center network architecture
5/3PortLand: a scalable fault-tolerant layer 2 data center network fabric
5/5Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google's Datacenter Network
5/8Data center TCP (DCTCP)
5/10Design, implementation and evaluation of congestion control for multipath TCP
5/12 Ananta: cloud scale load balancing
5/15 Ananta: cloud scale load balancing (con't)
5/17Quiz 2
5/19EyeQ: practical network performance isolation for the multi-tenant cloud
5/22Helios: a hybrid electrical/optical switch architecture for modular data centers
5/24Chord: A scalable peer-to-peer lookup service for internet applications
5/26No class
5/29University holiday (no class)
5/31Polaris: faster page loads using fine-grained dependency tracking
6/5MegaPipe: a new programming interface for scalable network I/O
6/7BlindBox: Deep Packet Inspection over Encrypted Traffic
6/9Alibi Routing