Please reference the syllabus below. As the semester progresses, updates to the syllabus will be posted here. A few of the lectures may changed or moved, as indicated by an asterisk. The instructor will aim to solicit class feedback to determine actual content. All lectures will be posted online, by 7pm of the noted date. Lectures may be posted beforehand on an as needed basis. Please contact the instructor if you have any questions.

Week Date Topics Readings Notes
1 Tues, June 2 Course Intro; Layered Architecture Chapter 1
How to Read a Paper
1 Wed, June 3 Phy Layer, Data Link Layer Chapter 2 to 2.4 Programming Assignment 1 released and is due on Tues, June 16 at 11pm
1 Thurs, June 4 Reliable Protocol Design Chapter 2.5 to 2.8
2 Tues, June 9 Local Area Networks: Ethernet, Switching Chapter 3 Problem Set 1 released, due Fri, June 12 at 11pm
2 Wed, June 10 Wireless Intro (1/2) Chapter 2.7, 2.8
2 Thurs, June 11 Wireless Intro (2/2); Network Layer (1/2) Chapter 4
3 Tues, June 16 Network Layer (2/2) Chapter 4
3 Wed, June 17 Discovery (ARP, DHCP, DNS) Programming Assignment 2 released and is due on Tues, July 14 at 11pm
3 Thurs, June 18 Routing and Convergence Project Proposals due
4 Tues, June 23 UDP, TCP Chapter 5
4 Wed, June 24 TCP Congestion Control Chapter 6 Paper review 1, due Fri, June 26 at 11pm
4 Thurs, June 25 Queuing* Chapter 6.2 Problem Set 2 released, due Tues, June 30 at 11pm
5 Tues, June 30 Secure communications protocols (HTTPS, IPSec) Chapter 8
5 Wed, July 1 Datacenter Networking Intro Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google’s Datacenter Network
Inside the Social Network’s (Datacenter) Network
(optional) A Scalable, Commodity Data Center Network Architecture
(optional) The Datacenter as a Computer: Designing Warehouse-Scale Machines
5 Thurs, July 2 Midterm
6 Tues, July 7 Advanced TCP: Datacenters, new protocols, etc Datacenter TCP
TIMELY: RTT-based Congestion Control for the Datacenter*
Paper review 2, due Fri, July 10 at 11pm
6 Wed, July 8 SDN Intro OpenFlow: Enabling Innovation in Campus Networks
P4: Programming Protocol-Independent Packet Processors
(optional) The Road to SDN
(optional) P4 Learning GitHub Repo
Checkpoint 1 due
6 Thurs, July 9 P4 NetCache: Balancing Key-Value Stores with Fast In-Network Caching
NetChain: Scale-Free Sub-RTT Coordination
7 Tues, July 14 Cellular/mobile networks Chapter 2.8
7 Wed, July 15 Middleboxes and Tunneling* Chapter 4.4, 9.4
7 Thurs, July 16 Application Layer (such as web, email, video)* Chapter 9
The QUIC Transport Protocol: Design and Internet-Scale Deployment
8 Tues, July 21 MPTCP How Hard Can It Be? Designing and Implementing a Deployable Multipath TCP
Design, implementation and evaluation of congestion control for multipath TCP
Improving Datacenter Performance and Robustness with Multipath TCP
Checkpoint 2 due
8 Wed, July 22 CDNs Globally distributed content delivery
Peer-Assisted Content Distribution in Akamai NetSession
Chapter 9.4
8 Thurs, July 23 Hashing and Partitioning, DHTs and Overlay* Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications
Chapter 9.4
9 Tues, July 28 Wireless localization RADAR: An In-Building RF-based User Location and Tracking System
Decimeter-Level Localization with a Single WiFi Access Point*
9 Wed, July 29 Potpourri*
9 Thurs, July 30 Emerging workloads/architectures intro Chapter 2.8 Perspective, 7.2
Rubiks: Practical 360-Degree Video Streaming for Smartphones
FoggyCache: Cross-Device Approximate Computation Reuse
Rethinking Wireless Network Management Through Sensor-driven Contextual Analysis
10 Tues, Aug 4 Deep Learning at the Edge Neural Adaptive Content-aware Internet Video Delivery*
VideoEdge: Processing Camera Streams using Hierarchical Clusters*
10 Wed, Aug 5 Project Presentations
10 Thurs, Aug 6 Project Presentations Project reports due