Course Overview

This is a graduate-level course on computer networking. In this course we will explore both classic and recent topics in computer networking. The objectives of this course are:

  • To understand the history of computer networking, state-of-the-art network protocols at various layers, network architectures, and networked systems.
  • To critically review research papers in computer networking and networked systems.
  • To explore research problems and investigate new ideas through a semester-long research project.

The course is structured around lectures by the instructor and paper readings/presentations by the students with open discussion. Students will form a project group (one or two students) and conduct a research project on computer networks or networked systems.

Reference books

Topics

  • Network architectures
  • Inter-domain routing
  • Congestion control
  • Data centers
  • Software-defined networking
  • Programmable data plane
  • ML for networking
  • Application-layer networking (e.g., Service mesh)
  • Cellular network architecture

Prerequisites

  • CS 356 (Computer Networks) or equivalent
  • C and Python programming experience

  • Unique number: 50875
  • Time: Tuesday & Thursday 3:30 PM - 5:00 PM
  • Location: GDC 1.406
  • Discussion: Ed discussion