Course Syllabus

Course Banner

Note to screen reader users. This page contains interactive tabs. Screen reader will read through each tab in order, regardless of whichever one is currently being displayed. Please contact me if you need assistance.

Click here to download a pdf version of the syllabus

Click here to download a pdf version of the weekly schedule

Please note that some content linked on this page may only be available to registered students.

Instructor Introduction and Video


What CS 372 is about

The theme of CS 372 is “How Computer Networks Work”.  We will begin with an overview of the basic concepts of networking technologies.  We will then delve deeper into these concepts by exploring networking functionality at each of the layers of the Internet Protocol Stack.  Along the way, we will learn about the hardware and software that enable network communication, the protocols that control network communication, and some of the applications that make it possible for the general public to use and enjoy the Internet.

Computer networking is complicated.  There is an enormous body of knowledge that encompasses multiple areas of specialization.  We will attempt to handle the complexity by concentrating on theory, abstractions, and general concepts, and then using a few example technologies to illustrate the concepts.  In addition, we will have some hands-on lab experience to reinforce the concepts.

CS 372 is an introduction to computer networking.  As such, it is mostly theoretical, with some hands-on lab and programming work.  It offers an overview of several aspects of networking (breadth), with details about a few networking technologies (depth).  It can be a first step in earning certification in networking.

CS 372 is not a network administration course.  It is not a certification course in any area of specialization.  Additional courses are required in order to qualify for a CNA/CNE.

The university catalog description for CS 372 is:

"Computer network principles, fundamental networking concepts, packet-switching and circuit switching, TCP/IP protocol layers, reliable data transfer, congestion control, flow control, packet forwarding and routing, MAC addressing, multiple access techniques."

The prerequisites for this course are CS 261 and CS 271 or equivalents.


Course Introduction

Course / Designer Introduction


This syllabus describes the administrative parts of the course and serves as a contract between student and instructor. Remaining in this course indicates acceptance of these rules.

Your first task in this course will be to take and pass the syllabus quiz (below). Once you do this, the first module of the course will be unlocked.

Syllabus Quiz


Communication Policy

Please post all course-related questions in the Piazza page so that the whole class may benefit from your conversation.  Not all posts require a reply from the instructor/TA and often it is better for students to hash out an answer to a question.

To contact the TAs, open Canvas Inbox, compose a new message, select this course, then next to the ‘To’ box click the address book, select “Teaching Assistants”, then choose the name(s) of TAs you wish to contact.

Please email your instructor only for matters of a personal or private (grading) nature.  The instructor or a TA will reply to most course-related questions within 24-48 hours.


If you have a question about your grading, please contact your assigned grader first but always feel free to reach out to me directly.

Bram Lewis Instructor Abad - Cargill
Rafid AlMahdi GTA Cazella - Gibson
Yu-Jung Chu GTA Gilbert - Mittal
Abdurrahman Elmaghbub GTA Molotkov - Zhao


Office Hours are held via Slack (Links to an external site.).

Listing by Day:



Time Person Location
1400-1500 Abdurrahman Elmaghbub Slack/Zoom


Time Person Location
0800-0900 Bram Lewis Slack/Zoom
1400-1500 Abdurrahman Elmaghbub Slack/Zoom
Yu-Jung Chu


Time Person Location
0800-0900 Bram Lewis Slack/Zoom
Yu-Jung Chu
1400-1500 Abdurrahman Elmaghbub Slack/Zoom


Time Person Location
1400-1500 Abdurrahman Elmaghbub Slack


Time Person Location
0800-0900 Bram Lewis Slack/Zoom


Time Person Location
0800-0900 Bram Lewis Slack/Zoom


Time Person Location
1600-1800 Rafid Almahdi Slack



eCampus Resources (Links to an external site.) - These resources will be useful for all of your classes throughout the term...  Library Information, Helpdesk Contact Info, Canvas Tech Support, etc...


What you will need for CS 372

Required software is available for free download. It doesn’t matter if you are using a Mac or a PC; we will help you get set up.

Additional Resources: These online resources may be helpful during various parts of the CS372 course:

  • Hall, Brian, “Beej’s Guide to Network Programming: Using Internet Sockets” (free online at
  • Python Socket Programming Documentation:

Course Summary:

Date Details Due