CSE 534: Fundamentals of Computer Networks

Semester: 

Fall 2021

Instructor: 

Aruna Balasubramanian

Course Time: 

MW 8.30AM - 9.50AM

Location: 

Humanities 1003

Contact Info: 

Office hours: Wednesday 10.15am - 11.15am (New computer science building, Room 337), Thursday 11.00am - 12.00pm on Zoom. Office hours subject to rescheduling. If rescheduled, new office hours will be posted on Piazza.
Instructor email: arunab@cs.stonybrook.edu
TA office hours (On Zoom. Zoom link in Piazza):
Prerna Khanna
Thursday 4.00 to 5.00pm
Hanke Kimm Tuesday 1.30 to 2.30pm
 

 

Announcement: 

- All further announcements on Piazza
- Piazza link available
- Course Webpage is up

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: 

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

Midterm and Final exam: 40%
Project: 18% (Proposal: 2%, Progress: 2%, final project report and presentation: 16%)
Paper summaries: 6%
Assignments: 36% (12% each)

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.

Project:  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. Mid-way through the course, you will present a report on project progress. At the end, you will present your projects to the instructor and submit a project report. 

I encourage students to do the project in groups of 2 or 3. If you want to do a project without any team members, come talk to me. If you are a Ph.D. student and want to do a project related to your research, do come talk to me. The scope of the project is different if you have 1 versus 2 versus 3 team members. All project-related reports should be submitted before 9.00PM on the day they are due. 

Paper summaries: There are 4 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 8.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.

For grading, I will choose the top 3 summaries.

Assignments: There will be 3 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. 

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 three assignments, starting from the first assignment deadline. 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/2021 Introduction No reading. [introduction.pdf]Overview of the class structure and introduction to the syllabus

Application Layer

8/25/2021 DNS KR 2.4 [app-dns.pdf]
8/30/2021 DNS + Web KR 2.2 [app-hhtp-http2.pdf] Summary #1 paper assigned on 8/30, due 9/06
9/01/2021 HTTP   , due 9/08 before class

 

9/06/2021 No class, labor day

 

 

Application layer continued

9/08/2021 HTTP2    Summary #1 is due 9/08 at 8.30am, Assignment #1 out 9/09, due 9/23
9/13/2021 CDN KR 2.6.3 [app-cdn.pdf] 

Transport Layer

9/15/2021 Transport layer KR 3.1, KR 3.2 [transport-intro.pdf] Summary #2 assignment 9/17, due 9/29
9/20/2021 TCP flow control 

KR 3.5

[transport-flow-congestion-control]
9/22/2021 TCP congestion control + Project discussions KR 3.6, KR 3.7  Assignment #1 due 9/23 at 9.00pm, 
9/27/2021 Other flavors of CC + Wireshark tutorial     

Network Layer

9/29/2021 Introduction to networking layer   Summary #2 is due 8.30am 9/29.  
10/04/2021 Addressing KR 4.1.1, 4.3.3, 4.3.4   

Midterm

10/06/2021 In-class midterm    Midterm. Assignment #2 out 10/07 and due 10/21

Fall break

10/11/2021 Fall break, no class  

 

Network layer continued: Routing

10/13/2021 Addressing + IP KR 5.2 Assignment #2 due 10/14 9.00pm
10/18/2021 Intradomain routing KR 5.2 Project proposal due 10/18
10/20/2021 Intra-domain routing KR 5.4 Assignment #2 due 10/21
10/25/2021 Switching (Layer 2.5) KR 6.4  

Special topics: Datacenters

10/27/2021 Datacenters + DCTCP   Summary #3 assigned 10/28, due 11/03
11/01/2021  PortLand + SDN    

Special Topics: Transport layer and above

11/03/2021 SDN, Middleboxes   Summary #3 due 11/03 8.30am, Assignment #3 out 11/04, due 11/18
11/08/2021 MPTCP    
11/10/2021 Quic   Summary #4 due at 8.30pm 11/10

Lower layers

11/15/2021 Quic/Link layer   Summary #4 assigned 11/15 due 11/22
11/17/2021 No class   Class cancelled. Assignment #3 due 11/18 at 9.00pm​
11/22/2021 Centralization/Link layer   Summary #4 due 11/22 before 8.30am

Thanksgiving

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

Wrap up

11/29/2021 Link layer/WiFi    

Project Presentations

12/01/2021 Physical layer    
12/06/2021 Extended Project presentation  Presentation with instructor 

Project report due 12/06 at 9.00pm. Final exam on December 15th from 9.00am to 10.30am in
Humanities 1003

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. The only change is that you will do the project in a single-person team.  

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, for 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.

COVID changes: All classes will be recorded and uploaded to blackboard (however, I cannot gaurantee the quality of the recordings and I will not be able to re-record. So if there is a class where the recording doesnt work or if I forget switching my microphone on, then you are on your own). However, I expect everyone to attend class barring extenuating circumstances.  

Masks: All students should wear masks in the class. The instructor will also wear masks at all time. If anyone does not wear a mask, I will have to ask you to leave

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.