Home  –  Overview  –  Schedule  –  Readings  –  Resources

Course Information

Time and location: T 2:30-4:10 AM, Th 10:10-11:50 AM
Instructor: Qiao Xiang (qiaoxiang AT xmu.edu.cn); Congming Gao
Lab hours: Th 2:30-6:20 AM every odd week during week 5 - week 15
Office hours: Please contact the instructor to make an appointment
Teaching assistants: Haohao Song (songhaohao2021 AT stu.xmu.edu.cn)
Class home page: https://qiaoxiang.me/courses/cnns-xmuf22/index.shtml

Objectives

The Internet has grown from a research curiosity to something as essential as the ubiquitous telephone and utility networks. It has been able to withstand rapid growth fairly well and its core protocols have been robust enough to accommodate applications (e.g., the World Wide Web) that were unforeseen by the original Internet designers. Networking is becoming an essential component of many systems.

In this class, we will study the design, implementation, analysis, and evaluation of this global network. We will start with the design principles and the architecture of this global network infrastructure. We will follow the seven layers architecture and study the major protocols in detail. Through both analysis and programming assignments, the students will learn how the Internet works and how to design Internet applications.

Topics include: layered network architectures, applications, transport, congestion, routing, data link protocols, local area networks, performance analysis, cloud networking, multimedia networking, and network security. An emphasis will be placed on the protocols used in the Internet.

Prerequisites

This will be a fast-paced course that covers both the algorithmic/theoretical background and the practical programming for computer networks. Basic knowledge of distributed computing and probability will be helpful but not required. Background in operating system will be helpful for some programming assignments.

Course requirements

Course requirements include lab assignments, course projects and two exams.

Course materials

Grading

Class participation. If you do not ask questions in the class, you will not get as much out of the class as you could. Your class participation will be based on the instructor's assessment of whether you are regularly involved in the class over the course of the semester. If at the end of the semester the instructor cannot remember you, you have not actively participated in the class.

Collaboration

I strongly encourage you to discuss any topic with anyone. That's the way good science happens. As a professional, you should acknowledge any significant discussions in your homework/projects. However, when the time comes to write the homework or program, such discussions are no longer appropriate---the solution or program must be your own personal inspiration (although you may ask the instructor and teaching fellow for help in writing and debugging). DO NOT UNDER ANY CIRCUMSTANCES COPY ANOTHER PERSON'S HOMEWORK OR PROGRAM---to do so is a clear violation of ethical/academic standards that, when discovered, will be referred to the university for disciplinary action.

Late homework policy

A lab assignment or that is not completed by the time specified in the assignment (and whose late submission is not authorized by the instructor or by a Dean's excuse) will be not be graded.


Acknowledgment: The materials of this course are heavily based on CPSC 433/533 at Yale University, by courtesy of Dr. Y. Richard Yang.

Copyright (c) 2023 Qiao Xiang, Department of Computer Science, Xiamen University