Semester:
Instructor:
Course Time:
Location:
Class Discussion Forum:
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 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.
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), |
|
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.