Computer Networks

The Internet is a computer network that millions of people use every day. Understand the design strategies used to solve computer networking problems while you learn how the Internet works.

About the Course

Computer networks from ISPs to WiFi and cellular networks are a key part of the information economy. These networks are the foundation for the Web, and they enable companies such as Google, Facebook and Amazon. This course introduces the fundamental problems of computer networking, from sending bits over wires to running distributed applications. For each problem, we explore the design strategies that have proven valuable in practice. Topics include error detection and correction, multiple-access, bandwidth allocation, routing, internetworking, reliability, quality of service, naming, content delivery, and security. As we cover these topics, you will learn how the internals of the Internet work to support the Web and other networked applications. You will develop a detailed understanding of widely-used networking technologies such as TCP/IP, HTTP, 802.11, Ethernet, and DNS.

Course Syllabus

  • Introduction, Protocols and Layering
  • Physical and Link layers
  • Retransmissions, Multiple access, Switching
  • Network layer, Internetworking
  • Intra- and Inter-domain Routing
  • Transport layer, Reliability
  • Congestion Control
  • DNS, Web/HTTP, Content Distribution
  • Quality of Service and Real-time Apps
  • Network Security

Recommended Background

We assume a rudimentary understanding of probability (such as the likelihood of an event) and computer system organization (such as binary representations and arithmetic). You should be comfortable with simple calculations and manipulations using scientific notation. We teach the course at the upper-undergraduate level. To do the optional, hands-on exercises you should be comfortable with installing systems software and running command-line programs.

Suggested Readings

There is an optional textbook: Computer Networks (5th Edition, either U.S. or International version), by Tanenbaum and Wetherall. We recommend (but do not require) the text if you are serious about mastering the material, as it provides accompanying explanations in greater detail and more depth, as well as extra topics and a reference.

Course Format

The course consists of two to three hours of video lectures per week, presented in short segments. For those seeking to pass the course, there will be regular, required homeworks of textbook-style problems and optional hands-on exercises to cover the basics of the material. The course has a midterm and final exam.


  • Will I get a Statement of Accomplishment after completing this class?
    Yes. Students who pass the course will receive a Statement of Accomplishment signed by the instructors.
  • What resources will I need for this class?
    You'll need a computer on which you can install and run programs if you would like to do the optional, hands-on experiments.
  • What is the coolest thing I'll learn if I take this class?
    How the Internet really works, of course, so that you can understand how it may change in the future!