CMPS 3620 Computer Networks
Catalog Description
CMPS 3620 Computer Networks (4)
A study of the theory of computer networking focusing on the TCP/IP Internet protocols and covering the five layers in the model: physical, data link, network, transport, and application. Communication on wired, wireless, and cellular networks will be covered. The course will introduce secure communication and its incorporation into different layers of the model. As part of the laboratory component, students will learn systems programming as it relates to interprocess communication over sockets, I/O handling, process and thread control, and the development of client/server programs. Prerequisite: CMPS 2020 with a grade of C- or better
Prerequisites by Topic
Programming in a high-level language (preferably C/C++)
Data structures and algorithms
Familiarity with programming in a command-line environment (e.g. gcc, g++, gdb)
It is strongly recommended that students be calculus-ready before taking this course
Units and Contact Time
4 semester units. 3 units lecture (150 minutes), 1 unit lab (150 minutes).
Type
Required for CS
Required Textbook
Computer Networks, 5th edition, Andrew S. Tanenbaum and David J. Wetherall, Prentice Hall, 2011, ISBN-13 978-0-13-212695-3.
Recommended Textbook and Other Supplemental Materials
None
Coordinator(s)
Melissa Danforth, Marc Thomas
Student Learning Outcomes
This course covers the following ACM/IEEE CS2013 (Computer Science) Body of Knowledge student learning outcomes:

Networking and Communication (NC):
CS-NC/Introduction
CS-NC/Networked Applications
CS-NC/Reliable Data Delivery
CS-NC/Routing and Forwarding
CS-NC/Local Area Networks
CS-NC/Resource Allocation
CS-NC/Mobility

Information Assurance and Security (IAS):
CS-IAS/Foundational Concepts in Security
CS-IAS/Threats and Attacks
CS-IAS/Network Security
CS-IAS/Cryptography

ABET Outcome Coverage
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.
Lecture Topics and Rough Schedule
WeekChapter(s)Topics
1Chapter 1 History of the Internet, Protocol models (OSI, TCP/IP), Standards organizations
2Chapter 2 Properties of wired, wireless, and cellular media, Public switched telephone network (modems, DSL)
3Chapter 2 Public switched telephone network (T1/E1, SONET), Cellular network (GSM, CDMA, LTE), Cable network (DOCSIS)
4Chapter 3 Introduction to statistics needed, Data link layer introduction and error handling
5Chapter 3 Data link layer flow control including sliding window protocol
6Chapter 4 Sharing a channel on the data link layer, Ethernet
7Chapter 4 Ethernet continued, IEEE 802.11 protocols
8Chapters 4 and 5 Switching, Virtual LANs, Routing algorithms
9Chapter 5 Congestion control and internetworking, Internet Protocol (IP) routing (IPv4, OSPF, BGP)
10Chapter 5 IP continued (IPv6, NAT, DHCP, ARP, ICMP)
11Chapter 6 Transport Control Protocol (TCP) theory and details
12Chapters 6 and 7 User Datagram Protocol (UDP), Domain Name System (DNS)
13Chapter 7 Email protocol, Hypertext Transport protocol (HTTP)
14Chapter 8 Information security basics, Cryptography basics, Network threats and attacks
15Chapter 8 Secure communication over TCP/IP (IPSec, VPNs, SSH, TLS)
Design Content Description
Not applicable to this course.
Prepared By
Melissa Danforth on 31 July 2014
Approval
Approved by CEE/CS Department on [date]
Effective Fall 2016