Class Details

Lectures: Monday and Wednesday, 11:00am - 12:15pm @ 101 Warren Weaver Hall
Administrivia: Course Policies
Comments & Complaints: Fill this form

Course Staff

Instructor: Aurojit Panda
Office Hours: TBA @ 60 Fifth Ave, Room 405 or by appointment

Teaching Assistants:

  • Aatish Varma
    Office Hours: TBA
  • Jiayang Wang
    Office Hours: TBA



This course provides an introduction to computer networks, focusing especially on their architecture and on the algorithms that enable both large-scale networks (such as the Internet) and smaller scale networks (such as ad-hoc networks connecting personal devices).

This course assumes that students have taken an introductory programming course and can program in Python. We also assume that students have taken an algorithms course (e.g., CSCI-UA.0310) and are familiar with basic graph algorithms (e.g., determining whether a graph is cyclic, computing shortest paths, trees, etc.).


No textbooks are required for the class. However, if you prefer having a textbook we recommend both

  • Kurose and Ross: Computer Networking: A Top-Down Approach (7th Edition).
  • Paterson and Davie: Computer Networks: A Systems Approach (Version 6.0 available online)

When possible we will provide chapters corresponding to the lectures.

Additionally you might benefit from looking at slides and lecture notes from:

Tentative Schedule

Note This is likely to change, with later lectures more likely to change than earlier one.

Date Topic Notes and Self Assessment Assignments Book Chapter
Sep 4 Introduction Posted closer to class Sign up None
Sep 9 Tools and Flooding Lab 1 out
Sep 11 Flooding, learning, loops
Sep 16 Hierarchical addresses Lab 1 due
Lab 2 out
Sep 18 Intra-domain routing
Sep 23 Connecting multiple networks
Sep 25 Inter-domain routing, BGP Lab 2 due
Lab 3 out
Sep 30 Performance and reliability
Oct 2 Reliability
Oct 7 Congestion Collapse
Oct 9 Congestion Control
Oct 15 Midterm Review
Oct 16 Midterm
Oct 21 Where we are thus far
Oct 23 Bootstrapping
Oct 28 Discovery and naming
Oct 30 Resilient routing and TE
Nov 4 Architectural concerns
Nov 6 Privacy: protecting your traffic from snooping
Nov 11 Fair queuing and queue management
Nov 13 CDNs, DDoS protection, etc.
Nov 18 Simplifying network management
Nov 20 Extending network functionality
Nov 27 Thanksgiving 🦃🥧
Dec 2
Dec 4
Dec 9
Dec 11 Final Review