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 Videos

 


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

Syllabus

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.

400 Joseph Jess Instructor JessJo@OregonState.edu
401 Bram Lewis Instructor LewiBram@OregonState.edu

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

400
Fariba Khan GTA khanfari@oregonstate.edu Adams - Hershberg
400
Yichuan Yin GTA yinyic@oregonstate.edu Highland - Penttila
400
Youngbin Jin GTA jinyo@oregonstate.edu Peterson - Zourelli
401 Michael Slater GTA slater@oregonstate.edu Adams - Healy
401 Yichuan Yin GTA yinyic@oregonstate.edu Hill - Perry
401 Daniel Jones ULA jonesd5@oregonstate.edu Peters - Xu

  

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

Discussion Board via Piazza (Links to an external site.).

Listing by Day:

 

Sunday

Time Person Location

Monday

Time Person Location
Morning
*I will be on my computer starting ~0800 and available as late as ~1800, with frequent breaks
Joseph Jess Slack and Piazza
I live online... But check if I'm there... Bram Lewis Slack, Escalations on Zoom
1200-1700 Yichuan Yin Slack
1400-1600 Fariba Khan Slack and Piazza

Tuesday

Time Person Location
Morning
*I will be on my computer starting ~0800 and available as late as ~1800, with frequent breaks
Joseph Jess Slack and Piazza
I live online... But check if I'm there... Bram Lewis Slack, Escalations on Zoom

Wednesday

Time Person Location
Morning
*I will be on my computer starting ~0800 and available as late as ~1800, with frequent breaks
Joseph Jess Slack and Piazza
I live online... But check if I'm there... Bram Lewis Slack, Escalations on Zoom
1200-1700 Yichuan Yin Slack and Piazza

Thursday

Time Person Location
Morning
*I will be on my computer starting ~0800 and available as late as ~1800, with frequent breaks
Joseph Jess Slack and Piazza
I live online... But check if I'm there... Bram Lewis Slack, Escalations on Zoom

Friday

Time Person Location
Morning
*I will be on my computer starting ~0800 and available as late as ~1800, with frequent breaks
Joseph Jess Slack and Piazza
I live online... But check if I'm there... Bram Lewis Slack, Escalations on Zoom
0800-1000 Youngbin Jin Slack and Piazza

Saturday

Time Person Location

 

 

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 http://beej.us/guide/bgnet/).
  • Python Socket Programming Documentation: http://docs.python.org/2/library/socket.html

Course Summary:

Date Details