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