CS555 Computer Communication and Networks
|| Dr. Robert Simon
|| 5322 Engineering Building
|| simon AT gmu dot edu
|| Online over Blackboard, Tuesday 2:00 to 3:00, or by appointment
This course introduces concepts and design principles of modern computer and
telecommunication networks. It uses the Internet TCP/IP protocol suite to discuss how
computer networks operate and how and why they have evolved over many years to meet the
requirements of today’s networking applications. The focus will be on both - fundamental
networking and communication techniques, and protocols used in the preseent day complex Internet
Topics include DNS and HTTP protocols at the application layer, TCP and UDP at transport layer,
routing algorithms and forwarding with BGP and OSPF at network layer, and multiple access
technologies along with Ethernet and WiFi LANs. Concepts of network security and related
protocols like the Transport Layer Security (TLS) suite and DNS’ Security Extensions (DNSSEC) will
also be introduced.
(Undergraduate level CS 310) and (Undergraduate level CS 367) and (Undergraduate level Stat 344). In order to succeed in the class you must be an expert in programming in either C, Python or Java.
The main resource for this class is the lectures delivered by the
instructor, supported by the course slides and the primary textbook. We will be using the textbook extensively, so it is considered required. The primary textbook is
- James Kurose and Keith Ross, "Computer Networking: A Top-Down Approach," 8th
Edition, Pearson, 2020
The following textbooks are recommended:
- Computer Networks: A Systems Approach, Larry Peterson and Bruce S. Davie.
- Computer Networks, Andrew S. Tanenbaum, David J. Wetherall, Pearson
- Introduction to computer networks and Internet protocol suite
- Internet architecture - edge, core and layered service model
- Application layer principles and protocols (DNS, HTTP, SNMP, etc.)
- Transport layer services, TCP, reliable delivery, congestion control, and UDP
- Network layer data plane principles, forwarding and routing, addressing, IPv6, and DHCP
- Network layer control plane overview, routing algorithms, SDN control plane, OSPF and BGP
- Link layer services, error detection and correction, and multiple access protocols
- Introduction to wireless and mobile networks with 802.11 wireless LANs
- Computer Network Security
All class materials, including lecture notes and programming assignments, are available through your Blackboard accounts. You are responsible for obtaining the textbook(s).
Your grade will be calcuated as follows:
A final exam score of less than 50 results in an F for the course. If you think your work as not be correctly graded then you must initiate contact with the grader within a week of receiving the grade (either in the lecture during which it was first handed out or on the Blackboard). Grade contesting beyond this time window will not be allowed.
- 35% Programming projects
- 25% Final exam, cumulative
- 35% Homeworks and Labs, to be done individually
- 5% Participation
- Late submissions of homeworks, labs and programming assignments will be
penalized at 15% each day, and will not be accepted after 2 days of the due date.
- Final exam is cumulative. Subject to change, it is open book and notes.
- No early final exam will be given. If you cannot make the final exam an makeup will be arranged at the discretion of the instructor, provided
you have a written and verified excuse.
If you have a learning or physical difference that may affect your academic work, you will need to furnish appropriate documentation to GMU Disability Resource Center. If you qualify for accommodation, the DRC staff will give you a form detailing appropriate accommodations for your instructor. If you have such a condition, you must talk to the instructor during the first week of the term about the issue.
Disability Resource Center
The GMU Honor Code will be strictly enforced. Please make sure that you are familiar with it. We will discuss this further in class. Below is the link to the code.
We reserve the right to use MOSS to detect plagiarism.