CSE 534: Fundamentals of Computer Networks (Fall 19)

Semester

Fall 2019

Instructor

Aruna Balasubramanian

Course Time

TTh 2.30 - 3.50 PM

Location

Light Engineering 102

Contact Info

Office hours: Tuesday, Thursday 1.15 – 2.20PM, New computer science building, Room 337 (Subject to rescheduling. If rescheduled, new office hours will be posted on Piazza)
Instructor email: arunab@cs.stonybrook.edu
TA: Javad Nejati
TA email: 
jnejati@cs.stonybrook.edu
TA office hours: Monday 4.00 to 6.00PM, Room New Computer Science 348

 

Announcement

- Sign up for Piazza

- A Tentative schedule is up

- Course Web page 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: 20%
Paper summaries: 4%
Assignments: 36% (12% each)

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. 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 2.30PM  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 are 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/27/2019 Introduction No reading. [introduction.pdf]Syllabus and overview. Video class. No office hours, instructor out of town 

Application Layer

8/29/2019 DNS KR 2.4 [app-dns.pdf] Special lecture on DNS by Prof. Mike Ferdman. No office hours, instructor out of town
9/03/2019 Application layer KR 2.2  
9/05/2019 CDNs   [app-cdn.pdf]
9/10/2019 HTTP/HTTP2   [app-http-http2.pdf]
9/12/2019 Transport Layer Web_IMC11
[
Summary paper] KR 3.1, KR 3.2
[transport-intro.pdf] Summary 1 is due before class starts, Homework 1 out 9/12

Transport Layer

9/17/2019 TCP + Project Discussion  KR 3.1, 3.2  
9/19/2019 Class cancelled due to career fair

 

CLASS Cancelled due to Career fair.
9/24/2019 TCP Flow control KR 3.5 [transport-intro.pdf]
9/26/2019 Congestion Control KR 3,6, 3.7 [transport-tcp.pdf] Homework 1 due 9/26
10/01/2019 Other flavors of CC + Wireshark   [transport-tcp-continued.pdf] Homework 2 is out

Network Layer

10/03/2019 Internet Protocol + SPDY SPDY [Summary] [transport-http2-tcp.pdf] Summary due before class
10/08/2019 Addressing  KR 4.1.1, 4.3.3, 4.3.4  [network-forwarding-addressing.pdf]
10/10/2019 IP and Inter-domain routing KR 5.2

 

10/15/2019 Fall break  

Homework 2 due 10/15 at 9.00pm. Fall Break. No Class.

10/17/2019 Intra-domain routing KR 5.2

[network-intra-domain-routing.pdf] 
Additional office hours Wednesday (10/16) 9.15 to 10.30 and Friday (10/18) 9.15 to 10.30. Project proposal due 10/18. Thursday 10/17 office hours are from 4.00 to 5.15pm

Midterm

10/22/2019 Midterm Midterm In class Midterm, No office hours this week.

Switching layer 

10/24/2019 Special class on Mininet   Homework #3 out 10/24, Instructor out of town
10/29/2019 Inter-domain routing KR 5.4 [network-inter-domain-routing.pdf]
10/31/2019 Switching Layer  KR 6.4 [switching.pdf]

Special Topics

11/05/2019 Data centers + DCTCP    [datacenter.pdf][datacenter_tcp.pdf]
11/07/2019 PortLand + NFV D2TCP(summary paper) [datacenter_networking.pdf] Summary #3 due in class 
11/08/2019 Middleboxes + MPTCP and Quic    [sdn_nfv_middleboxes.pdf] [lect_mptcp_quic.pdf] Special class from 9.30am to 11.50am, NCS 120

Lower layers

11/12/2019   No class, instructor out of town.   
11/14/2019   No class instructor out of town Project Progress report due 11/14.
11/19/2019 Link Layer KR 6.1, KR 6.3 [data-link.pdf]
11/21/2019 WiFi/Cellular Link Layer  KR 7.3, KR 7.4 [phyical-wifi_cellular.pdf]
11/26/2019 Physical Layer Summary Paper Cabernet [physical_layer.pdf] Summary paper due before class
11/28/2019 Thanksgiving   No Class. Turkey Day!!

Project Presentations

12/03/2019 Additional office hours for project    
12/05/2019 Extended Project presentation  Presentation with instructor 

 Project report due 12/06 at 9.00pm. Final exam December 17th 11.15am Light Engineering 102 (same room as the class)

Others

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.