CSE 310 (SUNY Korea)

Semester

Fall 2023

Instructor

Aruna Balasubramanian

Course Time

Tuesday-Thursday 10.30 - 11.50

Location

B204

Contact Info

Email: arunab@cs.stonybrook.edu

Office hours: Thursday 2.30pm to 3.30pm; Wednesday 2.15pm to 3.00pm (C418)

 

Announcement

Course Web Page is up

All discussions will start on Brightspace (may move to Piazza if needed)

Description

The goal of this course is to cover the introductory topics in networking. We will learn how network applications such as the Internet and Web works. We will learn how to build an "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 will 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, homeworks, exams, and a project.

The learning objectives are (i) understanding the networking principles behind the Internet, (ii) learning foundational principles used to make design decisions in systems, and (iii) building the ability to analyze trade-offs in system design

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: 20%

Midterm exam: 20%

Programming Assignments (2, 10 points each): 20% Homeworks (3, 6 points each): 18%

Pop quiz: 7%

Final Project: 15%

Programming Assignments: There will be 2 programming assignments. Assignments should be submitted before 9.00pm on the day they are due. You will get 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 and final exam: The exams are in-person and timed. The exam is closed book but I allow a 1- page cheat sheet.

Project: You will do a group project with 2 student (or individual). The project will consist of a project presentation and final report. You will also submit a project proposal and a project progress report which will all be graded. The project will be based on the material learnt in class.

Grace period: The students get a 48 hours grace period spanning assignments and a 48 hour grace period spanning all homeworks. Students will not be penalized as long as the total late hours does not exceed 48 hours across assignments and 48 hours across homeworks.

Late submission policy: If a programming assignment/homework is submitted at hour h after the deadline (after the grace period), the penalty is as follows

  • If 0 < h <= 5, penalized 5% of your grade
  • If 5 < h <=15 hours, penalized 8% of your grade,
  • If 15 < h <= 24, penalized 15% of your grade
  • If 24 < h <= 48, penalized 30% of your grade
  • If 48 < h <= 72, penalized 40% of your grade
  • If 72 < h <= 96, penalized 60% of your grade,
  • h > 96, you cannot submit the homework.

Extensions are almost never provided.

Tentative Schedule

Date Topic Readings Notes
08/29/2023 Introduction No reading [introduction.pdf]

Application Layer

08/31/2023 Introduction continued

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

 
09/05/2023 Application and Web 2.2 (except cookies)  
09/07/2023 HTTP   Homework 1 is out 9/08, 09/19, 
09/12/2023 DNS    
09/14/2023 CDN 2.6.3 Programming assignment 1 out 09/19, due 10/06

Transport Layer

9/19/2023 Introduction to Transport layer 3.1, 3.2, 2.7  
9/21/2023 Introduction to TCP 3.3.1, 3.5.1, 3.5.2  
9/26/2023 Flow control, congestion control 3.5.3, 3.5.4, 3.5.5  
9/28/2023 No class    
10/03/2023 No class    
10/05/2023 Congestion control  3.6.1, 3.7 (excluding 3.7.1 or 3.7.2), 3.3 (no checksums)  
10/10/2023 Congestion control and UDP  

 

10/12/2023 In class exam  In-class Exam

In-class exam

Project discussion and wrapping up TCP and application layers.

10/17/2023 HTTP/HTTP3 + Project discussion + Wireshark  

Programming assignment 2 out 10/16, due 10/31

Network Layer

10/19/2023 Introduction to network layer and IP addressing 4.3.3 (details of DHCP excluded)  
10/24/2023 IP addressing    
10/26/2023 IP forwarding 4.2  
10/31/2023 IP layer 4.3.1, 4.3.4, 4.3.5    
11/02/2023 VAN and NATs  

Homework 2 out 11/02, due 11/09, Project proposal due 11/03

11/07/2023 Intra domain routing + exam review  5.2 (5.2.1, 5.2.2) No poisoned reverse

 

11/09/2023 Inter domain routing  5.4

 

11/14/2023 Inter domain routing continued  

 

Switching Layer

11/16/2023 Switching and ARP  

Homework 3 is out 11/14, due 11/21.

11/21/2023 Extending a LAN + link layer  

 

Link layer and Physical layer

11/23/2023 Link layer  6.1, 6.1.1, 6.3, 6.3.1, 6.3.2  
11/28/2023 Link layer + Physical layer   Project progress report due 11/28 (optional)

Wrapping up

11/30/2023 Class replaced with scheduled office hours   No class. Scheduled office hours 11/29 and 11/28 to discuss project. 
12/05/2023 Wrap up class    
12/07/2023 Poster presentation  Poster presentation Final Project Report due 12/08.

 

 

Others

Discussion policy: All discussions will take place on Bright Space. Please be respectful of your fellow classmates and your instructor when posting questions. Please follow the discussions and announcements on Bright Space closely. I will be posting important announcements on it. 

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 Bright Space.

Laptop and devices: I have a no-laptop and no-device policy in class. I will accommodate students who have accessibility requirements or other needs. In that case,  send me email or come talk to me.