CSC6290: Data Communications and Computer Networks (Fall 2016)

Lectures  |  Exercises  |  Project   |  Related resources 
                           Course mailing list: general, web section only     

TinyLab #2 is due by midnight, Dec. 18.
TinyExam #3 to be held at 3pm, Dec. 5.
TinyExam #2 to be held at 3pm, Nov. 14.
TinyExam #1 to be held at 3pm, Oct. 31.
TinyLab #1 is due by midnight, Nov. 2
TinyExam #0 to be held at 3pm, Oct. 3.  

Instructor: Dr. Hongwei Zhang
                  hongwei AT wayne DOTedu
                  +1 313 577 0731
Class timings: MW 3:00pm - 4:20pm
Office hours: MW 4:30pm - 5:30pm, or by appointment
Class webpage:
Teaching Assistant: TBA
TA Office hours: TBA

Overview (flyer)   Think Distributedly!

This course is designed for graduate students who are interested in the design, analysis, and implementation of computer network protocols. Our objective is to prepare students for designing network protocols with provable correctness and performance and for implementing network protocols in efficient manners. We focus on the basic principles and techniques for provable, efficient protocol design and implementation, and we will address the design and implementation of both the Internet and emerging networking technologies such as wireless sensor and vehicular networks.

Topics include: 1) how to design and analyze basic network protocols such as those for link reliability control, medium access control, switching, routing, and quality-of-service guarantee; 2) how to address implementation challenges such as high-speed, low-overhead packet processing, timing management, and network traffic measurement; 3) how to design and implement reliable, real-time protocols for wireless networks such as wireless sensor networks.

This course is expected to build up students' capability of designing and implementing computer network protocols for solving real-world networked systems problems and to help students build the foundation for understanding advanced networking topics (such as those that are covered in CSC 7290).


Undergraduate courses in algorithms, operating systems, and computer networks (e.g., CSC 4420, CSC 4100, CSC 4992, or equivalent); or consent of instructor.


[R0] Larry Peterson and Bruce Davie, Computer Networks: A Systems Approach, 5th edition, Morgan Kaufmann. 

Recommended references:
[R1] George Varghese, Network Algorithmics, Morgan Kaufmann, 2005.  
[R2] Mohamed G. Gouda, Elements of Network Protocol Design, John Wiley & Sons, ISBN: 0471197440.  
[R3] Anurag Kumar, D. Manjunath, Joy Kuri, Communication Networking: An Analytical Approach, Morgan Kaufmann, 2004. ISBN: 0124287514.
[R4] Dimitri Bertsekas and Robert Gallager, Data Networks (2nd edition), Prentice Hall, ISBN: 013200916.
[R5] Sheldon M. Ross, Introduction to Probability Models, 9th edition, Academic Press, 2006.

Flowchart of topics


Additional reading: Leonard Kleinrock's vision | Leonard Kleinrock's Keynote speech at INFOCOM'06 

Exercise #0   (Solution)
Solution to Exercise #1 
Solution to Exercise #2 
Solution to Exercise #3 
Solution to Exercise #4 
Solution to Exercise #5


Scope & Rules:

See "Course Plan" in the Lectures section.

Evaluation criteria:
Your performance in project will be evaluated based on the following metrics:
Some data
Current assignment/selection of projects in class   

Related resources


Lecture: Attendance at lectures is expected but will not be recorded. Students are, however, fully responsible for all materials presented in lectures.

Homework: Homework assignments will be designed to stimulate independent thinking among the students. They will be due at the beginning of class, usually a week after they are given.  Homework assignments will not be accepted after the due date. An exception to this rule is that you give in advance a strong and convincing reason.

Exams will be scheduled in advance. Unless prior arrangements are made, a grade of zero will be recorded for missed exams.

Grading: The tentative grade weighting for the semester will be:
Class participation: 10% 
TinyExams: 40%
TinyLabs: 25% 
Project: 25% 
A:  93-100
A-: 90-92
B+: 85-89
B:   80-84
B-:  75-79
C+: 70-74
C:   65-69
C-:  60-64
F:    0-60


I expect you to carefully read all material handed out in class. I also expect you to read the book according to the reading assignments announced in class. You are encouraged to discuss the material presented in class with other students, but definitely do not collaborate with anyone in solving the homework problems. The Wayne State University Student Code of Conduct applies. Feel free to discuss our expectations and grading criteria with the grader or me during the semester.

If you have a documented disability that requires accommodations, you will need to register with Student Disability Services (SDS) for coordination of your academic accommodations. The Student Disability Services (SDS) office is located at 1600 David Adamany Undergraduate Library in the Student Academic Success Services department. SDS telephone number is 313-577-1851 or 313-577-3365 (TDD only). Once you have your accommodations in place, I will be glad to meet with you privately during my office hours to discuss your special needs. Student Disability Services’ mission is to assist the university in creating an accessible community where students with disabilities have an equal opportunity to fully participate in their educational experience at Wayne State University. Please be aware that a delay in getting SDS accommodation letters for the current semester may hinder the availability or facilitation of those accommodations in a timely manner. Therefore, it is in your best interest to get your accommodation letters as early in the semester as possible.

Class add deadline: Effective Fall 2011, students must add classes no later than the end of the first week, including online classes. During the second week of the semester, students must personally request departmental permission in order to register. If departmental permission is granted, students must register themselves for the class in Pipeline during the second week. Receiving departmental permission is NOT the same as registering for the class! Students may continue to drop classes (with full tuition cancellation) through the first two weeks of the term.

Class withdrawal deadline: Effective Fall 2011, the withdrawal deadline becomes the end of the 10th week of classes. After the deadline, the Withdraw option will not be available in Pipeline. The Registrar’s Office does not grant exceptions to this deadline.