In our deeply interconnected world, many details of networking may appear cryptic to its users. In Sep-Oct 2020, together with Lin Wang, I designed and gave a new course called Advanced Network Programming for BSc. final year students at VU Amsterdam. Advanced Network Programming (ANP) course is aimed at teaching students about the recent networking research (research-oriented teaching) in general-purpose cloud computing. At the same time with the practical work, students are trained in state-of-the-practice networking tools used in everyday Linux networking stack (tcpdump, ping, traceroute, arping, netcat).
Figure 1: Topics covered in ANP course
Advanced Network Programming (ANP) (VU catalogue) is a BSc-level course. The goal of the course is to (i) make students aware of the internals of end-host and data center networking advancements; (ii) show practical tools to debug and analyze the Linux stack; (iii) teach low-level nitty and gritty details by implementing network protocols. We cover the following topics (2021, Animesh covers lecture 1-6, Lin covers lectures 7-11):
Editable versions of slides 1-6 are available here https://drive.google.com/drive/folders/1bnbdM4PWpd4khDjaApou0ZYL-rOBsY4b?usp=sharing. Others to follow soon…
In the course project students develop a working TCP/IP protocol in the userspace. The project consists of five key milestones:
Drop me an email if you want access to more project related resources.
This course content are distributed under the Creative Commons Attribution 4.0 International (CC BY 4.0), https://creativecommons.org/licenses/by/4.0/