CSCI 434/534: Network Systems and Design
Spring 2008

Meetings: Small 102, TH 2-3:20
Instructor: Prof. Bruce Lowekamp (lowekamp@cs.wm.edu)
Office: McGlothlin-Street 134
Office Hours: T 3:30-5:30 H 12-2 or send email or IM
TA: TBA
TA Office: TBA
TA Office hours: TBA
TA and Professor Email: cs434@cs.wm.edu
Final Exam: Wednesday, April 30, 1:30PM
Web Page: http://www.cs.wm.edu/~lowekamp/classes/434-S08

Catalog Description

The Internet; principles and design of network applications, including web servers and multimedia; transport, network, and data link layers; network security; network performance evaluation and capacity planning

More Information

This course provides an introduction to the fundamental computer science issues in the design and operation of computer networks. Topics will include network applications, end-to-end transport protocols, network routing, and link-layer protocols. Security will be emphasized throughout the course. As the driving forces in the evolution of networking, web and multimedia examples will be used to evaluate network designs. We will cover P2P and web services, two of the new concepts driving networking development today. This course is designed to provide a balance between theory and practice. Although the goal of this course is not to teach network programming, significant programming projects will be required.

Texts

Computer Networking: A Top-Down Approach Featuring the Internet, 3rd or 4th ed, Kurose and Ross.
Course slides will be distributed with the lectures.

Optional Texts

Learning Java, 3rd ed, Niemeyer and Niemeyer

Professor Noonan also maintains a Java tutorial and reference locally.

Homework Assignments

Homework 1

Homework 2

Homework 3

Homework 4

Homework 5

Homework 6

Homework 8

Homework 9

Homework 10

Exam Review

Projects

There will be four projects during the semester. The first two will be relatively short-term projects designed to provide an introduction to networking protocols and applications. The final two projects will involve implementing a significant portion of the an Internet protocol. All projects will be implemented in Java. 434 students will be able to work in pairs for the projects. 534 students will work individually.

Homework

Short weekly homework assignments will be given and graded. The intention of the homework is to provide a 30 minute practice reviewing the important concepts covered during the week's lectures.

Grading

The above weights and assignments are subject to change.

The course projects and exams are designed to be challenging, but fair. Final grades are "curved" to reflect the difficulty of the assignments. The grades will be assigned separately for 434 and 534 students.

For projects submitted late, 20% will be deducted from the grade per day. (The number of days will be from the initial due date, rounded up.)

Honor Code

The usual Honor Code rules apply to this course. Assignments for this course are individual or pair assignments, unless specified otherwise. You may discuss your general approach toward a problem with other students, as well as general programming or Linux questions, but the design and implementation of your project must be your own work.

The Honor Code is taken seriously in this course. In particular, programming assignments are checked both manually and automatically for evidence of cheating. ALL cases of cheating will be dealt with according to the Honor Code.

Topics

  1. Introduction
  2. Application Layer
  3. Security (K&R Chapter 8)
  4. Distributed Systems (no text)
  5. Transport Layer
  6. Network Layer
  7. Multimedia
  8. Link Layer
  9. Wireless