Computer Networks

CMSC 417: Spring 2023

banner
Time: Tu-Th, 2:00pm - 3:15pm
Location: CSI 2117



Instructor: Nirupam Roy
Email: niruroy@umd.edu
Office: IRB 5240

General Information


Office Hours:


Description:
The goal of this course is to introduce students to the core concepts of wired and wireless networking. The primary focus will be on the layered architecture and the protocol stacks. At the end of the semester, students will well understand several concepts, including the Internet architecture, HTTP, DNS, P2P, Sockets, TCP/IP, BGP, Routing protocols, wireless and sensor networking, WiFi, cellular and satellite networks, and security.

Topics:
Prerequisite: Minimum grade of C- in CMSC351 and CMSC330; and permission of CMNS-Computer Science department. Or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program.

Grading:
(1) Final exam (20%) - One closed book exam at the end of the semester covering the entire syllabus.
(2) Third-term exams (30%) - Two closed book in-class exams covering selected topics from the syllabus.
(3) Programming assignments(25%) - Five programming assignments.
(4) Project (20%) - One semester-long project in a group of four students.
(5) Class participation (5%) - Participation in discussions, and asking meaningful questions.

Textbook:

(1) Computer Networks: A Systems Approach
by Larry Peterson and Bruce Davie
Morgan Kaufmann, 5th Edition, 2011. ISBN 978-0123850591

Recommended books for reference:

(1) Computer Networking: A Top-Down Approach Featuring the Internet
by Jim Kurose and Keith Ross.
Pearson, 7th edition, 2016. ISBN: 978-0133594140

(2) TCP/IP Sockets in C: A Practical Guide for Programmers
by Michael J. Donahoo, Kenneth L. Calvert
Morgan Kaufmann, 2nd edition, 2009. ISBN 978-0123745408

Course Schedule

(This schedule may change due to unforeseen events and students' evolving interests)

Date

Topics of discussions

Study materials


26-Jan-2023

Lecture 1: Course logistics, Foundations of networks
(Textbook chapter 1)


31-Jan-2023

Lecture 2: Foundations of networks (cont.)
(Textbook chapter 1)


02-Feb-2023

Lecture 3: Distance vector routing
(Textbook chapter 3.3.1 and 3.3.2)


07-Feb-2023

Lecture 4: Distance vector routing (cont.) and Link state routing
(Textbook chapter 3.3.2 and 3.3.3)


09-Feb-2023

Lecture 5: LS routing (cont.) and Basic internetworking (IP)
(Textbook chapter 3.3 and 3.2)


09-Feb-2023
(Thursday)

Assignment_0 is released.
Due: February 20th, 11:59:59 pm
Redo deadline (for 70% of the difference): March 6th, 11:59:59 pm


10-Feb-2023
(Friday)

Socket Programming Workshop.
Location: IRB 4105 (In-person. Slides and recordings will be available afterward.)
Time: 4:00pm to 5:00pm.


14-Feb-2023

Lecture 6: IPv4 addresses, Subnets, CIDR, DHCP
(Textbook chapter 3.2)


16-Feb-2023

Lecture 7: Subnets, CIDR, DHCP
(Textbook chapter 3.2)


20-Feb-2023
(Monday)

Assignment_1 is released.
Due: March 6th, 11:59:59 pm
Redo deadline (for 70% of the difference): March 29th, 11:59:59 pm


21-Feb-2023

Midterm-1 reviews and Q&A by the TAs.


23-Feb-2023

Midterm-1 exam.
Syllabus: Link. (The topics covered in class.)
Past exam questions: 417-exams.zip.
This is an in-class exam. Please bring your university ID card.


28-Feb-2023

Lecture 8: Subnet, CIDR, DHCP, NAT protocol
(Textbook chapter 3.2)


02-Mar-2023

Lecture 9: DHCP, NAT
(Textbook chapter 3.2)


06-Mar-2023
(Monday)

Assignment_2 is released.
Due: March 29th, 11:59:59 pm
Redo deadline (for 70% of the difference): April 10th, 11:59:59 pm


07-Mar-2023

Lecture 10: ARP, ICMP, Virtual networks and tunnels
(Textbook chapter 3.2)


09-Mar-2023

Lecture 11: Transport layer protocols
(Textbook chapter 5)


14-Mar-2023

Lecture 12: TCP, Stop-and-wait protocol
(Textbook chapter 5)


16-Mar-2023

Lecture 13: TCP flow control: Sliding window protocol
(Textbook chapter 5)


19-March-2023
to 26-March-2023

Spring break


28-Mar-2023

Lecture 14: TCP flow-control and congestion-control
(Textbook chapter 5 & 6)


29-Mar-2023
(Monday)

Assignment_3 is released.
Due: April 10th, 11:59:59 pm
Redo deadline (for 70% of the difference): April 24th, 11:59:59 pm


30-Mar-2023

Lecture 15: TCP congestion control
(Textbook chapter 6)


04-Apr-2023

Lecture 16: TCP details, Link layer
(Textbook chapter 6 & 2)


06-Apr-2023

Lecture 17: Congestion control -part 3, router-assisted congestion control, Link layer
(Textbook chapter 6 & 2)


06-April-2023
(Thursday)

Assignment_4 is released.
Due: April 24th, 11:59:59 pm
Redo deadline (for 70% of the difference): May 2nd, 11:59:59 pm


11-Apr-2023

Lecture 18: Midterm-2 review


13-Apr-2023

Midterm-2 exam.
Syllabus: Link. (The topics covered in class.)
Past exam questions: 417-exams.zip.
Syllabus: Topics covered in class.
This is an in-class exam. Please bring your university ID card.


18-Apr-2023

Lecture 19: Chord protocol.
(The research paper)


20-Apr-2023

Lecture 20: Ethernet and Hubs/Switches
(Textbook chapter 2)


24-April-2023
(Thursday)

Final project is released.
Due: May 11th, 11:59:59 pm (no redo or late submission allowed)
In-person project interviews and evaluations: May 12th and 13th (time slots will be released)


25-Apr-2023

Lecture : Ethernet, WiFi
(Textbook chapter 2)


27-Apr-2023

Lecture : Wifi, Cellular networks and mobility in Wireless networks
(Textbook chapter 2)


02-May-2023

Lecture : WiFi, Mobility in Wireless, Advanced networking: BGP protocol
(Textbook chapters 2 and 4)


04-May-2023

Lecture : BGP
(Textbook chapter 4)


09-May-2023

Lecture : BGP protocols, BGP attacks


11-May-2023

No lecture. Midterm-2 makeup exam.



17-May-2023 (WEDNESDAY)

Final exam

Location: CSI 2117
Time: 10:30am-12:30pm
This is an in-class exam. Please bring your university ID card.