CMSC 23320
Foundations of Computer Networks
This course focuses on the principles and techniques used in the development of networked and distributed software. Topics include programming with sockets; concurrent programming; data link layer (Ethernet, packet switching, etc.); internet and routing protocols (IP, IPv6, ARP, etc.); end-to-end protocols (UDP, TCP); and other commonly used network protocols and techniques. This is a project-oriented course in which students are required to develop software in C on a UNIX environment. This course can be used towards fulfilling the Programming Languages and Systems requirement for the CS major.
Topics
- programming with sockets
- concurrent programming
- data link layer (Ethernet
- packet switching
Topics explicitly listed in official catalogue description
Sources
- Course catalogue ↗2026-2027