This course will discuss recent advances in networking, with a focus on the Internet, with topics ranging from the algorithmic design of applications like video streaming to the likely near-future of satellite-based networking.
The goals of the course are to build on basic undergraduate-level networking, and provide an understanding of the tradeoffs and existing technology in the design of large, complex networked systems, together with concrete experience of the challenges through a series of lab exercises.
The focus of the course is on principles, architectures, protocols, and applications used in modern networked systems. Example topics include:
- How video streaming services like Netflix work, and research on improving their performance. - How Web browsing could be made faster - How the Internet's protocols are improving - Exciting developments in satellite-based networking (ala SpaceX) - The role of data centers in powering Internet services
A series of programming assignments will form a substantial part of the course grade.
An undergraduate class covering the basics of networking, such as Internet routing and TCP. At ETH, Computer Networks (252-0064-00L) and Communication Networks (227-0120-00L) suffice. Similar courses from other universities are acceptable too.
Performance assessment information (valid until the course unit is held again)
The performance assessment is only offered at the end after the course unit. Repetition only possible after re-enrolling.
Additional information on mode of examination
The final assessment will be a combination of graded exercises and the examination. There will be 4 exercises, involving writing code and running experiments. Exercises will be released roughly every 3 weeks, and will total to 50% of your grade. The rest coming from the exam. Final written end of semester exam: 120 minutes.