Homeworks and Projects

Policy: No late homeworks or projects will be accepted. Homework assignments are due in-class on the given due date. Extensions will be given to everyone in the course if necessary, so don't ask us for exceptions.


Assignment # Due Date Description
Assignment 1 9/22 2:30pm 2.13, 2.16, 2.22, 2.24, 2.36 (all problems from your textbook)
Assignment 2 10/13 2.44, 2.45, 3.3, 4.4, 4.15, 4.20, 4.25, 4.28 (all problems from your textbook)
Assignment 3 11/9 5.5, 5.19, 5.28, 5.29, 6.6, 6.16, 6.17, 6.28 (all problems are from your textbook)
Assignment 4 12/7 6.10, 6.14, 6.35, 6.49, 9.5, 9.10(all problems are from your textbook)


There are going to be three implementation projects in this class. The projects are going to teach you how to do UNIX Network Programming. No previous knowledge of TCP/IP Programming is required, but you do need to know C/C++ and UNIX application developement (e.g. gcc, makefiles, manpages etc). You should be able to use your department UNIX account for developement but you are also free to use your home machine. The only requirement is that the code will compile on Linux. Non-CS students that do not have a UNIX account and would like to get one, should contact me. These are group projects, so you should team up to groups of 3 people. Mixed teams of CS349 and CS449 students are not allowed.

There are going to be three projects:

  • The first project is going to introduce you to the concept of client/server programming and how to implement a simple networking protocol.
  • For the last two projects you will actually build a simple software-based router. This router will implement the protocols that we learned in class and you will be able to test it using live traffic. For more information about this project you can look at the Stanford VNS page
ProjectDue DateDescription
1 10/06, 11:59PM HiRC: a simple instant messaging service. You will implement the client and the server that follow a simplified instant messaging protocol. There is a sample server available to you that you can test your client with. This server along with other useful information is available from the Project1 page
2 11/17, 11:59PM VNS Firewall. Project description
3 ?, 11:59PM Topology Mapping. Project description

How to Submit your Project

Project submissions are going to be done via email. See project specifications for more details.

Last modified: Mon Nov 27 10:55:12 EST 2006