Postprint version. Published in Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education, February 1, 2001, pages 41-44.
Copyright © ACM, 2001. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education, and is available at http://dx.doi.org/10.1145/364447.364534.
NOTE: At the time of publication, the author David Janzen was not yet affiliated with Cal Poly.
Selecting an appropriate set of laboratory experiences and projects for a Data Communications and Computer Networks course can be difficult due to the broad and deep nature of the topics. Emphasis may be placed on many networking aspects including design, evaluation, efficiency, security, protocols, tools, and applications. This paper presents a set of projects that attempt to integrate software engineering and systems administration topics. The projects emphasize network application programming. Particular attention will be given to a sequence of incremental projects using an object-oriented approach including the use of the Unified Modeling Language (UML) and a design pattern.