Computer Networks: a Systems Approach, by
Larry Peterson and Bruce Davie, 1996, ISBN 1-55860-368-9 (Morgan
Kaufmann Publishers).
Computer Networks (3rd Edition), by Andrew S Tanenbaum,
Prentice Hall, 1996.
Internetworking with TCP/IP: Principles, Protocols, and
Architecture, Vol. 1, (3rd Edition), by Douglas E. Comer, Prentice
Hall, 1996. [Note: we will not use this book until the second half of
the course.]
Class Notes for CPS 214, by Thomas Narten.
Textbooks (Honorable Mention)
Routing in the Internet, Christian Huitema, 1995, Prentice Hall,
ISBN 0-13-132192-7. [Good coverage of both unicast and multicast routing.]
TCP/IP Illustrated, Volume 1, W. Richard Stevens, 1994,
Addison-Wesley, ISBN 0-201-63346-9. [A potential alternate for Comer's
text.]
TCP/IP Illustrated, Volume 2, Gary Wright &
W. Richard Stevens, 1995, Addison-Wesley, ISBN 0-201-63354-X.
(Detailed examination of the source code for the 4.4-Lite BSD TCP/IP
stack.)
The C Programming Language, by Brian Kernighan and Dennis
Ritchie, Prentice Hall, 1988.
The UNIX Programming Environment, by Brian Kernighan and Rob
Pike, Prentice Hall, 1984.
You should regularly read the newsgroup duke.cs.214
as it may contain announcements, hints, and information relevant
to this class.
Computing
All programming projects will be run on the CS Department workstations.
Projects may be developed on other platforms, but the final version
must compile and execute on CS workstations.
All projects will be submitted electronically.
Programming Assignments
The course will include four programming projects that reinforce
material covered in class. Programs will be written in C (or C++)
under Unix (Solaris, Linux, etc.). We will spend minimal time
covering C and UNIX in class; novice UNIX users should purchase
supplemental C and UNIX books and become comfortable with UNIX during
the first two weeks of the semester.
Exams & Quizzes
There will be two in-class exams (including a final exam during Finals
week), plus several pop quizzes for which no advance notice will be
provided. Exams will be closed book, closed notes, but you are
permitted to bring in one 3 by 5 inch index card covered with
handwritten notes of your choice. The final exam will be
comprehensive, but will concentrate on material covered following the
midterm.
Written Homework
There will be six written homework assignments. Written assignments
consist of problems from the book, made up problems, or readings from
the research literature.
Late Policy
Each homework and programming assignment will be given a point value
when it is handed out. The point value indicates the weight of the
assignment relative to the other assignments. In general, homeworks
and programs will NOT have equivalent weight. Late programs and
homeworks will be penalized 3% per half day, and no assignments will
be accepted more than seven days beyond their due date. We will cover
material at a fast pace; it is inadvisable to fall behind. Programs
are due at midnight of the due date and are turned in electronically.
Written homeworks are due at the START of class of the due date.
Homeworks turned in after the start of class will be counted late.
Late homeworks can be left in my mailbox by giving them to the
receptionist next to the mailroom (LSRC 138, Research Drive end of
building). From the perspective of late points, an assignment is
considered ``turned in'' at the point the TA or myself have it in our
hands (which generally means the next day or later for homeworks
slipped under an office door). To insure proper credit, deliver it to
us personally, or have the receptionist note the time and initial your
work. Exceptions to the late policy are possible in some
circumstances, but must be made A PRIORI. No assignments will
be accepted after Wednesday, December 11 to allow sufficient time for
grading.
Grading
Final grades will be computed as follows:
Midterm Exam
30%
Final Exam
35%
Homeworks, programs and quizzes
35%
Dishonesty Policy:
Unless explicitly noted, all work is to be done on an individual
basis. Any violation of the University's guidelines for academic
integrity will result in a failing grade for the course and referral
to the Student Affair's Office for disciplinary action. All
programming projects and written assignments are to be your own work.
You may discuss ideas, explain concepts, etc.\ in high-level terms with
other students, but you may not discuss such specifics as what
routines are needed, what arguments they should have, etc. Rule of
thumb: You are encouraged to help students by EXPLAINING and
TEACHING them material. If you help someone, the helped party
should be able explain said material to a third party in their own
words. If the helped party cannot, yet is able to turn in the
assignment, both parties have behaved improperly. The first for
providing too much detail, the second for turning in work they do not
themselves understand.