CSE 310 (SUNY Korea)

Semester: 

Spring 2024

Instructor: 

Aruna Balasubramanian

Course Time: 

MW 3.30pm - 4.50pm

Location: 

B204

Contact Info: 

Email: arunab@cs.stonybrook.edu
Office hours: Wednesday 2.15pm to 3.15pm and Thursday 3.00pm to 4.00pm (C 418)

Announcement: 

Course Web Page is up
All discussions will start on Brightspace

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: 5%
Final Project: 17%

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 an open-ended research-based project as part of the class. The project can be individual or group project. The project will consist of a project presentation (mostly like a poster presentation) and a final report. You will also submit a project proposal and a project progress report which will be graded.

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

 

Tentative Schedule: 

Date Topic Readings Notes
02/26/2024 Introduction No reading [introduction.pdf]

Application Layer

02/28/2024 Introduction continued

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

 
03/04/2024 Application and Web    
03/06/2024 HTTP 2.2 (except cookies) Homework 1 is out 03/07, due 03/19
03/11/2024 DNS 2.4  
03/13/2024 DNS   Programming assignment 1 out 03/19, due 04/05
03/18/2024 CDN 2.6.3  

Transport Layer

03/20/2024 Introduction to Transport 3.1, 3.2, 2.7  
03/25/2024 TCP and Flow control 3.3.1, 3.5.1, 3.5.2  
03/27/2024 Flow control 3.5.3, 3.5.4, 3.5.5  
04/01/2024 Congestion control 3.6.1, 3.7 (excluding 3.7.1 and 3.7.2)  

Midterm exam

04/03/2024 In class exam   Programming assignment 2 out 04/08, due 04/22

Wrapping up Transport layer

04/08/2024 UDP + Wireshark.  3.3 (no checksums) Project discussions.
04/10/2024 No class election    

Special topics 

04/15/2024 BBR, HTTP/2, HTTP/3    

Network layer

04/17/2024 Introduction to network layer + IP addressing (recorded class, instructor traveling) 4.3.3 (details of DHCP excluded) No class, instructor traveling, but class recorded
04/22/2024 IP forwarding 4.2  
04/24/2024 IP layer, VAN and NATs  4.3.1, 4.3.4, 4.3.5  
04/29/2024 No class, instructor traveling   Project proposal due 04/29, Homework 2 is out 04/29, due 05/06

Routing

05/01/2024 Intra domain routing    
05/06/2024 Inter domain routing    
05/08/2024 Inter domain routing continued    

Switching Layer

05/13/2024 Switching and ARP   Homework 3 is out 05/14, due 05/21.
05/14/2024 Extending the LAN + Link layer   Replacement class, Tuesday with Wednesday schedule

Link layer and Physical layer

05/20/2024 Link layer    
05/22/2024 Link layer + Physical layer   Project progress report due 05/23 (optional)

Wrapping up

05/27/2024 Wrap up class    
05/29/2024 Poster presentation help session    
06/03/2024 No class instructor traveling    
06/05/2024 Tentative poster presentation (may move to 06/06)  Poster presentation Final Project Report due 06/07

 

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.