| Time | Tue & Thu, 2pm – 3:15pm |
| Location | 1320 Digital Computer Laboratory |
| Instructors | OH: TBA OH: Wed, 9am – 10am, Zoom |
| TAs | TBA |
| TA office hours | TBA |
| For remote office hours | Zoom link (NetID authentication required) |
| Communication | Campuswire discussion board (invitation will be emailed) |
Computer networks are among the most important and influential global infrastructures that humanity has created. The goal of this course is to provide a foundational view of computer networks: the principles upon which the Internet and other computer networks are built; how those principles translate into deployed protocols; and hands-on experience solving challenging problems with network protocols.
Topics will include link-layer technology; switching; routing; the Internet Protocol; reliability, flow control, congestion control, and their embodiment in TCP; quality of service; and network security. The course will involve a significant amount of Unix-based network programming using the C language. Students who are not already familiar with ANSI C should learn it quickly.
Prerequisite: This course assumes that you have taken CS 341 or ECE 391.