This introductory course on computer networking takes a top-down view from networked applications all through the physical layer.
Students will get a comprehensive overview of the key protocols and the architecture of the Internet, as one example of more general principles in network design. Students will also acquire hands-on experience in programming different aspects of a computer networks. Apart from the state-of-the-art in networking practice, students will explore the rationale for the design choices that networks in the past have made, and where applicable, why these choices may no longer be ideal.
The slides for each lecture will be made available through the course Web page, along with additional reference material.
Computer Networking: A Top-Down Approach, James F. Kurose and Keith W. Ross. Pearson; 7th edition (May 6, 2016)
Prerequisites / Notice
The bonus projects use C programming. ETH courses in the Bachelor track before this course already cover this. For other students, e.g., exchange, please take note of this requirement: you can still take the course and get a good (even 6/6) grade, but if you don't fulfill this prerequisite, you are disadvantaged compared to others who can get the bonus points.