Advanced Networking course
These pages contain the material and assignments for the Advanced Networking course (ELEC-E7321) at Aalto University. The assignment descriptions refer to MyCourses learning platform available for Aalto students enrolled on the course. If you are not enrolled on the course, but are just interested on the topic, feel free to try out the tasks nevertheless.
Most of the code examples and assignment templates in this material are provided in the Rust language, some examples that are closer to the kernel and device interface level also in C. However, you may use any language of your preference for the assignments. Some of the assignments closer to the system-level may not be doable with higher-level interpreted languages, though.
The GitHub repository for the material is available. If you find something to correct or add, feel free to drop an GitHub issue in the repository, or just send E-mail to the author.
The course structure is the following:
- Introduction
- Network programming basics
- Server programming and managing concurrency
- Congestion control
- Evolution of the Web and the QUIC protocol
- Linux Networking Internals
- Software Defined Networking and Programmable Networks
- Datacenter networking
- Internet of Things and challenged networks
(there may be some small adjustments during the spring)