George Mason University 

DEPARTMENT OF COMPUTER SCIENCE 

Course Description

CS455 Computer Communications and Networking

Section 001 Spring 2017: Monday 16:30 - 19:10, Art and Design Building L008


Last Revised 2-5-2017

Professor: Dr. J. Mark Pullen
Mail drop: CS Dept, 4301 Engineering Building
Office hours Mondays 14:00 to 16:00; also by appointment any mutually convenient time
Preferred contact is email: mpullen@netlab.gmu.edu 

TA: Saniya Kadam
TA Office hours: Monday 15:00-16:00 (CS455 only) Tuesday 17:00-19:00 (all)
TA Office location: ENGR 5321
TA email: skadam2@masonlive.gmu.edu

Current Catalog Description
Data communications and networking protocols, with study organized to follow layers of Internet Protocol Suite (TCP/IP family of protocols). Topics include role of various media and software components, local and wide area network protocols, network performance, and emerging advanced commercial technologies.

Textbook
* Larry Peterson and Bruce Davie, Computer Networks, A Systems Approach, 5th Edition, Morgan-Kaufmann
* Pullen, Understanding Internet Protocols, Wiley, 2000 (out of print; available online to CS455 students)

References
Stallings, Data and Computer Networks 9th Ed. Prentice-Hall, 2010 (older editions also useful)

Course Outcomes
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 and basic Web prototcols
7. Explain basic concepts in cryptography and networking security protocols.
8. Illustrate fundamental understanding of networking by programming portions of the network protocols stack.
9. Demonstrate a basic understanding of performance analysis for computer networking
10. Demonstrate a basic working vocabulary of data communications and networking terminology 

Prerequisites by Topic
Grade of C or better in CS 310 (Data Structures)
Grade of C or better in CS 367 (Computer Systems and Programming)
Grade of C or better in STAT 344 (Probability and Statistics for Engineers and Scientists)
These will not be waived nor accepted as co-requisites; however equivalent study or experience elsewhere may be accepted at the instructor's discretion. 

Major Topics Covered in the Course
1. OSI 7-layer model
2. Flow/error control
3. Medium access control
4. Ethernet
5. Routing
6. Multicasting
7. Internet architecture
8. TCP/UDP protocols
9. Multimedia networking and the WWW
10. Security

The grading breakdown is as follows:
* 10% Homework & Quizzes
* 35% Projects
* 20% Midterm exam
* 35% Final exam

Project: Requires basic Java programming skill. We will use the Java Network Workbench 2 (JNW2), software developed at GMU that simulates a protocol stack and displays the results, using a text interface. Students will create modules for Internet stack layers and run them in the JNW2 environment, as described in the text by Pullen. JNW2 will be available for download through the CS455 Moodle page http://disted.c4i.gmu.edu. Well commented code must be submitted for grading via an upload link on the Moodle page. Student problems with the project are to be addressed to the TA, who may refer them the instructor if needed.

Project credit breakout: DLC1, DLC2, DLC3, LAN1, WAN1, WAN2, TRN1 five points each; extra credit assignment to be announced, up to ten points.

Missed exams must be arranged with the instructor BEFORE the exam date.

Quizzes will be held during class, on dates chosen at random, and will cover content of the previous class and reading assignment for the current class. 

Assignments are due by start of class on assigned date. Late assignments lose 10% per class credit. No project submission will be accepted after last day of classes (5/6/2017).

All students are expected to abide by the Honor Code as stated in the GMU catalog and elaborated for Computer Science. Students should be aware that their submissions may be checked by plagiarism detection software.

Grading is proficiency-based (no curve), cutoffs will be in the vicinity of (but not higher than) A  93; A- 90; B+ 87; B 83; B- 80; C 70.

Extra credit is available by doing assigned extra project work; however, no student who fails the final exam will receive a grade higher than C, regardless of extra credit earned. 

SYLLABUS (subject to revision)
date and topic/readings in Peterson text/project assignment

1-23 Course introduction; network concepts; 7-layer and 5-layer models; data comm basics / Sections 1.1 to 1.4 / JNW2 Setup introduced

1-30 Physical layer: analog and digital telecommunications / Section 1.5, 2.1, 2.2 / Project DLC1: bit stuffing introduced

2-6 Data compression, security principles, integrity, appropriate use / Sections 2.3, 2.4 & 7.2 / Project DLC2: CRC introduced

2-13 Data link control; discrete event simulation (online presentation) / Section 2.5 / Project DLC3: ARQ introduced; Project DLC1 due; 

2-20 Local area networks / Sections 2.6 and 2.7 / Project LAN1: CSMA/CD LAN introduced; Project DLC2 due

2-27  Network Layer: WANs, X.25, routing / Chapter 3 except Section 3.3 / Project WAN1 introduced; Project DLC3 due

3-6 mid-term exam (covers first five lectures)

3-13 Spring Break - no class

3-20  Internet Architecture (IPv4); Metcalfe’s Law; IPv6 / Section 3.3, Chapter 4 / Project WAN2: Forwarding and Routing introduced; Project LAN1 due

3-27 Queueing basics; transport layer: TCP and UDP / Chapter 5 & Sections 6.1 to 6.4i / Project WAN1 due; Project TRN1: Reliable Transport introduced

4-3 No class; professor at NATO Technology meeting; work on project / Project WAN2 due

4-10 Multicast, multimedia and ATM networking (online presentation) / Chapter 4; Section 6.5; Chapter 7 / extra-credit assignment introduced; Project TRN1 due

4-17 Network Security and Network Management / Chapter 8 

4-24 recorded mini-course in WebApps programming by prof, via Moodle/MISTC 

5-1 Higher layer protocols / Chapter 9 

5-6 Extra credit project due; no project work accepted after 16:30 on this day

5-15 Final exam (comprehensive) / all chapters listed above / Exam location: classroom


Course communication: we will use email extensively. Students are responsible to read GMU email accounts daily. Announcements will be sent to the class email list, which consists of GMU email accounts.

Course notices and assignments will be provided via email using GMU accounts only. Course materials (for example, homework solutions) will be available though the course Moodle page, http://disted.c4i.gmu.edu. Students are responsible for assigned readings and all material outlined in lecture slides.

Lectures will be presented using the MIST/C distance education tool set and captured in recordings that will be available to students registered in CS555. 


University Requirements 

Honor Code Statement. 


Students with Disabilities 

If you have a documented learning disability or other condition that may affect academic performance you should: 1) make sure this documentation is on file with the Office of Disability Services (SUB I, Rm. 222; 993-2474; www.gmu.edu/student/drc) to determine the accommodations you need; and 2) talk with me to discuss your accommodation needs.