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: Wednesdays 3:30pm to 4:30pm @ 60 Fifth Ave, Room 405 or by appointment

Teaching Assistants:

  • Aatish Varma
    Office Hours: Tuesdays 2pm to 3pm @ 60 Fifth Ave, Room 402
  • Jiayang Wang
    Office Hours: Thursdays 11am to noon @ 60 Fifth Ave, Room 402

Campuswire: https://campuswire.com/c/G5EFA6382

Overview

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.).

Textbook

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).
  • Peterson 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 Pre-Lecture Notes
Lecture Notes
Technology Setup
Information and Collaboration
Github Consent
K&R 1.3
Sep 9 Tools and Flooding Notes
Pre-Lecture Slides
Lecture Slides
Self-Assessment
Lab 1 Out (markdown, pdf) K&R 1.3
Sep 11 Handling Cycles Pre-Lecture Notes
Pre-Lecture Slides
Notes
Slides
P&D 3.1
Sep 16 Learning and Intra-domain routing Pre-Lecture Notes
Pre-Lecture Slides
Lecture Notes
Lecture Slides
P&D 3.3
Sep 18 Intra-Domain Routing (2) Pre-Lecture Notes
Pre-Lecture Slides
P&D 3.3
Sep 23 Connecting multiple networks Lab 1 due
Lab 2 out
Sep 25 Inter-domain routing, BGP
Sep 30 Performance and reliability
Oct 2 Reliability Lab 2 due
Oct 7 Congestion Collapse
Oct 9 Congestion Control
Oct 14 FALL RECESS
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 25 NO CLASS
Nov 27 Thanksgiving 🦃🥧
Dec 2
Dec 4
Dec 9
Dec 11 Final Review