Skip to content

henryhxu/CSCI4430

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

863 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSCI4430/ESTR4120 Computer Networks, Fall 2025 (term 1)

Administrivia

Schedule

  • Lectures:
    • Mon 2:30pm – 5:15pm, Y.C. Liang Hall 103
    • Tue 10:30am – 11:15am, Lee Shau Kee LT3
    • Tue 9:30am - 10:15am, Lee Shau Kee LT3 (ESTR)
  • Tutorials:
    • Tue 11:30am – 12:15pm, Lee Shau Kee LT3

Team

Member Role Office Hours
Xu, Hong (Henry) Prof Mon 9-10am, Tue 1-2 pm, SHB 914. By appointments only.
Feng, Yicheng Head TA Tue 2:30-4:30 pm, SHB 904.
Wu, Shaofeng TA Online (Piazza), SHB 117.
Deng, Yangtao TA Thu 10-12 am, SHB 117.

Piazza

  • The Piazza page for this course is: https://piazza.com/cuhk.edu.hk/fall2025/csci4430estr4120.
  • The self-signup code is "4430_rocks!". You may associate your account with multiple emails, so you can receive notifications from all of them.
  • All communication about this course is done over Piazza. This includes questions, discussions, announcements, as well as private messages, about all matters of this course.
  • Please use Piazza for all communication and do NOT email the teaching team directly.
  • No announcements will be made from Blackboard.

Course outline

CSCI 4430 takes a top-down approach to explore how networks operate and how network applications work. We study how popular distributed systems such as video streaming, content distribution networks (CDNs), and cloud computing systems work in the application layer. We explore how these applications transfer data between their components and end users over the Internet using transport layer protocols such as TCP and UDP. We go deeper to understand what keeps the transport layer running; specifically, we look at how packets are routed and how routers work. Finally, we dive one more layer down to understand how the link layer transfer packets using Ethernet. In addition to cutting through the layers and covering the basics, we learn about the state-of-the-art topics in networking such as datacenter networks, software-defined networking (SDN), and (time permits) programmable networks.

From a practical point of view, we learn what sockets are and how to use them. And we write code. We write code to implement various protocols, to build client-server applications, video streaming applications, and transport protocols.

Textbook (optional)

The course materials are based upon the following classic textbook of Kurose and Ross. In addition, many materials are also borrowed heavily from Mosharaf Chowdhury's computer networks course with his permission. Credit is given whenever possible to Mosharaf and a lot of other folks, especially for the ESTR lecture notes.

  • Computer Networking: A Top-Down Approach, 7th. (or earlier editions), by Jim Kurose and Keith Ross, 2016. ISBN 978-0133594140.

You may also want to check out this online book:

Grading

Assessment item CSCI Weight ESTR Weight
Assignments 45% 45%
Tutorial Quizzes* 5% 0%
Midterm Exam 10% 10%
Final Exam 40% 35%
Project 0% 10%

*: To encourage tutorial participation, quiz will be conducted at the tutorials randomly. We will randomly pick 5 tutorials and perform a quiz at the end of the tutorial. Each quiz is worth one mark.

Schedules

Lectures

Week Date Topic(s) Textbook Readings Additional Readings
1 Sep 1; 2 Intro and Overview 1.1, 1.3, 1.4
2 Typhoon; Sep 9 Layering 1.5, 2.2, 2.4 End-to-end arguments
in system design
3 Sep 15; 16 Sockets and HTTP;
CDN, DNS
2.2, 2.4
4 Sep 22; 23 Video, datacenters 2.6
5 Sep 29; 30 Transport layer 3.1–3.4
6 Oct 6; holiday TCP Basics 3.5, 3.6 RFCs in the ppt
7 Oct 13; no class Midterm
8 Oct 20; 21 Congestion control 3.5, 3.6 BBR
9 Oct 27; 28 More on CC;
Network layer
3.7, 4.1, 4.3.1, 4.3.2, 4.3.5 DCTCP
10 Nov 3; 4 Routing fundamentals;
Intra-domain routing
5.1, 5.2, 5.3 How Dijkstra's Algorithm Works
11 Nov 10; 11 Intra-domain routing;
Inter-domain routing
5.1, 5.2, 5.3, 5.4
12 Nov 17; 18 Inter-domain routing;
SDN
4.4, 5.5
13 Nov 24; 25 Link layer;
Final review
6.1, 6.3, 6.4

Tutorials and Assignments

NOTE: This course adopts Approach 1 – Prohibit all use of AI tools.

Week Date Topic TA Assignment Due
1 Sep 2 Socket programming Yicheng Assignment 1 11:59:59 p.m., Wed, Sep. 24th
2 Sep 9 Performance metrics Yicheng
3 Sep 16 HTTP Yicheng
4 Sep 23 Select programming (Recording) Yangtao Assignment 2 11:59:59 p.m., Sun, Oct. 26th
5 Sep 30 Video streaming Yangtao
6 Oct 7 holiday
7 Oct 14 HTTP Proxy Yicheng
8 Oct 21 TCP Yangtao
9 Oct 28 UDP Yicheng Assignment 3 11:59:59 p.m., Sun, Nov. 30th
10 Nov 4 IP Routing Yicheng
11 Nov 11 WTP Yangtao
12 Nov 18 LS/DV Routing Yangtao
13 Nov 25 BGP Yangtao

ESTR Lectures

Week Date Topic(s) Additional Readings
1 Sep 2 Internet (more from IERG5090) How to read a paper, A Brief History of the Internet
2 Sep 9 P2P, security
3 Sep 16 Consistent hashing; Chord STOC'97, SIGCOMM'01
4 Sep 23 Video ABR; puffer Pensieve, puffer
5 Sep 30 Parallelisms in LLM training Megatron-LM paper, code
6 holiday
7 no class Travel to SOSP'25
8 Oct 20 Pantheon: An Arena for CC Pantheon site; Congestion-control throwdown on HotNets'17
9 Oct 27 DCTCP BBR repo
10 Nov 4 NAT & VPN
11 Nov 10 Secure BGP

ESTR Individual Projects

  • Proposal [1 mark]
    • Due: 23:59, Oct 2224, 2025 HKT
    • 1 page, 12-pt Times New Roman, single column, single spacing
    • LaTeX strongly encouraged, using the article class
    • Submit by emailing Henry directly with a title "[ESTR4120] Proposal - Student_name"
  • Presentation [5 marks]
    • Due: Nov 18 & 25 lectures
    • Schedule to be announced
  • Report [4 marks]
    • Due: 23:59, Dec 2, 2025 HKT
    • 5 pages, 12-pt Times New Roman, single column, single spacing.
    • References don't count into page limit.
    • LaTeX strongly encouraged, using the article class
    • Submit by emailing Henry directly with a title "[ESTR4120] Report - Student_name"
  • List of topics is here

Course policies

  • Assignments:
    • We use Autograder as the only submission entry of all assignments by default. Please refer to annoucements on Piazza for any special scenario.
    • No late submission. Late submissions result in zero marks.
    • "Make-up" submissions after deadline are considered as late submissions and we do not accept any of these submissions to ensure fairness. "Make-up" submissions include but are not limited to the following scenarios:
      • Forget to submit assignment to Autograder and attempt to submit the assignment via email after deadline.
      • Attempt to submit a newer version of the assignment via email after deadline.
      • ...
    • Grace tokens: You have 2 grace tokens, each can be used to give you a 24-hr extension on one assignment. You can apply at most 1 grace token on each assignment at your own discretion. This gives you some flexibility to cope with your own schedule.
    • According to the University’s regulation, every assignment must be accompanied by a signed declaration of originality; submissions without it will receive zero marks.
    • The declaration form is available here.
    • Each assignment may have its own specific submission instructions. Failing to follow those instructions will prevent us from locating your submission and grading it, leading to zero marks.
    • Each assignment, after the mark is released, comes with a one-week "consoling" period when students can approach the marking TAs to clarify their mistakes or any other reasons that may justify re-marking their solution. After the consoling period, the corresponding assignment marks are regarded as final and will not be changed. No further "appeal" requests are allowed after the consoling period.
  • Lecture and tutorial:
    • Be on time. Set your mobile device to vibration/silient mode.
    • Be respectiful and considerate to other partipants of the class, including all students, and members of the teaching team.
    • Feel free to ask questions and raise comments during the lecture.
    • Longer and deeper discussion and questions can happen in tutorials.
  • Use of AI tools
    • This course adopts Approach 1 – Prohibit all use of AI tools.
    • This means that, "Students are not allowed to use any AI tools in any kind of learning activity or assessment that will be counted towards students’ final grade of the course, or used for evaluating students’ attainment of the desired learning outcomes. Students are expected to produce their own work independently without any collaboration or use of AI tools. Such information should be spelt out clearly in the course outline or learning activity/assessment guide.", from CUHK's Guidelines on the Use of Artificial Intelligence Tools in Teaching, Learning and Assessments.

About

Computer Networks, CSE@CUHK, taught by Hong Xu

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors