CMSC 417 - Computer Networks

Fall 2021

Section 0101

General Course Information

Location and Time: Tuesdays and Thursdays from 2:00pm - 3:15pm
0318 IRB
Online: zoom: 943 5290 6718
Password is the course number, three digits (link is also on Piazza)
Instructor: Bobby Bhattacharjee
5140 IRB
Office Hours: Wednesdays 2pm to 3pm Eastern, online only
E-mail is the easiest and fastest way to contact me.
Please put the string "CMSC 417: " somewhere in the subject line of your message
Teaching Assistants: Amir-Mohsen Ahanchi, Fenfei Guo, Irtaza Shahid, William Ingold
Office Hours: All times below are in Eastern; use the class Zoom link
Fenfei Guo Fridays 4pm to 6pm
Amir-Mohsen Ahanchi Mondays 11am to 1pm
William Ingold Wednesdays 11am to 1pm
Irtaza Shahid Thursday 11am to 1pm
Forum: 417 Forum on Piazza

Course Description

This course will cover the basic principles of networking with a focus on protocols, implementations, and issues specific to the Internet. We will study how routing, transport, and internetworking protocols work using the Internet family of protocols as examples. A significant part of the course will focus on higher layer protocols and the application layer. We will selectively implement new protocols and network services; as such, this course will have rather a substantial programming component.

For further information, please read the course syllabus.


Prerequisite: Minimum grade of C- in CMSC351 and CMSC330
Experience with some flavor of Unix and programming in C or C++.


The textbooks for the course are:

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

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.

Recommended books for reference:

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

TCP/IP Illustrated volume 1
   by W. Richard Stevens
   Addison-Wesley, 2nd edition, 2011. ISBN: 0-321-33631-6


Percentage Description
20% Final
30% In-term exams
20% Final project
25% Assignments
5% Class participation

The grading criteria is subject to change during the semester.

Handouts and Assignments

Virtual Machine (use VMWare, free on Terpware)
Section Navigator (from Fall 2012, Peterson and Davie, 5th Ed)

Assignment 0
Assignment 1
Assignment 2
Assignment 3
Assignment 4
Final Project
First Third Term Exam

Previous Exams


Please keep up with and participate in the class forum. I will use the forum for broadcast announcements and to answer questions that may be interesting to more than one of you. Further, the forum is the best medium for asking questions about homework, for debugging your programming environment, and for posting the latest Internet rumor. Thus, unless it is private, post to the forum before writing e-mail.

Attendance, Group Interactions, and Class Participation

This is a senior-level course; I will not mandate you to come to class (you are still responsible for all the material covered in class). The class project is a major part of this course, and please be aware that you will be working in groups of four. Lastly, note that 5% of your grade is based upon class participation. This is to encourage you to voice your ideas in class and to post them to the forum. Minimally, I must know your name by the end of the term in order for you to get any points for class participation.

Web Accessibility