CS 356: Computer Networks

Fall 2024



Quick Information

Who?

Where? CBA 4.328

When? Tuesdays and Thursdays from 12:30-2:00 PM

Pre-requisites: CS 439 (Principles of Computer Systems) or equivalent, programming experience

Final Exam: Thursday, Dec 12, 1-3 PM at UTC 3.122

Course Content

This is an introductory course in computer networks that is suitable for undergraduate and beginning graduate students. The course will cover the foundational ideas, architecture, protocols and software that constitute the internet. It includes a hands-on component to familiarize students with how the internet works today. We expect students to be familiar with programming, algorithms, and basic probability. The course has three goals:

  1. How does the internet work today?
  2. Why has it been designed this way?
  3. How can we use, program and write applications for the internet?

We will use the Computer Systems: Systems Approach textbook by Larry Peterson and Bruce Davie. It is open source and available online.

Syllabus: Design requirements and principles behind the internet, physical and link layer protocols, naming and addressing (incl DNS, DHCP), inter- and intra-domain routing, and transport and application layer protocols. Advanced topics: content distribution networks, virtual private networks, overlay networks, methods to tackle the scarcity of addresses, network security

Grading