The aim of this course is to introduce the principles of computer networking using a top down approach, that is, by beginning at the application layer and working down toward the physical layer. This top-down approach has many advantages pedagogically. Teaching networking applications near the beginning of the course is a powerful motivational tool. In the first few lectures students learn about how networking applications workapplications such as e-mail and the Web, which mo...
Learning Outcomes
Understand the functional layering of computer network architectures
Explain the concept of packet-switching, and identify and analyze the different types of packet delay in packet-switched networks
Understand major internet applications such as the Web and email and the service model that the application layer requires
Describe the essential principles of a transport layer protocol (reliable data transfer, flow control, congestion control)
Write simple socket based applications using Python
Use IP addressing and apply routing algorithms to find shortest paths for network-layer packet delivery
Describe and compare data link layer services and multiple access techniques and describe network security issues and some of the methods that address them
Use networking tools such as Wireshark to observe and analyze behaviors of networking protocols