CSE 310: Computer Networks

Semester: 

Spring 2019

Instructor: 

Aruna Balasubramanian

Course Time: 

MW 4.00 -- 5:20 PM

Location: 

LGT Engineering Lab 102

Contact Info: 

Office hours: MW 2.30PM to 3.50PM
Instructor email: arunab@cs.stonybrook.edu
Instructor office: 337 New Computer Science

Undergraduate TA office hours (for homeworks): Wednesday 12.00 to 1.30, Old CS 2127

TA office hours (for assignments, assignment gradings, other questions)
Reza Alimadadi (Alimadadi.Mohammadreza@stonybrook.edu) Wednesdays 1.00 to 2.00 Old CS 2127
Pooya Mirhosseini (semirhossein@cs.stonybrook.edu) Fridays 4.00 to 5.00 Old CS 2127

 

Announcement: 

- Web page is up
- Piazza page is set up. Please sign up. All further notifications will be on Piazza.

Description: 

The goal of this course is to cover the introductory topics in networking. We will go in great detail the OSI stack and the standard protocols. In each layer, we will discuss  design patterns commonly used in networking protocols as well as newer developments in the networking world. There will be a mix of programming assignments and (non-programing) homeworks. The programming assignments and the homeworks are meant to help with understanding the core concepts taught in class. 

Textbooks: 

I will teach the course top-down from the application layer down to the physical layer. I will use the following textbook

Computer Networks, A Top Down Approach by Kurose and Ross 7th edition.

Grading: 

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

Midterm: 20%
Final Exam: 20%
Programming Assignments (4): 40%
Homeworks (4): 20%

Assignments: There will be 4 programming assignments in all.  Assignments should be submitted before 9.00pm on the day they are due. You will get about 2 weeks (with one exception) for each assignment. The assignments are programming heavy. You can program in Java, C, or Python. 

Homeworks: There will be 4 homeworks 3 homeworks. These do not require programming. They are due before 9.00pm on the day they are due. You will typically get 1 week to finish your homework.

Submissions instructions: 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).  

Grace period: You get a 48 hours grace period spanning all 4 assignments and a 24 hour grace period spanning all homeworks. You will not be penalized as long as the total hours that you are late does not exceed 48 hours across your assignments and 24 hours across your homeworks. 

Late submission policy: 

If you submit your homework at hour h after your deadline (after your grace period)

  • If 0 < h <= 5, you will be penalized 5% of your grade
  • If 5 < h <=15 hours, you will be penalized 8% of your grade,
  • If 15 < h <= 24, you will be penalized 15% of your grade
  • If 24 < h <= 48, you will be penalized 30% of your grade
  • If 48 < h <= 72, you will be penalized 40% of your grade
  • If 72 < h <= 96, you will be penalized 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
1/28/2019 Introduction No reading. Syllabus and overview. [introduction.pdf]

Application Layer

1/30/2019 Application layer and Web

1.5, 2.1.1, (2.1.2 covered in Transport),
2.1.5

[app-introduction.pdf]
2/04/2019 HTTP 2.2 (except Cookies) [app-web-http.pdf] Homework 1 out.
2/06/2019 HTTP and DNS 2.4 [app-dns.pdf]
2/11/2019 DNS and HTTP Caching   Homework 1 due, Assignment 1 is out

Transport Layer

2/13/2019 CDNs/Transport Layer/Sockets 2.7 (only TCP), 3.1.1, 3.1.2 [app-cdn.pdf], [transport-sockets.pdf] 
2/18/2019 TCP Introduction

3.3.1, 3.5.1, 3.5.2

[transport-tcp-introduction.pdf]
2/20/2019 TCP flow control 

3.5.3, 3.5.4, 3.5.5

 
2/25/2019 TCP congestion control 3.6.1, 3.7 (excluding 3.7.1 or 3.7.2) Assignment 1 is due, Assignment 2 is out
[transport-tcp.pdf]
2/27/2019 Special class on Wireshark    

Network Layer

3/04/2019 TCP Congestion Control   [transport-tcp.pdf]
3/06/2019 IP Addressing 4.3 (IP header format alone), 4.3.3 (details of DHCP excluded), 4.3.4 [network-addressing.pdf]
3/11/2019 IP Addressing  

Assignment 2 is due, Homework 2 is out.

3/13/2019 Forwarding 4.1, 4.1.1 [network-forwarding.pdf] Homework 2 due 3/15 at 9.00pm

Spring Break

3/18/2019 Spring Break No Class No class
3/20/2019 Spring Break No Class No class

Routing/Switching

3/25/2019 Inter-domain Routing    

Midterm

3/27/2019 Midterm Midterm In class Midterm

Routing/Switching continued

4/01/2019 Intra-domain routing 5.2 (including 5.2.1, 5.2.2, excluding poisoned reverse) [network-intra-domain-routing.pdf] Assignment 3 out
4/03/2019 Inter-domain routing All of 5.4
[network-inter-domain-routing.pdf]
4/08/2019 Inter-domain routing    
4/10/2019 ICMP & Switching 5.6, 6.4 and 6.4.1 (not 6.4.2 yet), 6.4.3 [switching.pdf]

Link layer and Physical Layer

4/15/2019 Link Layer: Ethernet 6.4.2 Assignment 3 due, Assignment 4 is out 
4/17/2019 Special Class: Howard Pfeffer https://www.internet2.edu/about-us/leadership/howard-pfeffer/ What does the Internet Look Like: Industry Perspective
4/22/2019 Link Layer: Ethernet 6.1, 6.1.1, 6.2 (but not the details, just the names), 6.3, 6.3.1, 6.3.2 [link-layer-ethernet.pdf]
4/24/2019 Link Layer: WiFi, Physical Layer 7.3.2, Nyquist theorem etc from notes. [link-layer-wifi.pdf], [physical-layer-ethernet.pdf]
4/29/2019 Physical layer   Assignment 4 is due, Homework 3 is out
5/01/2019 No class Class cancelled  

Special topics

05/06/2019 Datacenters   Homework 3 is due
05/08/2019 SDNs and Overview class    

Others: 

Class Attendance and Laptop Policy: I will not take attendance in class. However, I teach on the board and the slides are used as a backup. This means even if the slides are available, you can miss a lot of context if you dont come to class.  If you do come to class, I ask that you do not open your laptops. If you need to use your laptop (due to some extraneous reasons), please send me email.

Recording: Recording of the lectures is not allowed.

Discussion policy: All discussions will take place on Piazza. Please be respectful of your fellow classmates and your instructor when posting questions. Piazza is only to ask questions pertaining to the class and not to air out your grievances. If you post questions or comments on Piazza that I deem derogatory to your classmates, TAs, or instructors (or is 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.

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 Program Director and give you an F in the class.

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