COMP-4621 Details

COMP 4621 Computer Networking

Course description

Computer networks are pervasive in our every day lives and in particular, the building of the Internet has been one of the most significant events in our technological history. In this course, you will be introduced to the fundamental principles of computer networking. Using the Internet as a primary example of a large-scale network, topics including the design of the Internet, application and transport protocols, congestion control, routing protocols, packet switching and link-level protocols are covered in this course.

Today’s networking cannot be considered without examining security issues surrounding it. Thus we will touch on topics of security in order to better understand the implications for networks.

In addition to understanding the principles of networking, in this course you will learn network programming by implementing substantial programs using Python or C/C++.

Course learning objectives

By the end of this course, you should be able to:

  • Identify and describe the layers of the network stack
  • Describe how the Internet works
  • Explain and calculate sources of delay on a network
  • Design and develop application-layer protocols appropriate to a particular application
  • Explain application-layer protocols such as HTTP, SMTP, FTP, DNS, and peer-to-peer applications
  • Understand multiplexing and demultiplexing at each layer in the network stack
  • Know the TCP state machine and the principles of reliable data transfer over unreliable links
  • Understand routing algorithms and protocols (DV/LS, RIP/OSPF/BGP)
  • Understand the differences between layer 2 and layer 3 switching/routing/forwarding

Course Syllabus

Previous
Next