(a) Explain key networking concepts, principles, design issues and techniques at all protocol layers.
(b) The contrast between different types of networks (e.g., wide area networks vs. local area networks, wired vs. wireless) in terms of their characteristics and protocols used.
(c) Describe different types of networked applications and what underlying network protocols are needed to meet their diverse requirements.
(d) Distinguish between control and data planes in computer networks, and their corresponding architectures in real-world networks (including the Internet).
(e) Understand reliable transport protocols and networked system architectures via implementation using Socket APIs, measurement, and analysis.
(f) Critically compare and contrast different VoIP systems from both a technical and business perspective.