Syllabus

CS-375: Spring 2003

Home
Syllabus
Schedule
Projects & Homeworks
Contact Information
CIDR Exam Points

Course Details at a Glance

Lectures: Mon., Wed., Thurs., Fri., 10:30 - 11:20 a.m., Olin 219
Instructor: Thomas C. Bressoud, Olin 207, 587-5630, bressoud@denison.edu
Handouts: Hardcopies: In-class or at my office
Exam Code C, Wednesday Apr. 30th, 2:00 - 4:00 p.m.

Description

What are the underlying concepts and technologies that make networks in general, and the Internet in particular, work?  This course will study both the design issues -- hardware design as well as protocol design -- and the programming associated with computer networks and explore how such a network is built from the ground up.

The exploration will cover both specific protocols and network design points, as well as walking through the thought process that has led from early networks to the networks of today, so that we understand why networks look like they do.

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.

More detail on the specific topics to be covered can be found in the outline below, or by looking at the course schedule.

Textbooks

The following textbook is required for the course:

bulletLarry L. Peterson and Bruce S. Davie.  Computer Networks: A Systems Approach, 2nd Edition, Morgan Kaufmann Publishers, 2000.  ISBN 1-55860-514-2.

The following is also a required text and will be used primarily as a programming reference:

bullet

Michael J. Donahoo and Kenneth L. Calvert. The Pocket Guide to TCP/IP Sockets: C Version, Morgan Kaufmann Publishers, 2001. ISBN: 1-55860-686-6.

Course Web Page

A web page will be maintained for this course.  The web page will include reading, homework, and project assignments, scheduling of events (including midterms) and other useful information.  Please check it regularly:

http://www.denison.edu/~bressoud/cs375-s03/

Prerequisite

CS-281 (Computer Organization) is a prerequisite for this course.

Final Grade Determination

Homework: 20%
Projects: 25%
Midterm Exams: 30% (15% each)
Final Exam: 20%
Class Participation: 5%

Course Work

Homeworks:
There will be bi-weekly homework assignments, the intent of which is to cover the design side and theoretical foundations of computer networks.  Homeworks are due in class on the date specified. This semester, I am going to try my new Russian roulette late policy.  For each class day an assignment is late, an additional 10% will be deducted from your score. So if an assignment is due on Wednesday, and you turn it in on Friday, and your raw score on the assignment is 85%, you would receive a 68 (85 - 0.20 * 85).  The roulette part is that, if I grade and turn back the homeworks from the other class members, or if I pass out an answer key prior to your turning in a late homework, then you get a 0 on the assignment.  In practice, a class day or two will probably be safe.

You may discuss homework problems with other students in the class, but written work must be your own. In other words, you may talk generally about homework problems with your peers, but when it comes time to write your solutions, you are on your own. You may not get help on homework from students outside the class. Of course, you are always welcome to come see me for help.

I am going to follow the lead of my colleagues in the department and require that homework solutions be typed in a word processor of your choice.  Given the formula nature of many of the performance related aspects of computer networks, I would recommend that you learn and use LaTeX, a markup based typesetting program that is widely used in the research community.  Let me know if you need help getting started.

Projects:

There will also be bi-weekly project assignments.  The projects are simply programming assignments that are moderately sized and serve to reinforce the class content in working both with network protocols and with network applications.  Note that moderately-sized means that they cannot be done in a single day.  You will find that debugging network protocols and applications takes significantly more effort than most programming you have done in the past.  For the two week project interval, I would encourage you to try and have a design and first-cut implementation done by the end of the first week, and refine and and enhance in the second week.

I will employ the same late assignment policy to project assignments as I am using for homework assignments.

Exams:

There will be two midterm exams as well as a final exam.  Each midterm will cover its respective third of the course material. Note that the second midterm exam is not cumulative, and is weighted equally with the first exam. The final will be cumulative and cover material from the entire semester, but I would expect a greater weight given to the material from the last third of the class.  All exams will be closed book, closed notes.

Class Participation:

In general, we would like everyone to do their part to make this an enjoyable interactive experience (one-way communication is no fun). Hence in addition to attending class, we would like you to actively participate by asking questions, joining in our discussions, etc. Note that there is a significant portion of your grade attributed to class participation.  Any day that you do not attend class, you (by definition) do not participate, and so be very careful about missing class, as it will affect your grade.

Student Responsibilities

Attendance:
Your attendance is expected at each class meeting. Per the class participation portion of the grade, I reserve the right to take into account attendance in instances of borderline grade assignments. Of course, excused absences (sickness, family emergencies, athletic) will not be held against you.
Readings:
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, be sure to check with me or another student to get what you missed. Exams will be given in class on the day scheduled and may not be made up.

Other Issues

Disability Accommodation:
Any student who thinks he or she may need an accommodation based on the impact of a disability should contact me privately as soon as possible to discuss your specific needs. I rely on the Office of Academic Support in Doane 104 to verify the need for accommodation based on documentation on file in their office.
Academic Integrity:
Do your own individual homeworks and projects. Do NOT copy from another person. There should be no reason for two nearly identical assignments. Usually a warning will be given first and then an incident of academic fraud will be reported for subsequent incidents.

Course Outline

Week

Description

1

Introduction.  Foundations of Networks, including requirements, network architecture, and high-level software issues.  A peek at the application level.

2

Start ground-up development.  Direct-Link networks: Nodes and links, encoding, framing.  Start discussion of reliable transmission.

3

Continue with Direct-Link networks.  Cover case studies of physical and link access protocols: Ethernet, token-ring, and wireless.

4

Packet-switched networks.  Switching and forwarding, source routing.  Bridges and LAN switches.  Depending on time, coverage of spanning tree algorithm

5

Midterm 1.  Broadcast and multicast.  ATM and switching hardware.

6

Internetworking, with fundamental emphasis on IP.

7

Intradomain routing algorithms, including distance-vector and link-state.

8

Interdomain routing algorithms.  CIDR and BGP.  IPv6.  Multicast if time permits.

9

End to end protocols: UDP and start in-depth look at TCP.

10

Midterm 2.  TCP issues continued, including sliding window, flow control.

11

Remote Procedure Call (RPC).  Performance issues for end-to-end.

12

Congestion Control and Resource allocation

13

Presentation and Application-level topics

14

Presentation and Application-level topics

Home | Syllabus | Schedule | Projects & Homeworks | Contact Information | CIDR Exam Points

 All rights reserved, Thomas C. Bressoud and Denison University.
For problems or questions regarding this web contact bressoud@denison.edu.
Last updated: 04/21/03.