CS455 Computer Communications and Networking

Wednesday 4:30 - 7:10 PM, Innovation Hall 208

Instructor: Dr. Songqing Chen
Office: 5319 Engineering Building
Phone: 703-993-3176
E-mail: sqchen AT cs dot gmu dot edu
Office Hours: Wednesday 2:00 p.m. - 4:00 p.m (tentative), or by appointment
Course Homepage: http://www.cs.gmu.edu/~sqchen/courses/CS455F10


The course will present data communications fundamentals and computer networking methods, using the ISO 7-layer reference model to organize the study. Attention will be focused on the protocols of the physical, data link control, network, and transport layers, for local and wide area networks. Emphasis will be given to the Internet Protocol Suite. Some advanced topics, such as network security, wireless and mobile computing networks, will also be covered. Students will program simplified versions of the protocols as a part of the course project.


Grade of C or better in CS 310 and 367, and STAT 344, ability to program in C/C++.




  1. Explain basic electrical engineering principles that enable communication at the physical layer
  2. Demonstrate an understanding of wired and wireless data link layer protocols for shared medium and point-to-point communication
  3. Demonstrate an understanding of the graph theory concepts required for unicast and multicast routing
  4. Demonstrate an understanding of distributed routing protocols
  5. Describe how protocols and applications use ARQ algorithms for distributed reliability
  6. Demonstrate an understanding of end-to-end transport layer protocols
  7. Explain basic concepts in cryptography and networking security protocols
  8. Illustrate fundamental understanding of networking by programming portions of the entire network stack
  9. Demonstrate a basic understanding of performance analysis for computer networking
  10. Demonstrate a basic working vocabulary of data communications and networking terminology


Homework assignments are on a semi-regular basis. Projects are based on a network simulator. The network simulator, Network Workbench (NW), enables the study and implementation of various networking protocols in a virtual reality, where network devices (namely, routers and switches) are simulated and your protocol implementations can be tested and debugged.

The official platform for projects is site-unix, meaning that the TA will grade your projects on that platform. Currently, it points to zeus.ite.gmu.edu. On site-unix, the current version of NW, nw42, can be found at /usr/local/nw42. (Note that, for security reasons, you can login into site-unix from osf1 if you cannot login directly.) To install nw42 in your home directory, follow the instructions in /usr/local/nw42/Linux-setup.txt. Alternatively, you can install NW on your PC from netlab.gmu.edu/NW. Note that site-unix is the only official platform. You are responsible for resolving any compatibility issues before submitting (although we expect few such problems).



Your grade will be calcuated as follows:

No credit if your project does not compile. Late assignments/projects lose 20% credit and will not be accepted 3 days after due, unless under prearranged conditions.

No early exams will be given. Missed/make-up exams are strongly discouraged and must be arranged with the instructor BEFORE the exam date with an official and verifiable excuse.


GMU Academic Calendar

Honor Code

Disability Resource Center

Dr. Songqing Chen, Dept. of Computer Science, George Mason University