Network Diagram

Course Information

CS 4516: Advanced Computer Networks
Time: B-Term 2014, Tuesdays and Fridays, 9:00am to 10:50am
Location: Atwater Kent 233

Course Catalog Description

This course provides an in-depth look into computer networks. While repeating some of the areas from CS 3516, the goal is to go deeper into computer networks topics. This in-depth treatment in topics such as routing, congestion control, wireless layer protocols and physical signaling considerations will require the use of basic queuing theory and probability to provide a more formal treatment of computer networks performance. Other topics covered include: LAN and WLAN technologies, mobile wireless networks, sensor networks, optical networks, network security, intrusion detection and network management. Students will be expected to do more sophisticated network programming than seen in CS 3516 and will conduct laboratory activities involving measuring the performance of modern networking applications running on both wired networks and infrastructure wireless networks. Undergraduate credit may not be earned both for this course and for CS 513. Recommended background: CS 3013, CS 3516, and knowledge of probability. The course assumes a familiarity with operating systems including Unix or Linux, and significant experience with C/C++. This course will be offered in 2013-14 and in alternating years thereafter.

Recommended Background and Resources

This course will require students to have a background equivalent to having taken CS 3516 and a couple courses involving C/C++ programming. Students without this background are strongly encouraged to contact the course instructor.

Students without a laptop computer may find themselves at a disadvantage in the course. Ideally, students should have a laptop capable of hosting one or more virtual machines and with an integrated or external Ethernet interface.

Teaching Staff

Course Instructor: Craig Shue
Email: please post via the class discussion board
Office: Fuller Labs 236
Office Hours: Walk-ins welcome. Appointments also available, if desired.

Teaching Assistant: McIntyre Watts
Email: please post via the class discussion board
Office: Fuller Labs A22 or Fuller Zoo Lab
Office Hours: Tuesdays, 11am-1pm; Wednesdays, 4pm-6pm; Thursdays, 11am-1pm

Teaching Assistant: Zhongfang Zhuang
Email: please post via the class discussion board
Office: Mondays, 1:45pm - 3:45pm; Tuesdays, 3pm-5pm; Wednesdays, 1pm-3pm
Office Hours: Fuller Labs A22 or Fuller Zoo Lab

Lecture Schedule and Readings

This course will not use a textbook and will instead use research papers and other publicly available sources for assigned readings. Please note that research papers tend to be formatted densely and may take longer to read. Students without a prior background in networking may have substantial difficulties with the readings.

Students may obtain a copy of the papers assigned for this course via a posted compressed file archive or through the WPI library.

Class NumberDateTopicReadingNumber Pages
1Oct. 28Objectives, Overview, Course Project, The Design of the InternetClark10
2Oct. 31The Design of the InternetClark10
3Nov. 4IPv6 TransitionHinden11
Nov. 4PROJECT: Phase 1 Due
4Nov. 7Software-Defined NetworkingMcKeown et al.6
5Nov. 11Data Center NetworksGreenberg et al.6
6Nov. 14New Internet ArchitecturesFrancis et al.12
Nov. 16 18PROJECT: Phase 2 Due
7Nov. 18Virtual LANs and DeploymentYu et al.6
8Nov. 21MPLS, Traffic EngineeringXiao et al.14
9Nov. 25Interdomain RoutingKent et al.11
Nov. 30 Dec. 2PROJECT: Phase 3 Due
10Dec. 2Measuring ISP TopologiesSpring et al.13
11Dec. 5Networked Host GeolocationShue et al.9
12Dec. 9Moving Target DefensesShue et al.7
13Dec. 12Congestion Control at RoutersFloyd et al.22
Dec. 14PROJECT: Phase 4 Due
14Dec. 16Peer-to-Peer/DHTsStoica et al.12

Course Policies and Procedures

The following represent the official policies and procedures for the course. Please review this information and discuss any questions with the professor as soon as possible.


Required: None.



The university-wide myWPI system is insufficient for the course's needs. Instead, we will be using InstructAssist, a custom-built course management tool created by the instructor. This system will be used for posting grades, submitting projects, obtaining slides, scheduling project demonstrations, and posting partner evaluations. It is available at InstructAssist uses a WPI SSL certificate for authenticity and encryption to protect student records.

Official Communication

Class discussion, class hand-outs, posts on the class forum, emails to the student's WPI email account, and the course Web pages are avenues for official course communication. Students are responsible for any information distributed through any of these venues.

Class Email and Forum

Students must check their WPI email daily. The instructor and TAs will use email to send urgent information to the class. Classmates collaborating on teams may also use email to coordinate efforts, so checking email periodically will be essential for timely responses.

Students should post all questions about the course on the class discussion board. The teaching staff will use the discussion board to keep track of assistance requests. Further, posts on the discussion board will be available to all students by default, allowing everyone to learn from these questions.

By default, all students will be subscribed to receive email copies of the classwide announcements sent by the teaching staff. Students may unsubscribe from non-urgent postings by adjusting their profile settings. Students are responsible for all announcements, even if they elect not to receive email copies.

If a question is of a more personal or private nature, students can choose to create a new discussion topic and select the "Visible by Invitation Only" topic privacy option. Any communication in that topic will be visible only to the Instructor, the TAs, the student creating the topic, and any individuals the student explicitly invites to the topic. This approach will allow students to have a private discussion with the staff while still allowing the staff to keep track of unresolved issues and address them in a timely fashion.

Course Grading

The course projects and in-class quizzes form the basis for 90% of the course grade. The remaining 10% of the course grade will be attributed to in class participation and professionalism associated with the course. Details on each of these components are as follows:

  • Quizzes (45%): Each class will begin with a 10-15 minute quiz. The two lowest quiz scores will automatically be dropped, allowing for absences (including internship interviews, travel for WPI events or sports, or similarly legitimate purposes), illnesses, or simply "bad days". The quizzes will be short, typically only two questions long. The first question will often cover material from reading due before class and will be more factual (and simplistic) in nature. The second question will be more application-oriented, requiring students to apply concepts from prior class discussions to new challenges. Our class will trial a digital option for completing the quiz; however, the instructor reserves the right to require a paper-based format at his discretion.
  • Projects (45%): The course will have a multi-part course project divided by phases. These phases may not have equal weight, but combined will represent a significant portion of the course grade.
  • Participation and Professionalism (10%): Students are expected to be engage in class discussion, answer questions from the instructor, and ask questions when needed. Students must regularly attend classes and scheduled meetings with the teaching staff. Disregard for course policies or unprofessional conduct with other students or the teaching staff will be penalized. This grading component is a signed value, allowing students to earn a negative score for abusive behavior.

Course Term Project

The course will have a single term project which is composed of multiple phases and deliverables that build on each other. As in professional practice, students should take care to create a stable foundation for the project early in the term. Solutions to early phases will not be provided and students will not be allowed to adopt another team's code base to address failures in their own.

The term project will require students to demonstrate mastery of several computer networking facets. All projects must include a significant programming component. Projects that simply combine existing tools in novel ways will not be considered acceptable for credit.

As part of the course project, students will connect to an isolated network in the the Fuller Zoo Lab via Ethernet. Students will be expected to run a virtual machine (VM) locally that connects to a series of remote systems in that network. Students without laptops capable of supporting such efforts may need to contact the ATC to borrow a laptop for the projects.

Course Participation and Professionalism

During lectures, students are to be focused on the course. Students should not use materials or electronic devices that would inhibit their attention to the course lecture and discussion. Laptops may only be used for note-taking or quiz-taking purposes; transmission capabilities on these devices must be disabled when taking notes and only an appropriate note-taking application may be used in class. Mobile devices, such as phones or PDAs, are not to be used in class. Significant penalities may be assessed for repeated infractions.

Students must treat each other and the teaching staff with respect at all times. Disagreement, debates, and criticism of ideas are healthy aspects of academic environments; however, students should avoid demeaning language or comments which can be taken personally. The ability to handle conflict professionally and work with a variety of people is an acquired skill, yet is increasingly important in technical careers.

Status Reports

Roughly twice a week (on class days), each student team is expected to post a status report in the class discussion board. The post should be made as a new topic with the subject line: "Team [TEAM_NUMBER]: Status Report [REPORT_NUMBER]". The teaching staff may reply to the group with feedback on the status report. Teams may post publicly, allowing other students may view the post to compare progress, or may post privately to the teaching staff. The status report should indicate whether all members of the group are contributing equally or not.

These reports are to help the students keep on track with the project by regularly checking in with the teaching staff and having a natural procedure for raising questions. They posts need not be long, but they should describe the group's activities, progress, and any problems encountered. This will allow the teaching staff to assist and provide advice in a timely fashion.

Late Submission

Deliverables for the course project may be submitted late, but with a 10% penalty for each day the assignment is late (with the first day starting at 1 second late). However, no submissions will be graded if they are supplied after 4pm on December 18, 2014.

Student Disabilities

If you need course adaptations or accommodations because of a disability, or if you have medical information that you need to share with the instructor, please make an appointment with the instructor as soon as possible. If you have not already done so, students with disabilities who believe that they may need accommodations in this class are encouraged to contact the Office of Disability Services (ODS) as soon as possible to ensure that such accommodations are implemented in a timely fashion. This office is located in the West St. House (157 West St) and their phone number is 508.831.4908.

Academic Honesty

The WPI Academic Honesty Policy describes types of academic dishonesty and requirements in documentation. We take these matters seriously. In the case of academic dishonesty, the instructor is required to report the incident to the Dean of Student Affairs. The instructor's penalty for academic dishonesty is to assign a NR grade for the course.