The purpose of the "Network Design and Evaluation" is to give students hands-on experience building networking software. A typical project will be the design, implementation, and evaluation of a network protocol. The design will specify the requirements, protocol specification, and success criteria. The implementation will have to work over an actual network, and the evaluation will evaluate whether the success criteria have been met. Students will work in teams and will have a choice of a small number of projects.