CS3502 Computer Communications and Networks

Course Syllabus


Staff Information

Instructor: Prof. Robert Beverly Instructor: Prof. Justin Rohrer
Office: Glasgow East 110 Office: Glasgow East 339
Office Phone: 831-656-2132 Office Phone: 831-656-3196
E-mail: rbeverly@nps.edu (preferred) E-mail: jprohrer@nps.edu (preferred)
Office Hours: By Appointment Office Hours: By Appointment

Meeting Times

Lecture (GL-122): MTWTh 10:00-10:50 Lecture (GL-122): MTWTh 11:00-11:50
Lab (GL-122):F 10:00-11:50 Lab (GL-114):F 13:00-14:50

Course Goal:

Enable students to understand the principles of networked communication as a basis for architecting, analyzing, and debugging networked systems. The course takes a top-down approach to reach this goal, beginning with common applications (web, email, etc) and progressively "uncovering" their lower-level operations. Students will become facile not only with IP protocols, but also gain an appreciation for the fundamental architectural decisions that led to these protocols and the Internet's success.

Course Description:

CS3502 covers basic computer networking concepts and technology through the study of protocols at each layer of the Internet architecture. Materials taught in class are reinforced through laboratory projects. This course addresses the theory and principles of local and wide area networking, as well as the data communications infrastructures that support data transfer between host entities. Students will gain a solid theoretical base upon which to build specific implementation frameworks. Prerequisites: CS2011 and CS3030 and a solid background in Computer Architecture, Algorithm and Data Structures; and programming experience are important for success in this class.

Learning Outcomes:

Upon successful completion of the course the student shall be able to describe the function of each layer of the key networking models (both ISO and Internet). The student will be able to discuss, with examples, the basic routing and forwarding processes necessary to deliver traffic across a network. The student shall be able to evaluate the advantages and disadvantages of the various transmission media and local area network implementations.

Examples of specific discussion topics from previous quarters:

- Describe the structure of the Internet - Discuss the purpose and benefit of layered models as specific to network design - Describe the function of each layer of the Internet architecture - Characterize the key protocols of each layer of the Internet Model - Recognize the benefits of using formal methods such as statistical analysis and finite state machines to analyze network behaviors - Understand the use of performance assessment tools such as ping, traceroute, and packet sniffers and analyzers - Diagram how e-mail, FTP, DNS, DHCP, and the Web work - Implement a simple network program, using the TCP or UDP socket API - Discuss the advantages and disadvantages of the various transmission media and local area network implementations - Compare and contrast network devices, to include repeaters, hubs, bridges, switches, routers, and gateways - Understand how Ethernet works - Generate a Cyclic Redundancy Check and Internet Check sum for a set of data - Determine the maximum capacity of a data link given its bandwidth, signal methodology, and signal-to-noise ratio - Represent a data link access method using communicating finite state machine diagrams

Course Schedule:

A mix of interactive lectures and problem solving exercises will be used to investigate the topic material in class. Students are responsible for reading the material in the text that supports each topic of discussion prior to its presentation. Supplemental material may be provided as necessary to augment material in the text.

Our schedule will evolve over the duration of the quarter; check back frequently as this the primary mode of coordination.

Textbook:

Kurose & Ross, Computer Networking: A Top-Down Approach (5th or 6th Ed.) Pearson Education Addison-Wesley, 2009/2012.

Grading:

ComponentNumberFraction
Quizzes (in-class)225% + 25% = 50%
Homework~525%
Labs~1020%
Participation5%

Labs are designed to provide practical exposure to the concepts we discuss in class. As such, labs will be graded only on completeness, but they are an excellent resource for learning and preparing for the quizzes. Many labs are designed to be completed in-lab; they will be due the following class.

Late work accrues a penalty of 10% off per weekday.

Academic honesty: Please abide by the NPS Honor Code, no exceptions.

Continued Study:

This course is only an introduction to the field of computer networking; many of the fun, interesting, and important topics are not covered -- and indeed many remain unsolved research problems. Should you decide to continue in the networking track of the computer science curriculum, the following course matrix details a program of study: