This course surveys the various levels of a packet-switched computer network, using the TCP/IP protocol suite as the primary model. Other network protocol stacks (e.g., Novell) may also be considered as time permits. At the Physical and Data Link Layers, various protocols are compared, and their implications for network topology are considered. At the Network Layer, a wide variety of routing protocols and name resolution protocols are studied. At the Transport Layer, learners are introduced to the various methods for building end-to-end reliability on top of lower layers. Finally, at the Application Layer a variety of standard protocols such as telnet, FTP, and electronic mail are examined, together with the related issues of security and authentication. Some programming in the C language is required.