This course has two main objectives. First, we want to acquire an in-depth understanding of basic notions in networking, such as queuing, routing, and congestion control. Second, we want to present advanced concepts and protocols.
This course covers advanced topics in computer networks, with a blend of theoretical and practical topics. On the theoretical side, the syllabus will cover mathematical foundations of networking, including discussions of queuing theory, information theory, network design, and traffic engineering and optimization. On the practical side, the syllabus will cover concepts and designs related to modern network architectures and technologies (e.g., data-center networks, congestion control, data-plane programming), protocols (e.g., SPDY, HTTP/2, IPSec), and services.
The course builds on traditional lectures. Students will gain hands-on experience with the topics discussed in class through a series of exercises using simulation, as well as tools for network design.
Homework assignments, midterm exam, final exam, all consisting of concrete problems, including network-design and optimization, simulation, and protocol implementations.