CSE 310: Computer Networks
Semester
Instructor
Course Time
Location
Class Discussion Forum
Contact Info
Office hours: MW 2.30PM to 3.50PM
Instructor email: arunab@cs.stonybrook.edu
Instructor office: 337 New Computer Science
Undergraduate TA office hours (for homeworks): Wednesday 12.00 to 1.30, Old CS 2127
TA office hours (for assignments, assignment gradings, other questions)
Reza Alimadadi (Alimadadi.Mohammadreza@stonybrook.edu) Wednesdays 1.00 to 2.00 Old CS 2127
Pooya Mirhosseini (semirhossein@cs.stonybrook.edu) Fridays 4.00 to 5.00 Old CS 2127
Announcement
- Web page is up
- Piazza page is set up. Please sign up. All further notifications will be on Piazza.
Description
The goal of this course is to cover the introductory topics in networking. We will go in great detail the OSI stack and the standard protocols. In each layer, we will discuss design patterns commonly used in networking protocols as well as newer developments in the networking world. There will be a mix of programming assignments and (non-programing) homeworks. The programming assignments and the homeworks are meant to help with understanding the core concepts taught in class.
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
(Tentative) There are several components in this class: Assignments, Homeworks, and Exams. The grading criteria are as follows:
Midterm: 20%
Final Exam: 20%
Programming Assignments (4): 40%
Homeworks (4): 20%
Assignments: There will be 4 programming assignments in all. Assignments should be submitted before 9.00pm on the day they are due. You will get about 2 weeks (with one exception) for each assignment. The assignments are programming heavy. You can program in Java, C, or Python.
Homeworks: There will be 4 homeworks 3 homeworks. These do not require programming. They are due before 9.00pm on the day they are due. You will typically get 1 week to finish your homework.
Submissions instructions: We will use Blackboard for submissions. If you want to resubmit after you already submitted one version of your assignment/project/summaries, 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 48 hours grace period spanning all 4 assignments and a 24 hour grace period spanning all homeworks. You will not be penalized as long as the total hours that you are late does not exceed 48 hours across your assignments and 24 hours across your homeworks.
Late submission policy:
If you submit your homework at hour h after your deadline (after your grace period)
- 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/28/2019 | Introduction | No reading. | Syllabus and overview. [introduction.pdf] | |
Application Layer |
||||
1/30/2019 | Application layer and Web |
1.5, 2.1.1, (2.1.2 covered in Transport), |
[app-introduction.pdf] | |
2/04/2019 | HTTP | 2.2 (except Cookies) | [app-web-http.pdf] Homework 1 out. | |
2/06/2019 | HTTP and DNS | 2.4 | [app-dns.pdf] | |
2/11/2019 | DNS and HTTP Caching | Homework 1 due, Assignment 1 is out | ||
Transport Layer |
||||
2/13/2019 | CDNs/Transport Layer/Sockets | 2.7 (only TCP), 3.1.1, 3.1.2 | [app-cdn.pdf], [transport-sockets.pdf] | |
2/18/2019 | TCP Introduction |
3.3.1, 3.5.1, 3.5.2 |
[transport-tcp-introduction.pdf] | |
2/20/2019 | TCP flow control |
3.5.3, 3.5.4, 3.5.5 |
||
2/25/2019 | TCP congestion control | 3.6.1, 3.7 (excluding 3.7.1 or 3.7.2) | Assignment 1 is due, Assignment 2 is out [transport-tcp.pdf] |
|
2/27/2019 | Special class on Wireshark | |||
Network Layer |
||||
3/04/2019 | TCP Congestion Control | [transport-tcp.pdf] | ||
3/06/2019 | IP Addressing | 4.3 (IP header format alone), 4.3.3 (details of DHCP excluded), 4.3.4 | [network-addressing.pdf] | |
3/11/2019 | IP Addressing |
Assignment 2 is due, Homework 2 is out. |
||
3/13/2019 | Forwarding | 4.1, 4.1.1 | [network-forwarding.pdf] Homework 2 due 3/15 at 9.00pm | |
Spring Break |
||||
3/18/2019 | Spring Break | No Class | No class | |
3/20/2019 | Spring Break | No Class | No class | |
Routing/Switching |
||||
3/25/2019 | Inter-domain Routing | |||
Midterm |
||||
3/27/2019 | Midterm | Midterm | In class Midterm | |
Routing/Switching continued |
||||
4/01/2019 | Intra-domain routing | 5.2 (including 5.2.1, 5.2.2, excluding poisoned reverse) | [network-intra-domain-routing.pdf] Assignment 3 out | |
4/03/2019 | Inter-domain routing | All of 5.4 |
|
|
4/08/2019 | Inter-domain routing | |||
4/10/2019 | ICMP & Switching | 5.6, 6.4 and 6.4.1 (not 6.4.2 yet), 6.4.3 | [switching.pdf] | |
Link layer and Physical Layer |
||||
4/15/2019 | Link Layer: Ethernet | 6.4.2 | Assignment 3 due, Assignment 4 is out | |
4/17/2019 | Special Class: Howard Pfeffer | https://www.internet2.edu/about-us/leadership/howard-pfeffer/ | What does the Internet Look Like: Industry Perspective | |
4/22/2019 | Link Layer: Ethernet | 6.1, 6.1.1, 6.2 (but not the details, just the names), 6.3, 6.3.1, 6.3.2 | [link-layer-ethernet.pdf] | |
4/24/2019 | Link Layer: WiFi, Physical Layer | 7.3.2, Nyquist theorem etc from notes. | [link-layer-wifi.pdf], [physical-layer-ethernet.pdf] | |
4/29/2019 | Physical layer | Assignment 4 is due, Homework 3 is out | ||
5/01/2019 | No class | Class cancelled | ||
Special topics |
||||
05/06/2019 | Datacenters | Homework 3 is due | ||
05/08/2019 | SDNs and Overview class |
Others
Class Attendance and Laptop Policy: I will not take attendance in class. However, I teach on the board and the slides are used as a backup. This means even if the slides are available, you can miss a lot of context if you dont come to class. If you do come to class, I ask that you do not open your laptops. If you need to use your laptop (due to some extraneous reasons), please send me email.
Recording: Recording of the lectures is not allowed.
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.