Here is the tentative schedule of lectures and due dates. The lecture material for future lectures may change.
Lecture and notes logistics: Here’s how lectures generally work:
- Before each lecture, we will post handout-style notes (“blank notes”) that you can use to follow along and annotate. After class, the instructor will post an annotated version (“class notes”). It may take a few hours before the class notes are available.
- Recordings for each lecture will be published shortly after the lecture ends; if you do not see a link yet, check this page (Brown login required).
About deadlines: Assignments are typically due at 11:59pm on the date listed. Note that the release dates for homeworks may change based on the progress of lectures. (If this happens, we will adjust the content, the deadline, or both, to make up for it.)
Legend for readings
Some of the readings listed here refer to sections of our various (not required) class textbooks, keyed by the name of the first author, specifically:- Dordal: “An Introduction to Computer Networks” by Peter Dordal. (Available free online).
- Peterson: “Computer Networks: A Systems Approach” (5th edition), by Larry Peterson and Bruce Davie.
| Day | Date | Events | Deadlines |
Mon | Jan 19 | ||
Tue | Jan 20 | ||
Wed | Jan 21 | First day of classes | |
Thu | Jan 22 | LEC 1: Course Intro | |
Fri | Jan 23 | ||
Mon | Jan 26 | ||
Tue | Jan 27 | LEC 2: Layering and Sockets 💻 Code examples: | DUE:
Homework 0: Background survey Assigned:
Snowcast |
Wed | Jan 28 | ||
Thu | Jan 29 | LEC 3: Sockets | DUE:
Project 0 (Setup) |
Fri | Jan 30 | ||
Mon | Feb 2 | DUE:
Snowcast (Milestone) | |
Tue | Feb 3 | LEC 4: Link Layer 💻 Code examples: | |
Wed | Feb 4 | ||
Thu | Feb 5 | LEC 5: Switching | |
Fri | Feb 6 | ||
Mon | Feb 9 | ||
Tue | Feb 10 | LEC 6: IP Addressing and Forwarding | DUE:
Snowcast (everything) Assigned:
IP Assigned: Homework 1 |
Wed | Feb 11 | ||
Thu | Feb 12 | LEC 7: IP Forwarding Mechanics | DUE:
IP (milestone) |
Fri | Feb 13 | ||
Mon | Feb 16 | Long weekend | |
Tue | Feb 17 | Long weekend | |
Wed | Feb 18 | ||
Thu | Feb 19 | LEC 8: IP Wrinkles (DHCP, NAT) | |
Fri | Feb 20 | ||
Mon | Feb 23 | ||
Tue | Feb 24 | LEC 9: Inter-domain routing (RIP) | DUE:
Homework 1 |
Wed | Feb 25 | ||
Thu | Feb 26 | LEC 10: Intra-domain routing (BGP) | |
Fri | Feb 27 | ||
Mon | Mar 2 | ||
Tue | Mar 3 | LEC 11: BGP policies and shenanigans | Assigned:
Homework 2 |
Wed | Mar 4 | ||
Thu | Mar 5 | LEC 12: Ports and TCP intro | DUE:
IP (everything) |
Fri | Mar 6 | Assigned:
TCP | |
Mon | Mar 9 | ||
Tue | Mar 10 | LEC 13: TCP fundamentals | |
Wed | Mar 11 | ||
Thu | Mar 12 | LEC 14: TCP fundamentals II | |
Fri | Mar 13 | DUE:
Homework 2 | |
Mon | Mar 16 | ||
Tue | Mar 17 | LEC 15: TCP sliding window | Assigned:
Homework 3 |
Wed | Mar 18 | ||
Thu | Mar 19 | LEC 16: TCP teardown, congestion control | |
Fri | Mar 20 | DUE:
TCP (milestone 1) | |
Mon | Mar 23 | Spring recess | |
Tue | Mar 24 | Spring recess | |
Wed | Mar 25 | Spring recess | |
Thu | Mar 26 | Spring recess | |
Fri | Mar 27 | Spring recess | |
Mon | Mar 30 | ||
Tue | Mar 31 | LEC 17: DNS | |
Wed | Apr 1 | ||
Thu | Apr 2 | LEC 18: DNS for fun and profit | DUE:
Homework 3 |
Fri | Apr 3 | Assigned:
Homework 4 | |
Mon | Apr 6 | ||
Tue | Apr 7 | LEC 19: HTTP | DUE:
TCP (milestone 2) |
Wed | Apr 8 | ||
Thu | Apr 9 | LEC 20: HTTP performance and scaling | |
Fri | Apr 10 | ||
Mon | Apr 13 | ||
Tue | Apr 14 | LEC 21: HTTP push, responsiveness | |
Wed | Apr 15 | ||
Thu | Apr 16 | LEC 22: APIs, RPCs | DUE:
Homework 4 Assigned:
Homework 5 |
Fri | Apr 17 | DUE:
TCP (everything) | |
Mon | Apr 20 | Assigned:
Final Project | |
Tue | Apr 21 | LEC 23: IPoAC, TLS | |
Wed | Apr 22 | ||
Thu | Apr 23 | LEC 24: TLS, PKI | |
Fri | Apr 24 | DUE:
Homework 5 | |
Mon | Apr 27 | ||
Tue | Apr 28 | LEC 25: How to (try) to be anonymous, Wrapup | |
Wed | Apr 29 | ||
Thu | Apr 30 | ||
Fri | May 1 | ||
Mon | May 4 | DUE:
Final Project (everything) | |
Tue | May 5 | ||
Wed | May 6 | ||
Thu | May 7 | ||
Fri | May 8 |