CMPS 376 Computer Networks (5)
A study of computer networks focusing on the TCP/IP Internet protocols
and covering in detail the four layers: physical, data link, network, and
transport. This course includes a laboratory in which students will cover
important network utilities, debugging tools, process and thread control
as it relates to network programming, and the coding of programs which do
interprocess communication over sockets. The typical Internet client program
which accesses a TCP network server daemon will be covered in detail.
Each week lecture meets for 200 minutes and lab meets for 150 minutes.
Prerequisite: CMPS 223 with a grade of C- or better
C/C++ Programming
Data Structures
Introduction to Algorithms
5 quarter units. 4 units lecture (200 minutes), 1 unit lab (150 minutes).
Required for CS
Computer Networks, 5th edition, Andrew S. Tanenbaum and David J. Wetherall,
Prentice Hall, 2011, ISBN-13 978-0-13-212695-3.
None
Melissa Danforth, Marc Thomas
This course covers the following ACM/IEEE CC2001 Body of Knowledge student
learning outcomes:
CC-NC1: Introduction to net-centric computing
CC-NC2: Communication and networking
CC-NC3: Network security
CC-NC4: The web as an example of client-server computing
The course maps to the following performance indicators for
Computer Science (CAC/ABET):
- (CAC PIa1): Apply and perform the correct mathematical analysis.
- Apply statistical methods including the binomial and Poisson distributions
to analyze common networking scenarios such as Ethernet contention, error
rates, queueing theory, and channel efficiency.
- (CAC PIa2): Prepare and solve the appropriate physical model of the problem.
- Apply Shannon's law and Nyquist's theorem to appropriate models of the
physical layer of the networking stack.
- (CAC PIe2): Recognize and describe current issues in security.
- Describe at least one protocol that adds security to the TCP/IP protocol
stack. Analyze scenarios involving network security such as the
appropriate use of security techniques for a given scenario and the
limitations of common encryption protocols.
- (CAC PIi1): Program in a suitable computer language.
- Use the socket API for the TCP/IP protocol stack to code a simple
client-server application in the C programming language.
- (CAC PIi3): Utilize problem solving skills and techniques to complete
the task.
- Analyze common networking scenarios and apply the appropriate techniques
to derive a solution.
Chapter 1 |
Introduction |
Week 1 |
Chapter 2 |
The Physical Layer |
Weeks 1 to 3 |
(Review) |
Statistical Models |
Week 3 |
Chapter 3 |
The Data Link Layer |
Weeks 3 and 4 |
Chapter 4 |
The Medium Access Sublayer |
Weeks 4 to 6 |
Chapter 5 |
The Network Layer |
Weeks 7 and 8 |
Chapter 6 |
The Transport Layer |
Week 9 |
Chapter 7 |
The Application Layer |
Week 10 |
Chapter 8 |
Network Security |
Week 10 |
Not applicable to this course.
Melissa Danforth on [date]
Approved by CEE/CS Department on [date]
Effective [term]