CSE 534: Fundamentals of Computer Networks (Spring 2018)

Semester: 

Spring 2018

Instructor: 

Aruna Balasubramanian

Course Time: 

Tue,Thur 10.00 - 11.20AM

Location: 

Javits 111

Contact Info: 

Office hours: Tuesday, Thursday 12.00 – 1.15, New computer science building, Room 337 (May be rescheduled occasionally. New office hours will be posted on Piazza when needed)
Instructor email: arunab@cs.stonybrook.edu
TA: Santiago Vargas (savargas@cs.stonybrook.edu )
TA Office hours: Wednesday 1.00 to 2.30 in Room #348

Announcement: 

  • Sign up for Piazza.
  • A tentative schedule is up.
  • The 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, the other part 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: 45%
Project: 20%
Paper summaries: 5%
Assignments: 30% (10% 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 to 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 10.00AM  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 Java, C, and Python.

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).  You get a 24 hours grace period spanning all 3 assignments. There is no grace period for your project reports and summaries.

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

Tentative Schedule: 

Date Topic Readings Notes
1/23/2018 Introduction No reading. Syllabus and overview.

Application Layer

1/25/2018 DNS KR 2.5 [lect_dns.pdf]
1/30/2018 CDNs, HTTP/HTTP2 KR 2.2 [lect_cdn.pdf]
2/01/2018 HTTP/HTTP2, Web   [lect_http_http2.pdf] Homework 1 out 2/2
2/06/2018 HTTP/HTTP2 Web_IMC11
[
Summary paper]
 [lect_http_http2.pdf]  Summary 1 is due before class starts.

Transport Layer

2/8/2018 Transport protocol/TCP  KR 3.5, 3.6, 3.7 [lect_tcp1.pdf]
2/13/2018 No class     
2/15/2018 Special class on Wireshark

 

Wireshark instructions by Santiago Vargas. Homework #1 due 2/19, Homework 2 out 2/19
2/20/2018 TCP flow control + Congestion control KR 3.3 [lect_tcp2.pdf]
2/22/2018 TCP congestion control + SPDY    [lect_tcp2.pdf]
2/27/2018 TCP favors + Project discussions SPDY [Summary] [lect_tcp3.pdf] Project discussion. Summary #2 due before class starts on 2/27

Network Layer

3/01/2018 Internet Protocol    
3/06/2018 Intra-domain protocol  KR 4.1.1, 4.3.2, 4.4  Homework #2 due 3/05
3/08/2018 No class Snow day

Project proposal due 3/09 at 9.00pm.

Spring Break

3/13/2018 Spring Break No Class No class
3/15/2018 Spring Break No Class No class

Switching

3/20/2018 Intra-domain Routing KR 4.6.3  

Midterm

3/22/2018 Midterm Midterm In class Midterm

Special Topics

3/27/2018 Intra-domain routing+ Switching layer     
3/29/2018 Datacenter networking    Homework #3 out 3/30
4/3/2018 DCTCP/D2TCP + Portland D2CTCP(summary paper) Summary #3 due in class
4/5/2017 SDNs, Network Function Virtualization
 
 
4/10/2018 Middleboxes Middlebox paper(Summary paper)  Summary #4 due in class.
4/12/2018 MPTCP/Quic Quic (Summary paper) Summary #5 due in class. 
4/17/2018 No class    

Link layer/Physical layer

4/19/2018 Link layer KR 5.3.1, 5.3.2 Homework due 4/23 at 9.00pm. 
4/24/2018 Link layer   Project progress due 4/27 at 9.00pm
4/26/2018 Physical layer/Cellular    
05/01/2018 Discussions TBD TBD
05/03/2018 Midterm 2nd Midterm In class midterm
05/10/2018 Project presentation   BEtween 2.00 and 5.00
05/11/2018 Project presentation   Between 2.00 and 5.00Project report due 9.00pm 05/11/2016

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.