CMSC 711 - Computer Networks

Fall 2002

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 711: " somewhere in the subject line of your message
Room and Time: 1121  Computer Science Instruction Center
Tuesdays and Thursdays 11:00a.m. -- 12:15 p.m.

Course Description

This course will cover the principles of wide-area networking with a focus on protocols, implementations, and issues specific to the Internet. We will begin with a retrospective on packet switching, study the basis for traditional Internet protocols (such as IP and TCP) and investigate a set of selected advanced topics in networking.

The course will cover peer-to-peer networks and algorithms, service differentiation and quality of service issues in wide-area networks, issues relevant to high speed networks, and new architectural changes being introduced in the current Internet (e.g. NATs and middleboxes). We will also investigate how the current protocols should be changed to adapt the infrastructure for new services such as mobile and ad-hoc access, virtual private networking, and how to support wide-area interactive multi-party applications.

As a part of the course, you will selectively implement new protocols and network services; as such, this course will have rather a substantial programming component.


CMSC 417 or at least one other introductory course in networking.
Experience with some flavor of Unix and programming in C or C++.


The following books are recommended for reference:

Computer Networks: A Systems Approach
    by Larry Peterson and Bruce Davie, Second Edition,Morgan Kaufman, 1999.
    ISBN  1-55860-514-2.

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

The majority of the course will be taught using  RFCs and papers in the  reading list. You will also be responsible for material covered in class that is not part of a paper or a RFC.


Project 35%
Final Exam 25%
Midterm 20%
Programming Assignments and Assignments 15%
Class Participation 5%

The grading criteria is subject to change during the semester.


 Warm-up quiz (old)

 Weeks 0, 1 Readings
 Week 2 Readings
 Week 3, 4 Readings
 Week 5, 6 Readings
 Week 7 Readings
Week 8: Review, mid-term
 Week 9 Readings
 Week 10,11 Readings
 Week 11 and 12 Readings
Week 13: Prjoect Discussion, Thanksgiving
 Week 14 Readings


Please keep up with and participate in the class newsgroup (csd.cmsc711).   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 and Class Participation

This is a graduate course; I will not mandate you to come to class (you are still responsible for all the material covered in class).  Further, 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.