TA office hours:
Qianru Yu: Thursday 9:30 AM to 10:30 AM, biweekly starting from Aug 28th
Huayi Wang: Friday 1:00 PM to 2:00 PM, biweekly starting from Sep 5th
Location: Common Area Next to Klaus 3324 & 3332
This course is fully in-person. Students are expected to attend the lectures and participate in class discussions. I will not record any in-person lecture this semester. In case you have to miss a lecture due to illness and need to know what was covered, you can find the past scribe notes online; I also have recordings of lectures during the pandemic era that I can share with you if necessary. For any new content that has never been covered, I will try my best to get a student volunteer to scribe the lecture and post the lecture notes.
In this semester, the syllabus will put a major emphasis on so-called network algorithmics (a.k.a.
router/switch architectures and algorithms). We will study
algorithms
and protocols used by modern routers/switches to perform data plane
functions including forwarding, address/prefix lookups, switching,
scheduling, counting,
flow classification, flow monitoring and measurement, IP traceback and
other security functions. In other words, we will study almost
everything about a router/switch except routing, which is a control
plane function and therefore out of the scope of this course.
Although the official pre-requisite listed in OSCAR is CS 6250, you don’t need that background to succeed in this course. This official pre-requisite is not enforced for graduate students. The actual pre-requisite is (1) CS 3251 here or equivalent (An undergraduate networking course that covers the five Internet layers and the TCP/IP will suffice); (2) solid undergraduate-level knowledge on algorithms and data structures I will cover advanced algorithmic techniques and will NOT have time to refresh you on basic algorithms and data structures. Whenever necessary, students are expected to make up the gap on their own.
The
course includes a group project (see below), but no exam.
IEEE Transacting on Networking, 1993. (We
will talk about
Theorems 1 in class) WF2Q :
Worst-case Fair Weighted Fair Queueing.
J. Bennett, H. Zhang
IEEE Infocom, 1996. (We will talk about the scheduler and its
equivalence to WFQ under certain traffic conditions)
Students shall form groups of three to four people each to work on group projects. Every (group) project MUST be focused on a
Network Algorithmics topic. Project reports on unrelated or marginally related topics (e.g., TCP congestion control mechanisms or BGP routing protocols) will receive little or no credit unless it is approved by the instructor. Teams must be formed and one-page project proposal (with names of the group members specified) be submitted by mid September. A project can take one of the following three forms.
1. A research project that produces new network algorithmics solutions, e.g., new packet classfication techniques, new network data streaming and sketching algorithms, or new switching algorithms.
2. An in-depth survey of a core or emerging network algorithmics topic, e.g., on new network data sketching algorithms that have emerged in the past several years.
3. I may have some "pet projects" that I need people to work on.
Three to four regular homework assignment, which may include a programming assignment, will
be distributed during the semester.
There is no exam this semester. Instead, the homework assignments will contain past exam questions, and as a result account for 40% of the course grade. Hence, you are strictly prohibitted from copying each other's solutions. Violators will be aggressively "prosecuted".
You are allowed to work in groups only on the class project. You are allowed to synthesize your idea and polish your writing using generative AI when working on the group project, but the project report should be written by you, not by generative AI. Homework assignments must be done individually, without the “help” of web search and generative AI.