CSE 310: Computer Networks (Spring 2022)
Semester
Instructor
Course Time
Location
Class Discussion Forum
Contact Info
Instructor email: arunab@cs.stonybrook.edu
Instructor office: 337 New Computer Science
Preferred Pronouns: She/Her. If you think I should know your preferred pronoun, please let me know through email or come talk to me directly.
Office hours:
Zoom office hours Friday 9.00am - 10.00am, Tuesday 11.00am - 12.00pm
When the instructor is traveling, the office hours time changes. In this case, there will be a post on Piazza.
Announcement
January 21st: Piazza set up. All further announcements will be made on Piazza
January 21st: Course website is up
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: 17%
Midterm exam: 17%
Programming Assignments (3, 14 points each): 42%
Homeworks (3, 8 points each): 24%
Programming Assignments: There will be 3 programming assignments in all. 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 cheat sheet.
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 3 assignments and a 48 hour grace period spanning your 3 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 | |
1/25/2022 | Introduction | No reading | [introduction.pdf] | |
Application Layer |
||||
1/27/2022 | Application layer and Web |
1.5, 2.1.1, (2.1.2 covered in Transport), |
[app-introduction.pdf] | |
2/01/2022 | HTTP protocol |
2.2 (except cookies) |
[app-web-http.pdf] | |
2/03/2022 | DNS | 2.4 | [app-dns.pdf] Homework 1 out 2/03, due 2/10 | |
2/08/2022 | Content Distribution Networks | 2.6.3 | [app-cdn.pdf[ | |
Transport Layer |
||||
2/10/2022 | Transport layer introduction | 3.1, 3.2, 2.7 | [transport-introduction.pdf] Programming Assignment 1 out 2/10, due 2/24 | |
2/15/2022 | TCP | 3.3.1, 3.5.1, 3.5.2 | [transport-intro.pdf] | |
2/17/2022 | TCP flow control and congestion control |
3.5.3, 3.5.4, 3.5.5 |
|
|
2/22/2022 | TCP congestion control | 3.6.1, 3.7 (excluding 3.7.1 or 3.7.2) | Class on Zoom | |
2/24/2022 | Wireshark | [wireshshark.pdf] Special class on Wireshark by Zhengyu Xu. Programming assignment 2 out 2/24, due 3/10 | ||
3/01/2022 | Transport UDP + Network introduction | 3.3 (no checksums) | [transport-udp.pdf] | |
Network Layer |
||||
3/03/2022 | IP addressing | 4.3.3 (excluding details of DHCP) | [network-addressing.pdf] | |
3/08/2022 | IP forwarding | 4.2 |
[network-forwarding.pdf] |
|
3/10/2022 | No class | No class, instructor traveling | ||
Spring Break |
||||
3/15/2022 | Spring break | |||
3/17/2022 | Spring break | |||
Midterm |
||||
3/22/2022 | In class midterm |
|
In class midterm. | |
Routing |
||||
3/24/2022 | Intra-domain routing | |||
3/29/2021 | Inter-domain routing | Homework 2 is out 3/29, due 4/05 | ||
3/31/2021 | No class, instructuctor traveling | |||
Switching |
||||
4/05/2021 | Video lecture: Intra-domain routing and switching | Programming assignment 3 out 4/05, due 4/19 | ||
4/07/2021 | Switching | |||
Link layer and Physical Layer |
||||
4/12/2021 | Link layer: ethernet | |||
4/14/2021 | Link layer: WiFi | |||
4/19/2021 | Physical layer | Homework 3 out 4/19, due 4/26 | ||
Special Topics |
||||
4/21/2021 | Data center networking | |||
4/26/2021 | Quic and MPTCP | |||
4/28/2021 | Centralization of the Web | |||
Distributed Systems |
||||
5/03/2021 | What is distributed systems | |||
5/05/2021 | Distributed systems protocols | Final exam scheduled during exam week |
Others
In-person and Zoom lectures:
Most classes will be in-person. However, some classes may be conducted on Zoom. If you do not have access to good Internet and do not have a computer please talk to me now. I will let you know in advance if a class will be on zoom. Please make sure to check your Piazza posts. If we use Zoom, 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
COVID changes:
All classes will be recorded and uploaded, irrespective of whether the class is conducted in-person or on Zoom. However, I cannot gaurantee the quality of the recordings and I will not be able to re-record. If my microphone stops working in class, please let me know immediately. If I dont notice and the recording does not have audio, you are on your own.
Class Attendance: I will not take attendance in class. Please note that if you need a recommendation letter from me and I have never seen you in my office hours, seen you in class, or seen you participate in Piazza discussions, I can provide you a lukewarm letter at best.
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.
Masks: All students should wear masks in the class. The instructor will also wear masks at all time. If anyone does not wear a mask, I will have to ask you to leave
Laptop and devices: I have a no-laptop and no-device policy in class. Please put away your laptop and devices. I will accomodate students who have accessibility requirements or other needs. In that case, send me email or come talk to me.