Computer Networks

CMSC 417: Spring 2025

banner
Time: M-W, 2:00pm - 3:15pm
Location: CSI 2117



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

General Information


Office Hours:


Syllabus:
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.
The complete list of topics is covered in this course is <Here>. If time permits, some advanced networking concepts will be discussed.

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/computer exam at the end of the semester covering the entire syllabus.
(2) Midterm exams (30%) - Two closed book/computer 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) Engagement (5%) - Learning broader topics in networking (4%) and participation in class discussions and Q&A (1%).
[Note: Bonus points will be capped per section (final exam, midterm exams, assignments, and final project).]

Textbook:

(1) Computer Networks: A Systems Approach
by Larry Peterson and Bruce Davie
Morgan Kaufmann, 6th Edition
Link: https://systemsapproach.org/books-html/

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


27-Jan-2025

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


29-Jan-2025

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


03-Feb-2025

Lecture: Distance vector routing
(Textbook chapter 3.4.1 and 3.4.2)


05-Feb-2025

Lecture: Distance vector routing (cont.)
(Textbook chapter 3.4.2)


10-Feb-2025

Lecture: DV routing (cont.), LS routing
(Textbook chapters 3.4)


12-Feb-2025

Class canceled. UMD closed.


12-Feb-2025
(Wednesday)

Assignment_0 is released.
Due: February 28th, 11:59:59 pm


14-Feb-2025
(Friday)

Socket Programming Workshop.
Location: IRB 4105 (In-person. Slides and recordings will be available afterward.)
Time: 9:30-11:30 am


17-Feb-2025

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


19-Feb-2025

Lecture: IP fragmentation-reassembly, Subnets, CIDR, DHCP
(Textbook chapter 3.3)


24-Feb-2025

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


26-Feb-2025

Lecture: CIDR, DHCP, NAT protocol
(Textbook chapter 3.3)


28-Feb-2025
(Friday)

Assignment_1 is released.
Due: March 14th, 11:59:59 pm


03-Mar-2025

Interm-1 exam.
Syllabus: The topics covered in class so far.
Past exam questions: 417-exams.zip.
This is an in-class exam. Please bring your university ID card.


05-Mar-2025

Lecture: NAT, ARP, ICMP, Virtual networks and tunnels
(Textbook chapter 3.3)


10-Mar-2025

Lecture: Transport layer protocols
(Textbook chapter 5)


12-Mar-2025

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


14-Mar-2025
(Friday)

Assignment_2 is released.
Due: April 1st, 11:59:59 pm


16-March-2025
to 23-March-2025

Spring break


24-Mar-2025

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


26-Mar-2025

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


31-Mar-2025

Lecture: TCP congestion control
(Textbook chapter 6)


01-Apr-2025
(Tuesday)

Assignment_3 is released.
Due: April 14th, 11:59:59 pm


02-Apr-2025

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


07-Apr-2025

Interm-2 exam.
Syllabus: The topics covered between Interm-1 and Interm-2.
Past exam questions: 417-exams.zip.
This is an in-class exam. Please bring your university ID card.


09-Apr-2025

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


14-Apr-2025

Lecture: TCP vulnerabilities and Link Layer
(A research paper & Textbook chapter 2)


14-April-2025
(Monday)

Assignment_4 is released.
Due: April 28th, 11:59:59 pm


16-Apr-2025

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


21-Apr-2025

Lecture: Chord protocol, P2P networks
(The research paper)


23-Apr-2025

Lecture: Ethernet, WiFi
(Textbook chapter 2)


28-Apr-2025

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


28-April-2025
(Monday)

Final project is released.
Due: May 15th, Morning 09:00:00 am (no redo or late submission allowed)
In-person project interviews and evaluations: May 15th and 16th (time slots will be released)


30-Apr-2025

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


05-May-2025

Lecture : BGP
(Textbook chapter 4)



07-May-2025

Lecture : BGP protocols, BGP attacks



12-May-2025

Lecture : Application layer protocols



19-May-2025 (MONDAY)

Final exam

Location: CSI 2117
Time: 4:00pm-6:00pm
This is an in-class exam. Please bring your university ID card.