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)