This course studies computer networks and the applications and services that run on them. The course covers concepts in networking including: packet switching; Internet routing and business relationships; IPv4 and IPv6 addressing; the domain name system (DNS), router, switch, and middlebox design; network security; content distribution networks; wireless networks; and networked applications such as streaming video. The course will also include several programming assignments, ranging from client-server programming to network measurement, analysis, and inference
Prerequisite: Students must have taken COS 217 and one of COS 316, COS 333, COS 318, COS 418, or COS 432 prior to enrolling in this course. Exceptions require explicit permission from the instructor. The assignments in this class are in Go, C, and Python. You do not need to have experience with all of these languages before taking the course. However, you should be comfortable with learning new programming languages and finding resources on your own, independently as you attack problems. You will be exposed to new programming languages and environments.
Last updated: 2020-03-25 01:10:44 -0400