Craig E. Wills, FL-236, cew@cs.wpi.edu. Office hours: TBD; any time for short questions. Electronic mail is an effective method to contact me.
Copies of all handouts, assignments, notes and old exams will be posted as
appropriate on the course Web page. The address for it is
http://www.cs.wpi.edu/~cs513/f99cew/
.
Paper copies of handouts and assignments will be given out when assigned. Copies of course notes will not be handed out, but will be available online after the lecture in which they are used.
This course is a graduate-level introduction to computer networking. It covers protocol design principles, performance considerations, and networking technologies. The goals are 1) to provide students with a broad theoretical and practical base in computer communication issues by considering all protocol layers involved in process-to-process communication, 2) to introduce students to the design issues and tradeoffs that arise in building and using networks for interprocess communication, and 3) to give students ``hands on'' experience with building and using network services.
A strong desire to learn about computer networking and programming experience with one conventional programming language (e.g., C, C++, Java, etc.). Systems programming background is desirable as programming projects will involve writing programs to do network communication. Students without this background are expected to acquire it on their own. Probability and some calculus will be needed when we study data transmission and physical layer technologies as well as analyze network performance.
Required:
Computer Networks (3rd Edition), by Andrew Tanenbaum, Prentice Hall, 1996.
Reference:
Data and Computer Communications (5th Edition), by William Stallings, Prentice Hall, 1997.
Data Communications, Computer Networks and Open Systems (4th Edition), by Fred Halsall, Addison-Wesley, 1996.
Computer Networks: A Systems Approach, by Larry L. Peterson and Bruce S. Davie, Morgan Kaufmann, 1996.
Internetworking with TCP/IP: Principles, Protocols, and Architecture (2nd Edition), by Douglas E. Comer, Prentice Hall, 1990.
The Internet Book, by Douglas E. Comer, Prentice Hall, 1995.
Unix Network Programming, by W. Richard Stevens, Prentice Hall, 1990.
Final grades will be computed as follows:
Midterm Exam: 30%;
Final Exam: 30%;
Homework, projects, quizzes, and class participation: 40%.
Grading policy for each project and homework will be provided at the time of the assignment. Final grades will reflect the extent to which you have demonstrated understanding of the material, and completed the assigned projects. No incomplete grades will be assigned unless there exist exceptional, extenuating circumstances.
There will be 1-2 introductory programming assignments to learn about writing different aspects of network related code. There will then be a term project, which uses material learned in the previous projects. The initial assignments will be done individually. For the term project, students are encouraged to work in teams.
Unless otherwise agreed upon with the instructor, assignments will be done on the WPI CCC/CS/ECE machines. You will also be introduced to system calls pertinent to network programming as the course progresses.
There will be two in-class exams (including a final exam during the last class period), plus the possibility of pop quizzes for which no advance notice will be provided. Exams will be closed book, closed notes.
There will be 3-5 written homework assignments. Written assignments consist of problems from the book, made up problems, or readings from the research literature.
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. Late programs and homeworks will be be penalized 5% of total assignment value per day or partial day, and no assignments will be accepted after seven days beyond the due date. All programs and written homeworks are due at the start of class on the due date. Homeworks and programs turned in after the start of class will be counted late. Projects will be submitted as directed in class. Exceptions to these rules can be made only a priori. Finally, no assignments will be accepted after December 17 to allow sufficient time for grading.
Unless explicitly noted, all work is to be done on an individual basis. Any violation of the WPI's guidelines for academic integrity will result in a failing grade for the course and referral to the Student Affairs Office for disciplinary action.
The following is a tentative outline of the material that will be covered in this course. References to chapters from Tanenbaum's book are given for each topic. Other references will also be used for lecture material.