CS-375

Syllabus: CS 375 - Computer Networking

Course Information

Professor Thomas C. Bressoud (Dr. B)
Office Olin 211
Email bressoud@denison.edu
Office Hours MTWF: 2:30 p.m. to 3:30
Class Meeting MWF: 8:30 a.m to 9:20 a.m.
T: 9:00 a.m. to 9:50 a.m.
Final Exam A: Thur., May 10, 9:00 - 11:00 a.m.
Course Page notebowl.denison.edu

Course Description

This course examines the underlying principles, concepts, and technologies that allow networks to function and allow distributed processing. This course will study both the design issues and the programming associated with computer networks.

The study of network software allows us to build, through layering, an understanding of the architecture that permits us to traverse from a high-level view of the network presented by advanced user level protocols such as HTTP, NNTP, or IMAP, and their associated client-server applications of web browsers/servers, network news servers, or email clients and servers, to the low-level reality of transferring bits across a wire or through the air. Topics include packet and circuit switching, datalink, network and transport layer protocols, reliability, routing, internetworking, and congestion control.

The course will be comprised of a blend of the theory in the form of network protocols and design and practice in the form of network programming. In addition, topics from the broader field of distributed computing will be introduced throughout the semester.

Textbook

Computer Networking: A Top-Down Approach, 7th ed. by James F. Kurose and Keith W. Ross, ISBN 978-0-13359-4140

eTextbook version: https://www.vitalsource.com/referral?term=9780134296159

In addition to the textbook, there will be papers on distributed systems posted to the course schedule and we will also use numerous web-based resources for network programming and for documentation on various network protocols. The following is a particularly good (and humorous) reference that we will use:

http://beej.us/guide/bgnet/

I suggest that you download, print, and put "Beej’s Guide" in a binder for use during class. As we proceed, we will have other documentation used for network programming – like man pages for C functions we will be calling from our programs, that can and should be added to this binder.

Grade Determination

Homework: 15%
Quizzes: 6%
Participation: 4%
Programming Projects: 35%
Midterm Tests: 20%
Final Exam: 20%

Homework and Programming

The course employs a wide variety of types of homework and programming. These include 4-5 programming projects, the first one of which is an individual assignment, and the remainder may be either individual or team projects. There will also be written homework in the following three categories:

  1. End-of-chapter problems from the primary textbook
  2. Wireshark Labs and Interactive Online Work
  3. Distributed algorithm problems/analysis given in class – these will come in the second half of the course

In addition, we will have quizzes at least once a week to keep on top of the reading and the basic kinds of computational problems associated with networking and associated performance.

Policies

Participation and Attendance

In general, we would like everyone to do their part to make this an enjoyable interactive experience. Hence in addition to attending class, we would like you to actively participate by asking questions, joining in our discussions, etc.
Your attendance is expected at each class meeting. … and with ten of you (at the time of this writing) enrolled in the class, it will be painfully obvious when you are not present.

Readings and In-class Material

You are responsible for the content of reading assignments, lectures and handouts, as well as announcements and schedule changes made in class, whether or not you are present. If you must miss a class, you are responsible to get what you missed.

It is very important that you keep up with the assigned reading. Read your book on a daily basis. Be especially sure to read the material in the appropriate chapter before coming to class so you will be ready to ask questions. All reading assignments are listed on the class web page. The material in the course is, by necessity, cumulative. Be warned that if you fall behind, you will not be able to catch up easily.

Exam Policy

Exams will be given in class on the day scheduled and may not be made up. On rare occasions, and with a University sanctioned excuse, I may allow a midterm exam to be taken in advance. See me as early as possible to discuss this. The final exam will not, under any circumstance, be rescheduled.

Homework Policy

There will be a number of written and programming assignments given during the semester which will be due on the date specified and at the time specified. Late written homework assignments and individual programming assignments will be penalized at 12% per 24 hour interval past the due date. For team programming projects, each student is granted 4 “slip days” to use over the semester, and all team members must have a slip day to be able to delay the due date/time by a 24 hour period. I will drop the lowest Quiz grade.

Since it will most likely not be obvious how long an assignment might take, you are well advised to start early. Like other science classes at Denison, it is expected that you devote at least 3-4 hours outside of class for each hour of class time. Homework assignments must be typed.

You may discuss homework problems with other students in the class, but written (and typed) work must be your own. This includes all programming assignments. In other words, you may talk about homework problems with your peers, helping each other to understand the concepts involved, but when it comes time to write your solutions, you are on your own. You may have general conversations about problem strategies, but you must leave these conversations without having written anything down. Keep in mind that it is quite easy for me to tell when two students have been working too closely. In such cases, I am obliged to report the instance to the Associate Provost.

Course Content

  1. Network Architecture and Implementation Issues
  2. Packet Switching
  3. Internetworking
  4. End-to-End Protocols
  5. Network Programming and Analysis
  6. Concurrent Applications through Network Messaging
  7. Network Security

Disability Accommodation

Any student who feels he or she may need an accommodation based on the impact of a disability should contact me privately as soon as possible to discuss his or her specific needs. I rely on the Academic ​Resource​ Center​ (ARC)​ in ​020 Higley to verify the need for reasonable accommodations based on the documentation on file in that office.

Academic Integrity

Proposed and developed by Denison students, passed unanimously by DCGA and Denison’s faculty, the Code of Academic Integrity requires that instructors notify the Associate Provost of cases of academic dishonesty.  Cases are typically heard by the Academic Integrity Board which determines whether a violation has occurred, and, if so, its severity and the sanctions.  In some circumstances the case may be handled through an Administrative Resolution Procedure. Further, the code makes students responsible for promoting a culture of integrity on campus and acting in instances in which integrity is violated.

Academic honesty, the cornerstone of teaching and learning, lays the foundation for lifelong integrity. Academic dishonesty is intellectual theft. It includes, but is not limited to, providing or receiving assistance in a manner not authorized by the instructor in the creation of work to be submitted for evaluation. This standard applies to all work ranging from daily homework assignments to major exams. Students must clearly cite any sources consulted—not only for quoted phrases but also for ideas and information that are not common knowledge. Neither ignorance nor carelessness is an acceptable defense in cases of plagiarism. It is the student’s responsibility to follow the appropriate format for citations. Students should ask their instructors for assistance in determining what sorts of materials and assistance are appropriate for assignments and for guidance in citing such materials clearly. 

For further information about the Code of Academic Integrity, see http://denison.edu/academics/curriculum/integrity.


© Thomas Bressoud 2018