CMSC 417 - Computer Networks

Spring 2002

Section 0201

General Course Information

Instructor: Bobby Bhattacharjee
4147  A. V. Williams Building
Office Hours: Wednesday, 10:00 a.m. -- 12:00 p.m. 
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
Room and Time: 3201 James M. Patterson Building
Tuesdays and Thursdays, 11.00a.m. -- 12.15 p.m.

Teaching Assistant: Seungjoon Lee
Office Hours: Tuesdays and Thursdays, 3:00p.m. -- 4:00p.m., in 1157  A.V. Williams Building

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.


CMSC 251, CMSC 311 and CMSC 330.
Experience with some flavor of Unix and programming in C or C++.


The textbook for the course is:

Computer Networks: A Systems Approach
    by Larry Peterson and Bruce Davie, Morgan Kaufmann. There is also a supplement (that you are not required, but strongly recommended to get):

The Pocket Guide to TCP/IP Sockets: C Version
    by Jeff Donahoo and Ken Calvert, Morgan Kaufmann.

The following books are recommended for reference:

Computer Networking: A Top-Down Approach Featuring the Internet.
    by Jim Kurose and Keith Ross, Addison-Wesley.
    We used the preliminary edition of this textbook last year, a real edition should now be available. (ISBN: 0-201-61274-7).

High-speed Networks: TCP/IP and ATM design principles
   by William Stallings, Prentice-Hall, 1998.
   ISBN 0-13-525965-7

TCP/IP Illustrated volume 1
   by  W. Richard Stevens.  Addison-Wesley.
   ISBN: 0-201-63346-9


Project 30%
Final Exam 25%
Midterm 20%
Programming Assignments and Homeworks 20%
Class Participation 5%

The grading criteria is subject to change during the semester.

Handouts and Assignments

Syllabus Section Navigator
Warm-up Quiz
Assignment 0 Goodie pack (tar.gz)
Assignment 1
Assignment 2 Goodie pack (tar)
Homework 0
Assignment 3 Goodie Pack (tar)
Assignment 4 Goodie Pack (tar)


Please keep up with and participate in the class newsgroup.   I will use the newsgroup for broadcast announcements and to answer questions that may be interesting to more than one of you.  Further, the newsgroup is the best medium for asking questions about homeworks, for debugging your programming environment, and for posting the latest Internet rumor.  Thus, unless it is private, post to the newsgroup 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 newsgroup.  Minimally, I must know your name by the end of the term in order for you to get any points for class participation.