Instructor: Chunyi Peng
Teaching Assistants:
Lecture time: MWF 13:30PM - 14:20PM
Location: ARMS B061
Credit Hours: 3.00
Online tools
Campuswire: Announcements, discussion and Q&A
Gradescope: Assignments and grading
Brightspace: Grades only
Below: Lecture notes
Practice study observation (PSO)
No PSOs in the first week.
Tue 10:30a - 11:20a, HAAS G050, Chen Peng
Wed 10:30a - 11:20a, HAAS G050, Junpeng Guo
Fri 12:30p - 13:20p, HAAS G050, Zizheng Liu
Office hours
Monday 11:00 - 12:00PM, LWSN 2142E or Zoom, Chunyi Peng
Midterm: 20:00 PM - 21:00PM, Wed March 8th, in MATH 175
Final exam: 19:00PM - 21:00PM, Monday May 1st, in WALC B058
Introduction: Jan 9 (Hw1: Due on Jan 23 Monday)
Part I: THE BASIC of THE BASIC (Wired Internet)
Part II: THE BASIC of THE ADVANCED (Wireless, Mobile, nextG)
Chapter 7 (plus recent research on mobility support): Mar 31 - April 14
Chapter 8:Network security: April 17 - April 21
Bonus Projects: April 24 - April 26
Final Review: April 28
Bonus Lab: reproducing SIGCOMM’22 work (assignment, Proposal due: March 28, 2023, Project due: April 21, 2023)
Bonus lab: reproducing TCP Congestion Control (assignment, Proposal due: Feb 28, 2023, Project due: April 21, 2023)
DIY project: please propose the bonus project as you want. (Proposal due: March 28, 2023, Project due: April 21, 2023). Below is the announcement at Campuswire.
You can work on a Research project which is relevant to computer networks. You are highly encouraged to work on the project at the intersection of this course and your true research interests/program.
You need to submit a proposal (including problem statement, planned actions, delivery goals, timeline). It is counted as a bonus project only if it is approved by Prof Peng.
It can be an individual project or for a group of up to two students.
If you want to do it, please submit your proposal at Gradescope and then schedule a meeting with Prof Peng to get her feedback and approval.
List of Bonus Projects (FINAL)
Build a Browser Extension to Reputable Contents (video)
Selection of Intrusion Detection System (IDS) Security Policies (video)
Availability-priority State Synchronization for Blockchain Sharding Systems (video)
Bypassing HDFS abstractions on a multinode cluster (video upon request)
Demo: Reliable data tranfer from RDT3.0 to Selective Repeat (video)
Building a sensor streaming application for HoloLens 2 (video)
Comprehensive research study on Intelligent SDN and Intelligent Hybrid SDN technologies (video)
Reproducing “the Paxos consensus protocol” (video)
Reproducing “Deep packet: a novel approach for encrypted traffic classification using deep learning” (video)
Intrusion Detection System (video)
Building and using dist-gem5 (No video)
Comprehensive research study on data communication in remote or rural areas (video)
TCP-CC
Reproducing “Copa: Practical Delay-Based congestion control for the internet” (NSDI’18) (video)
Reprodcuing “A deep reinforcement learning perspective on internet congestion control” (PMLR’19)
Reproducing “PCC Vivace: Online-Learning Congestion Control algorithm” (NSDI’18) (video)
A Detailed Study of TCP Congestion Control Using Reinforcement Learning (no video)
SIGCOMM’22
There will be an evening midterm at 20:00 PM - 21:00PM on Wed March 8th in MATH 175. To make up for the exam, we will not have class Friday, March 10th.
If you have questions about course materials, we encourage you to ask questions at Campuswire (which will be seen by other students) or at PSO or before/after the class.
If you want to contact us via an email, we encourage you to use our mailing list (cs536-ta@cs.purdue.edu). If you send to this TA mailing list, all the TAs and Prof Peng will receive the email.
If you want to contact Prof Peng only, please send the email to chunyi AT purdue DOT edu.
Note that you are always welcome to contact us in person or at Campuswire.
CS536 is a graduate-level course in Computer Networks at the Department of Computer Science at Purdue University. In this course, we will learn why and how to build the Internet, arguably the largest engineered system ever created by mankind. In particular, we will take a top-down approach to go through main network protocols (aka, TCP/IP protocols). We will also use the Internet protocol stack to understand networking principles, the rational or trade-off behind today's Internet and ongoing efforts to innovate next-generation Internet.
(Required) Computer Networking: A Top-Down Approach, 8th Edition, J. F. Kurose and K. W. Ross
Recent papers for advanced topics
Exams: 50%
Pop-up Quiz: 5%
Homework: 15%
Programming Labs: 30%
Bonus Project : 10% (optional)
There is no partial credit for late assignments; you must submit by the deadline. However, each student is granted three grace days (24-hour periods) that can be used for any homework or lab assignment. The three days can be applied to a single assignment or one day can be applied to each of three assignments.
If you feel that you have been unfairly graded on a lab assignment, homework or exam, you should petition the appropriate TA or Professor in writing within two weeks of distribution of the graded work. After two weeks, NO regrade requests will be honored. For lab assignments, you are allowed to change a few lines of code if that makes your program work, but there will be a penalty per change.
Operating Systems (CS354/CS503, socket programming), Algorithms (CS251 or CS580, e.g., dynamic programing)
Solid Programming in C and Linux (Unix)
Part I (Basic): Chapter 1 - Chapter 6
Application
Transport
Network (Data Plane)
Network (Control Plane)
Link
Part II (Advanced): Chapter 7, 8 plus extra materials
Wireless and Mobile Networks
Internet of Things (IoTs)
Network security
Note: the selection of topics and the order may change to accomodate assignments (we have not yet finalized the set of homeworklabbonus-project assignments).
Students are expected to be present for every meeting of the classes in which they are enrolled. Only the instructor can excuse a student from a course requirement or responsibility. When conflicts or absences can be anticipated, such as for many University-sponsored activities and religious observations, the student should inform the instructor of the situation as far in advance as possible and plan to make up for missed work.
You need to obey course polices for all the courses in the department of Computer Science, Purdue University. Here, I higlhight some important ones.
In the event of a major campus emergency, course requirements, deadlines and grading percentages are subject to change that may be necessitated by a revised semester calendar or other circumstances. If an emergency occurs, you can consult the CS web page for details.
Purdue University is required to respond to the needs of students with disabilities as outlined in both the Rehabilitation Act of 1973 and the Americans with Disabilities Act of 1990 through the provision of auxiliary aids and services that allow a student with a disability to access and participate fully in the programs, services, and activities at Purdue University. If you have a disability that requires special academic accommodation, please make an appointment to speak with the instructor within the first three (3) weeks of the semester in order to discuss any adjustments. It is the student’s responsibility to notify the Disability Resource Center of an impairment/condition that may require accommodations and/or classroom modifications. We cannot arrange special accommodations without confirmation from the Disability Resource Center.
You are expected to read and follow Purdue’s guide to academic integrity: the link. To foster an open and collegial class environment, we are vigorously opposed to academic dishonesty because it seriously detracts from the education of honest students.
It is permissible to discuss a GENERAL METHOD of solution with other students, or to make use of high-level reference materials in the library or online. If you do this, you will be expected to CLEARLY DISCLOSE with whom you discussed the method of solution, or to cite the references used. Failure to do so will be considered cheating or plagiarism. The use of “method of solution” means a GENERAL discussion of technique or algorithm, such as one would reasonably expect to occur standing in front of a whiteboard, and precludes the detailed discussion of code or written assignments.
Specifically, looking at another student's code on his/her computer monitor or copying code from an online source is NOT allowed.
Unless otherwise explicitly specified, all written assignments or code that is submitted is to be ENTIRELY the student's own work. Using any code or copying any assignment from others or from an online source is strictly prohibited without advance prior permission from the instructor. This includes but not limited to the use of code others have submitted in the past, or solutions found on the Internet.
All students work is their own. Students who do share their work with others are as responsible for academic dishonesty as the student receiving the material. Students are not to show work to other students, in the class or outside. Students are responsible for the security of their work.
Students who encourage others to cheat or plagiarize, or students who are aware of plagiarism or cheating and do not report it are also participating in academically dishonest behavior.
Be aware that we will use a software tool called MOSS to check for copying among submitted assignments. Additionally, the instructor and TA will be inspecting all submitted material to ensure honesty.
The course policy is that students who are found guilty of dishonesty will not only receive a zero for the work in question but also receive a severe grade penalty (at least double grades assigned to the work and even FAILURE in this course). Moreover, the Dean of Students will be notified for possible further action.
If you are experiencing stress or personal problems, Purdue provides counseling services through the Purdue CAPS Center. Please see CAPS for more details.