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 and/or projects, all consisting of concrete problems, including network-design and optimization, simulation, and protocol implementations. Seminar presentations of important and relatively recent papers in Computer Networking.
Master of Science in Artificial Intelligence, Elective course, 2nd year
Master of Science in Computational Science, Elective course, Lecture, 2nd year
Master of Science in Computational Science, Elective course, 1st year
Master of Science in Informatics, Elective course, 1st year
Master of Science in Informatics, Elective course, 2nd year
Master of Science in Software & Data Engineering, Elective course, 1st year