Syllabus
This is not an official course syllabus. The details outlined here are
A description of computer networks organized as a layered architecture based on the OSI Reference Model. Protocols and services of each layer are examined in detail. Specific local area networks, metropolitan area networks, and wide area networks will be considered. Prerequisites: COS 285, COS 251. Cr 3.
The focus of the course will be on understanding and utilizing the Internet (TCP/IP) protocol stack. Students will write network client and server applications in addition to reading and discussing the theory behind modern data communication networks.
The class is often dual-listed as an undergraduate and graduate course; graduate students will have additional reading and must prepare a presentation for the class (see below).
Course Objectives
The objectives of the course are as follows.
- The layering scheme of network protocols and how layers are implemented.
- The options available at each layer of the network and protocols used.
- How local networks work and how they interconnect to form inter-networks and the Internet.
- How application layer protocols are developed and used in practice. Including but not limited to:
- DNS - Domain Name Service
- DHCP - Dynamic Host Configuration Protocol
- HTTP - Hyper Text Transfer Protocol
- SMTP - Simple Mail Transport Protocol
- How develop network server and client applications.
Prerequisites and Expectations
- COS 285 - Data Structures
- COS 250 - Computer Organization
The course involves a fair amount of independent learning, experimentation, and work. Internet resources on network programming are plentiful and class time is limited. You will be expected to read (or at least skim and absorb) enough of these materials to be prepared for class.
Textbook
The textbook will be referenced in and out of class. Examinations will combine material from in-class discussion and the textbook. The textbook is the reference for the course. All textbook material may not be covered during in-class discussions, you will still be responsible to demonstrate an understanding of it on the examinations.
Computer Networks: A Systems Approach, Fifth Edition, L. L. Peterson and B. S. Davie, Morgan Kaufmann, 2011.
Amazon.com lists this textbook as Computer Networks, Fifth Edition: A Systems Approach (The Morgan Kaufmann Series in Networking) (Hardcover) for $56.24.
The Publisher maintains a site for the book and book extras at http://booksite.elsevier.com/9780123850591/
This book is FREELY and legally available online at https://book.systemsapproach.org
Activities
The course has weekly in-class activities. These in most cases are designed to be completed during class time. Each will require a short quiz, discussion topic, or other submission before midnight on the same day the activity took place. There will be time in-class for completing the activity submissions.
Projects
The course is partially project-based. There will be four (4) programming projects throughout the course. The projects will require development of network client and server programs. They will be assessed on how they work and how they are constructed and documented. Almost any modern programming language (Java, C, C++, or python) can be used to complete them.
Code must compile and run on systems other than your own! Be diligent not to include absolute paths or other common mistakes that prevent code being compiled and executed on other systems.
Code should work and be your own creation. There are numerous sources of information on the Internet, including code. However, submissions should be your own work not that of others cut-and-pasted into your projects or that of your classmates. Plagiarism is a serious offence and will be treated accordingly.
Examinations
The course includes three (3) examinations. The examinations will cover all the material since the last examination. The final examination will primarily cover the material since the prior examination but also include some material from the entire course.
The questions on the examinations will be a combination of material in the assigned sections of the book and what is discussed in class. The questions at the end of each chapter in the book are an excellent reference for what to expect on the examination questions.
Research Summary Paper and Presentation (COS 540 Only)
The graduate course includes writing a research summary paper and presentation of the material to the class. The presentations will be approximately 30 minutes in length.