WPI Worcester Polytechnic Institute

------------------------------------------

Computer Networks

CS 3516
B-term 2009

This course provides a broad view of computer networks. The course exposes students to all seven layers of OSI Reference Model while providing an introduction into newer topics such as wireless networking and Internet traffic concerns. The objective is to focus on an understanding of fundamental concepts of modern computer network architecture from a design and performance perspective. Topics covered include: physical layer considerations, network protocols, wide area networks, local area networks, wireless networks, switches and routing, congestion, Internet traffic and network security. Students will be expected to do systems/network programming and make use of simulation and measurement tools to gain an appreciation of current network design and performance issues.

Recommended background: CS2303 or CS2301
Intended audience: CS, RBE and IMGD majors

Info

Grading

Reading

Slides

Assignments

Timeline

Samples

Course Information

Instructor

Professor: Mark Claypool
email: claypool at cs.wpi.edu
office hours: by appointment
place: Fuller Labs, room B24b
phone: x5409

Teaching Assistant: Choong-soo Lee
email: clee01 at cs.wpi.edu
office hours: M 2-3, T 3-4, F 1-2
place: FL A22
phone: -

Teaching Assistant: Thangam Vedagiri Seenivasan
email: thangam at cs.wpi.edu
office hours: W 1-3, R 2-3
place: FL A22
phone: -

Email lists (please use appropriately):
Prof + Assitants: cs3516-staff at cs.wpi.edu
Class: cs3516-all at cs.wpi.edu

Time and Place

Day: Tu, Fr
Time: 9:00am - 10:50am
Place: Atwater Kent (AK) 233

Book

Computer Networking - A Top-Down Approach (5th edition), by James F. Kurose and Keith W. Ross, copyright Pearson, 2010. ISBN: 0-13-607967-9 [http://www.aw-bc.com/kurose_ross/] [Student resources]

An excellent book for learning about networking. The top-down angle providing context from a network user persepctive, motivating discovery of the workijngs of networks at lower layers. Full of reivew questions, problems, wireshark labs and programming assignments.

Chapters: 1-5 (see reading for details)

Topics

Here is the list of topics covered in this course (not necessarily in order of appearance):

Info

Grading

Reading

Slides

Assignments

Timeline

Samples

Grading Policy

Breakdown

Final grades will be computed as follows:

There will be 2 programming projects done to measure network performance or implement signficant portions of networking code. The implementation can be done in a variety of environments and languages. Programming will not be taught as part of this course. System calls and other aspects of Unix will be introduced as needed and as the course progresses. The grading policy for each project will be provided at the time of the assignment. In general, each project a basic objective for the majority of the assignment points. There may be an extended objective for demonstrating additional work and understanding. Projects, including all data and source code, as appropriate, will be turned in online as specified in the writeups.

There will be 3-4 labs that use a network sniffer, Wireshark, to observe and analyze how network protocols work for different Internet applications and services. The labs will direct you in the use of the network sniffer and ask some questions to help guide learning how to use such a tool. The labs will be turned in online, too.

There will be 3-4 written homeworks based on questions from the text book. They are to supplement the course lecture and help prepare for the exams. You must work alone for the homework. All written homeworks are due in class on the day that they are due, unless otherwise noted.

There will be 2 in-class exams. The first is roughly mid-way through the term and the second on the last day. There is a remote possibility of a pop quiz for which no advance notice will be provided. Exams will be closed book and closed notes, unless otherwise indicated. The majority of each exam will cover basic ideas and objectives of the class with a few questions testing additional understanding and insight.

Final grades will reflect the extent to which you have demonstrated understanding of the material and completed the assigned projects. The base level grade will be a "B" which indicates that the basic objectives on projects, homework and exams have been met. A grade of an "A" will indicate significant achievement beyond the basic objectives and a grade of a "C" will indicate not all basic objectives were met, but work was satisfactory for credit. No incomplete grades will be assigned unless there exist exceptional, extenuating circumstances. Similarly, no makeup exams will be given unless there exist exceptional, extenuating circumstances.

Late Policy

Late assignments will be accepted up to one day (24 hours, with the weekend counting as one day) late. Any late assignment will be penalized 10% of total assignment value. Assignments will NOT be accepted more than one day beyond the due date. Exams are done, and due, in class. Homework is due in class at the beginning of class, unless otherwise noted. Projects and Labs are due online at 11:59pm on the due date, unless otherwise noted. Exceptions to these rules can be made only beforehand.

Class Conduct

This course is intended for serious students. Participants will be expected to adhere to all rules of professional behavior. It is to be emphasized that knowledge of material and professional behavior are tied together; failure in one of them negates any excellence in the other.

All work is expected to be done individually. As such, students are encouraged to discuss their work with each other, but are also expected to do the work by themselves.

Any breach of professional ethics as evidenced, for example, by copying homework, exams or projects, downloading code from the Internet, cooperating in more than discussions and study groups, misusing computer resources, or using outside help of any kind, will be considered adequate reason for an NR in the course and a report to the Dean of Students. Refer to the official WPI statements on Academic Honesty for details. Those who have any doubt about what that means, and fail to gain that understanding after a discussion with the instructor, are encouraged to drop this class. Remember this warning - any breach of ethics will earn you an NR. When in doubt, ask!

Info

Grading

Reading

Slides

Assignments

Timeline

Samples

Reading

The list of reading will be posted here, in the order covered in class.

Info

Grading

Reading

Slides

Assignments

Timeline

Samples

Slides

Slides from the in-class lectures will be available shortly after they are presented, depending upon how things go. Here is what we have so far:

Admin pdf pptx
Introduction pdf pptx
Application Layer pdf pptx
Sockets pdf ppt
Transport Layer pdf pptx
TCP Congestion Control pdf ppt
Network Layer pdf pptx
Data Link Layer pdf pptx
Review pdf pptx

Info

Grading

Reading

Slides

Assignments

Timeline

Samples

Assignments

Homework

  1. Homework 1 (Nov 6)
  2. Homework 2 (Nov 16)
  3. Homework 3 (Dec 4)
  4. Homework 4 (Dec 14)

Labs

  1. Wireshark - Introduction (Oct 30) (Slides: pptx, pdf)
  2. Wireshark - Web Browsing (Nov 12)
  3. Wireshark - TCP (Dec 1)
  4. Wireshark - Ethernet and ARP (Dec 11)

Projects

  1. Networked Pong (Nov 13) (Slides: pptx, pdf)
  2. Nutella - A P2P Streaming Movie System (Dec 10) (Slides: pptx, pdf)

Info

Grading

Reading

Slides

Assignments

Timeline

Samples

Samples

This section has any samples discussed in class, practice exams or any other demonstration-type class materials. Samples will be updated soon after the discussion in class begins.

Topic outlines for the exams:

C/C++:

Java:

A C example of code to do IP multicast is in mcast.tar, along with some wrappers. Extract (with tar xvf) and then type "make".

Here are some samples showing the use of software signals:

Info

Grading

Reading

Slides

Assignments

Timeline

Samples

[Return to the WPI Homepage] [Return to Mark Claypool's Homepage]


Mark Claypool (claypool at cs.wpi.edu)