CS 456 Computer Networks
This course introduces the fundamentals of network architectures and protocols and focuses on protocols used in the Internet.
CS major students. Usually taken in fourth year
Fall, Winter, and Spring
Pre-requisites: CS 350 or ECE 354; Computer Science students only
Anti-requisites: CS 436, ECE 358, 428
For official details, see the UW calendar
Standard Linux environment with open-source programming language interpreters and compilers
Secure shell (ssh) and secure copy (scp)
Computer Networking, a Top-Down Approach Featuring the Internet (6th edition), by James F. Kurose and Keith W. Ross, Addison-Wesley, 2012.
At the start of the course, students should be able to:
Write, test, and debug programs of moderate size in preferred programming language
Describe basic components and explain basic properties of computing devices
Understand and use basic probability and statistics
At the end of the course, students should have the ability to:
Describe basic components and explain basic properties of a computer network.
Explain, and compare networking techniques including packet switching and circuit switching.
Define and calculate network performance metrics including throughput and delay.
Illustrate the Internet protocol stack and the Internet architecture.
Explain and compare network application models including peer-to-peer and client/server.
Recall, describe and illustrate different contemporary Internet application protocols.
Explain the principles of TCP reliable data transfer, flow control, congestion control and connection management.
Recall, classify and compare least-cost path computation algorithms and Internet routing protocols.
Recall, classify and compare data transmission media and medium access control schemes.
Reason about the efficiency of data communication protocols.
Develop and write client-server programs using the socket API.
Overall picture of computer networking (8) hours
Circuit switching vs. packet switching
Application layer protocols (8) hours
World wide web (HTTP)
File Transfer Protocol (FTP)
electronic mail (SMTP)
Domain Name System (DNS)
Transport layer protocols (8) hours
connectionless transport UDP
principles of reliable data transfer
connection-oriented Transport TCP
Network layer and routing (8) hours
routing in the Internet
tunnelling, router design
Data link layer (8) hours
Multiple access protocols and LANs
address resolution protocol
Last modified: Tuesday, 12-Dec-2017 16:10:33 EST