This introductory course on computer networking takes a top-down view from networked applications all through the physical layer.
Objective
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.
Lecture notes
The slides for each lecture will be made available through the course Web page, along with additional reference material.
Literature
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.
Performance assessment
Performance assessment information (valid until the course unit is held again)
The performance assessment is offered every session. Repetition possible without re-enrolling for the course unit.
Mode of examination
written 120 minutes
Additional information on mode of examination
The course will offer two optional programming assignments, roughly spaced evenly through the semester, which can, taken together, contribute a bonus of 0.25 grade point to the course grade. No additional materials permitted.
The exam might take place at a computer.
Written aids
None
This information can be updated until the beginning of the semester; information on the examination timetable is binding.