CSE 310: Computer Networks (Spring 2021)

Semester

Spring 2021

Instructor

Aruna Balasubramanian

Course Time

MW 4.25 - 5.45 PM

Location

Online

Contact Info

Office hours:  Tuesday 4.15PM -- 5.00PM, Friday 4.00pm -- 4.45pm, or by appointment

Instructor email: arunab@cs.stonybrook.edu

Instructor office: 337 New Computer Science

TA Office hours: Updated on Piazza

Announcement

Piazza is up! All future announcements will be made on Piazza.

Description

The goal of this course is to cover the introductory topics in networking. We will learn how network applications such as the Web work, what constitutes the "Internet", and how information is transmitted from one part of the world to another. More importantly we will learn the design patterns and general principles in designing Computer Networks. We we learn networking concepts using the OSI layer abstraction going from the application layer all the way down to the physical layer. The class will have a mix of programming assignments and homeworks, take-home exams, and a final exam.

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

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

Final Exam: 21%
Midterm exam: 15% 
Programming Assignments (3 2): 40%
Homeworks (4 3): 24%

Programming Assignments: There will be 2 programming assignments in all.  Assignments should be submitted before 9.00pm on the day they are due. You will get about 2 weeks for each assignment. The assignments are programming heavy. You can program in Python or C. Python is by far the easiest for the assignments and I will strongly advice you to use Python. 

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

Midterm exam: Details are being worked out. 

Final exam: The final exam will be a written, timed exam. I will discuss proctoring for the final exam as we get nearer to the finals.

Submissions instructions: We will use Blackboard for submissions. If you want to resubmit after you already submitted one version, 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 60 hours grace period spanning all 2 assignments and a 48 hour grace period spanning all homeworks. You will not be penalized as long as the total hours that you are late does not exceed 60 hours across your assignments and 48 hours across your homeworks. 

Late submission policy: 

If you submit your programming assignment/homework at hour h after your deadline (after your grace period), the penalty is as follows

  • 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
2/01/2021 Snow day Snow day. No class
2/03/2021 Introduction (First class)

No reading

[introduction.pdf] 

Application Layer

2/08/2021 Application layer and Web

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

[app_introduction.pdf]
2/10/2021 HTTP protocol 2.2 (except cookies)  
2/15/2021 HTTP/1 and HTTP/1.1    
2/17/2021 DNS  2.4 Programming Assignment 1 out 2/18, due 3/04
2/22/2021 Content Distribution Networks/Sockets 2.6.3  

Transport Layer

2/24/2021 Transport layer introduction 3.1, 3.2, 2.7  
3/01/2021 TCP 

3.3.1, 3.5.1, 3.5.2

 
3/03/2021 TCP flow control 3.5.3, 3.5.4, 3.5.5 Homework 1 out 3/04, due 3/11
3/08/2021 Class cancelled Class cancelled  
3/10/2021 TCP Congestion Control + Wireshark Special Lecture 3.6.1, 3.7 (excluding 3.7.1 or 3.7.2). Programming assignment 2 out 3/11, due 3/25
3/15/2021 TCP congestion control + UDP 3.3 (No checksums)  

Network Layer

3/17/2021 Network and IP Addressing  4.3.3 (details of DHCP excluded),

 

3/22/2021 Network Forwarding 4.2  
3/24/2021  Network Forwarding     

Midterm exam​

3/29/2021 No class, midterm exam 

 

Midterm exam, details being worked out. 

Spring Break Lite​

3/31/2021 No class, Spring Break Lite

 

No class today, take a break

Routing

4/05/2021 Network IP and Inter-domain routing 4.3.1, 4.3.4, 4.3.5  
4/07/2021 Link state and distance vector 5.2 (5.2.1, 5.2.2) No poisoned reverse Homework 2 is out 4/08, due 4/15
4/12/2021 Link state and distance vector    
4/14/2021 Inter-domain routing 5.4  

Switching

4/19/2021 Switching  6.4 and 6.4.1, 6.4.3, 6.5.1  

Link layer and Physical Layer

4/21/2021 Midterm answers + Link layer: Ethernet 6.1, 6.1.1, 6.3, 6.3.1, 6.3.2 Homework 3 out 4/22, due 4/29
4/26/2021 Link layer: WiFi 7.3 (Focus only on RTS/CTS)  
4/28/2021 Physical layer    

Special Topics

5/03/2021 Data centers and SDNs    
5/05/2021 Newer application protocols and Wrap up  
Final exam during exam week (scheduled for May 18, from 2.15pm)

Others

COVID changes:

All classes will be recorded and uploaded (however, I cannot gaurantee the quality of the recordings and I will not be able to re-record). 

Be respectful on Zoom. Due to previous zoom bombing incident, I cannot allow unmuting yourself, changing your names, or showing your videos. But you can send me chat messages. Always send messages to the "host" account

I am reducing the total number of assignments and homeworks and also increasing the flexibility in terms of deadlines

If you are finding the class difficult to follow, due to personal difficulties or difficulties in learning remotely, please (please) reach out to me immediately. I can provide additional office hours and talk you through the material. But if you wait until the end of the semester, I will not be able to help you

Exams will be open book/open notes. I reserve the right to call you for a short meeting after the exam if I suspect of you cheating. 

Class Attendance and Zoom policy: I will not take attendance in class. If you need to talk to me face-to-face, please come to my office hours. Please note that if you need a recommendation letter from me and I have never seen you in my office hours or seen you participate in Piazza discussions, I will not be able to write you a letter.  

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.

Statement regarding dealing with attendance and class schedule: Students are expected to attend every class, report for examinations and submit major graded coursework as scheduled. If a student is unable to attend lecture(s), 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 or labs, 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 depending on Internet connection.  Please note, all students must follow Stony

Brook, local, state and Centers for Disease Control and Prevention (CDC) guidelines to reduce the risk of transmission of COVID.