Course ObjectiveThis is a course on advanced topics in computer networking. The context
will span broadly from the network core, across the Internet, all the
way to the network edge. Students will learn about the recent/current
developments in computer networks and the concept of the main
technologies (data center networking, software defined networking,
network function virtualization, in-network computing, video
streaming/analytics, Internet-of-Things, edge computing, etc) that are
currently being adopted. After this course, students will understand the
design of these technologies and be able to reason about the design
choices therein. Students are also expected to build a network system by
applying some of the designs in a simulated environment, and analyze and
evaluate the merits and limitations of the designs.
Course ContentComputer networks are now part of our daily life and many of us may have
the perception that the network has remained unchanged as it was
originally designed. Is that true? The answer is no, of course. In this
course, we will unveil some of the most significant developments under
the surface of the Internet. New developments have been carried out not
only for the traditional Internet, but also at the usually overlooked
places, being the network core and edge.
This course will be organized in three parts according to the network
context: the network core (data center), the Internet, and the network
Specifically, the course will focus on (1) core networking technologies
for data center environments (architecture, congestion control, remote
direct memory access, software defined networking, network function
virtualization, in-network computing and their applications), (2) new
protocols/mechanisms for the Internet (multipath, QUIC, video streaming,
security), and (3) emerging technologies for the network edge
(mobile/edge computing, Internet-of-Things) and exciting applications.
Much of the course will be based on paper-reading, complemented with a
hands-on programming project with several milestone steps spanning
across the whole course. The project involves programming skills in C++
Teaching MethodsLectures in combination with self-study and practical assignments.
Method of AssessmentWritten exam (50%), programming assignments (30%), report (20%)
Entry RequirementsAbility to read scientific papers professionally. Ability to code in a
LiteratureNo set book. All material will be made available during the course.
Target AudiencemCS, mPDCS
Recommended background knowledgeStudents should have taken courses on computer networks, programming
paradigms (e.g., OOP). Prior experience with network programming
(socket) and simulation (mininet) is a big plus.
|Language of Tuition||English|
|Faculty||Faculty of Science|
|Course Coordinator||dr. L. Wang|
|Examiner||dr. L. Wang|
dr. L. Wang
You need to register for this course yourself
Last-minute registration is available for this course.
This course is also available as: