3.00 Credits
A comprehensive introduction to the principles of computer networks from a developer's perspective, with emphasis on the design and implementation of the Internet, its protocols, and applications. Topics include network applications, network programming interfaces, layered network architectures, transport and congestion control protocols, routing and data link protocols, local area networks, and a selection of special topics. **COURSE LEARNING OUTCOMES (CLOs) At the successful conclusion of this course, students will be able to: 1. Identify, interpret, and analyze the basic principles of computer networks, including switching, layering and abstraction, routing, and the various protocols that drive network behavior. 2. Explain and implement how applications use networks and the Internet to communicate using network programming interfaces. 3. Assemble limited components of common Internet applications such as email, video streaming, and peer-to-peer applications. 4. Construct portions of the Internet, including transport protocols and routing algorithms, and justify their design. Course fee required. Prerequisites: CS 2420 (Grade C or higher) AND CS 2810 (Grade C or higher). SP