CSE 534: Fundamentals of Computer Networks

Semester

Fall 2022

Instructor

Aruna Balasubramanan

Course Time

TTh 11.30 - 12.50

Location

Engineering 145

Contact Info

Aruna Balasubramanian (arunab@cs.stonybrook.edu)

Office hours: In-person office hours: Tuesday 10.00am to 11.00am, Zoom office hours: Friday 10.00am to 11.00am (Zoom link on Piazza)

TA Office hours (on Zoom, Zoom link on Piazza)

Zhengyu Wu Monday 11.00am to noon

Zainab Aamir Wednesday 2.00pm to 3.00pm 

Announcement

Schedule and other information will be discussed on day of the first class. 

Description

The goal of this course is to cover the introductory topics in networking. We will go through the standard protocols in each layer of the OSI stack and discuss design patterns commonly used in networking protocols. While part of the discussions will be on traditional protocols, one part of the course will focus on newer developments in the networking world. Specifically, we will discuss HTTP/2, Quic, MPTCP, data centers, and SDNs all in the context of the OSI stack.

Textbooks

I will teach the course top-down. There is no required textbook, but the recommended book is Computer Networks, A Top Down Approach by Kurose and Ross [KR]

Prerequisites

An introductory networking course is recommended but is not a pre-requisite. However, if you do not have a computer science background or if you are accepted with academic proficiency requirement, talk to me before registering.

Grading

There are several components in this class: Assignments, Projects, Exams, and Summaries.  The grading criteria will be filled out on the day of the class. 

(Tentative) There are several components in this class: Assignments, Projects, Exams, and Summaries.  The grading criteria are as follows:

Midterm and Final exam: 40%

Paper summaries: 10%

Assignments: 30% (15% each)

Project (choose your own or get assigned a project): 20%

Midterm and final exam: Midterm and final exam carry 20% each of your final grade. The final exam is not comprehensive. Both midterm and final exams are in-person and closed book but you can bring a cheat sheet. More details about the cheat sheet will be discussed in class.

Assignments: There will be 2 assignments in all.  Assignments should be submitted before 9.00pm on the day they are due.The assignments will be programming heavy. You can program in C or Python. 

Paper summaries: There are 5 papers assigned for reading. For each paper, you are expected to provide a summary. More details on how to write a paper summary will be up on Piazza. Paper summaries should be submitted at 11.30AM  on the day they are due (that is, just before class starts).  No extensions are allowed. If you don't submit by the deadline, you forfeit the points.

Project (New): This year, I am doing something new. Instead of asking you all to do a project, I am giving a choice. You can do a research project either individually or in groups.  The project is meant to be open-ended. Around 3 weeks into the semester, we will discuss possible project ideas. You should choose a project and submit a project proposal. At the end, you will present your projects to the instructor and submit a project report. If you are a Ph.D. student, I highly encourage you to do a project. If you are registered for this course under CSE 522, you should choose this project option.

If you dont want to do a project, you can do an assignment (assignment #3). This will be individual not in group. 

Submissions instructions and total attempts: We will use Blackboard for submissions. If you want to resubmit after you already submitted one version of your assignment/project/summaries, you may do so. But you are allowed a maximum of 2 resubmissions (i.e., a maximum of 3 attempts).  Irrespective of anything else, your last attempt will be considered. This means, if you submit one version of your homework before the deadline and submit another version after the deadline, we will grade the later submission and grade you according to the late submission policy.

Grace period: You get a total 24 hours of grace period across your two assignments and project.  So if you submit your first assignment 24 hours late, then you no longer have any grace period, but will not be penalized. If you submit your first assignment 12 hours late, you still have 12 hours of grace period left. Once your grace period is over, each assignment you submit late will be subject to the late penalty below. There is no grace period for summaries and projects.

After the submission deadline: If you submit your homework at hour h after your deadline (after your grace period), here are the grade penalties

  • If 0 < h <= 5, 5% of your grade
  • If 5 < h <=15 hours, 8% of your grade,
  • If 15 < h <= 24, 15% of your grade
  • If 24 < h <= 48, 30% of your grade
  • If 48 < h <= 72, 40% of your grade
  • If 72 < h <= 96, 60% of your grade,
  • h > 96, you cannot submit the homework.

I should note here that I almost never give extensions on any submissions.

Tentative Schedule

 
Date Topic Readings Notes
8/23/2022 Introduction No reading. [introduction.pdf] Overview of the class structure and introduction to the syllabus

Application Layer

8/25/2022 DNS KR 2.4  
8/30/2022 DNS + Web KR 2.2 Summary #1 paper is here, due 9/06 before class
9/01/2022 HTTP    
9/06/2022 HTTP2

 

Summary #1 due, Assignment #1 out, due 9/20
9/08/2022 CDN    

Transport Layer

9/13/2022 Transport layer introduction    
9/15/2022 TCP flow control    
9/20/2022 TCP congestion control +  Wireshark tutorial 

 

Summary #2 out 9/20, due 9/27, Assignment #2 out,  due 10/04 at 9.00pm, 
9/22/2022 TCP congestion control + Project discussion    
9/27/2022 Other flavors of CC + HTTP 2 revisited    Summary #2 due

Network Layer

9/29/2022 Introduction to networking layer    
10/04/2022 Addressing KR 4.1.1, 4.3.3, 4.3.4  Assignment #2 due

Midterm

10/06/2022 In-class midterm    Midterm. 

Fall break

10/11/2022 Fall break, no class  

 

Network layer continued: Routing

10/13/2022 Addressing    
10/18/2022 IP  Zoom class  
10/20/2022 Inter-domain routing   Summary #3 out, due 10/20, due 11/01
10/25/2022 Instructor traveling   No class.
10/27/2022 Intra-domain routing Zoom class  

Special topics: Datacenters

11/01/2022 Switching Zoom class Summary #3 due, Project proposal due 11/01 (if you choose project), Assignment #3 assigned (if you are not doing a project), due in 3 weeks.
11/03/2022  Datacenters + DCTCP   Summary #4 assigned, due 11/10

Special Topics: Transport layer and above

11/08/2022 PortLand + SDN    
11/10/2022 NFV and Middleboxes   Summary #4 due
11/15/2022 MPTCP and Quic    

Lower layers

11/17/2022 Video applications and Link layer   Summary #5 assigned 11/17, due 11/29
11/22/2022 Link layer   Assignment 3 due 11/22

Thanksgiving

11/24/2022 Thanksgiving   No Class. Turkey Day!!

Physical layer and Wrap up

11/29/2022 Physical layer and Centralization   Summary #5 due 

Project Presentation

12/01/2022 TBD   Project report due 12/01 at 9.00pm. Final exam on December 14th.

Others

CSE 522: If you are registered for this class as CSE 522 (basic project), you will do exactly the same as anyone registered for CSE 534. In addition, you will choose the project option and do the project individually.

Deadlines: All deadlines are tentative in the beginning. The firm deadlines will be announced in class and posted on Piazza.

Discussion policy: All discussions will take place on Piazza. Please be respectful of your fellow classmates and your instructor when posting questions. If you post questions or comments on Piazza that I deem derogatory or otherwise not constructive, I will remove them. 

You are expected to read your Piazza posts frequently. I will be posting important announcements on it. 

Questions posted on Piazza can take up to 24 hours for a response from the instructor or the TA. If you ask a question very close to an assignment deadline, they may go unanswered.

Grading policy: I will not be able to give any individual student extra credit for additional work or projects. However, if your research projects that are especially good, I may award additional points. This is at my discretion. 

Academic Dishonesty: I take academic dishonesty extremely seriously. Your assignments will be tested for plagiarism not only against your classmates but also with all past assignments. If I find evidence of dishonesty, I will immediately notify the Graduate Program Director and give you an F in the class.

Recordings: The class wil be recorded (but not live streamed). There is no gaurantee that the recording will be good, I will not re-record if the mic gets cut off or if there are other problems.  

Laptop and devices: I have a no-laptop and no-device policy in class. Please put away your laptop and devices. I will accomodate students who have accessibility requirements or other needs, if send me email or come talk to me.

Statement regarding dealing with attendance and class schedule: Students are expected to report for examinations and submit major graded coursework as scheduled. If a student is unable to report for any exams or complete major graded coursework as scheduled due to extenuating circumstances, the student must contact the instructor as soon as possible.  Students will be requested to provide documentation to support their absence and/or may be referred to the Student Support Team for assistance. Students will be provided reasonable accommodations for missed exams, assignments or projects due to significant illness, tragedy or other personal emergencies. In the instance of missed lectures the student is responsible to go over the slides from the previous lecture. The lecture will be recorded and posted but can be of varying quality.