Computer Networks

CMSC 417: Spring 2022

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



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

General Information


Office Hours: (Online by default, send email to schedule in-person meetings)


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


25-Jan-2022

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


27-Jan-2022

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


01-Feb-2022

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


03-Feb-2022

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


04-Feb-2022

Test assignment (0 credit) is released.
Due: February 09th, 11:59:59 pm


08-Feb-2022

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


04-Feb-2022

Socket Programming Workshop.
Slides and recordings are available on ELMS under files > Socket Workshop.
5:00pm to 6:00pm.


10-Feb-2022

Assignment_1 is released.
Due: February 24th, 11:59:59 pm


10-Feb-2022

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


15-Feb-2022

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


17-Feb-2022

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


22-Feb-2022

Lecture 9: DHCP, NAT
(Textbook chapter 3.2)


24-Feb-2022

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


25-Feb-2022

Assignment_2 is released.
Due: March 10th, 11:59:59 pm


01-Mar-2022

Third-term exam# 1
This is an in-class exam. Please bring your university ID card.


03-Mar-2022

Lecture 11: Transport layer protocols
(Textbook chapter 5)


08-Mar-2022

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


10-Mar-2022

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


11-Mar-2022

Assignment_3 is released.
Due: March 29th, 11:59:59 pm


15-Mar-2022

Lecture 14: TCP flow control
(Textbook chapter 5)


17-Mar-2022

Lecture 15: TCP congestion control
(Textbook chapter 6)


20-Mar-2022
to 27-Mar-2022

Spring break


29-Mar-2022

Class cancelled.


30-Mar-2022

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


31-Mar-2022

Lecture 16: Midterm review, Slow start revisit, Congestion control - Part 2
(Textbook chapter 6)


05-Apr-2022

Third-term exam# 2
This is an in-class exam. Please bring your university ID card.


07-Apr-2022

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


12-Apr-2022

Lecture 18: Link Layer: Wired LAN, Ethernet
(Textbook chapter 2)


14-Apr-2022

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


18-April-2022

Final project is released.
Due: May 10th, 11:59:59 pm


19-Apr-2022

Lecture 20: Wireless LAN (WiFi) and other wireless networks
(Textbook chapter 2)


21-Apr-2022

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


26-Apr-2022

Lecture : Advanced networking: BGP protocol - I
(Textbook chapter 4)


28-Apr-2022

Lecture : BGP protocol - II
(Textbook chapter 4)


03-May-2022

Lecture : BGP attacks, Application layer: Web, Email, DNS
(Textbook chapter 9)


05-May-2022

Lecture : Application layer: Web, Email, DNS - II
(Textbook chapter 9)


10-May-2022

Lecture : Network security: Ciphers, RSA, Authentication, SSL
(Textbook chapter 8)


16-May-2022 (MONDAY)

Final exam

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