Pre-requisite.

A course on operating systems is the sole pre-prerequisite for the introductory course. This is considered essential for two reasons: First, in many current computer systems there is a close relationship between networking/communications and the host operating system. A prior course in the latter helps students to appreciate this relationship. Second, our undergraduate operating systems course includes a moderately complex C-based programming project. For many students this is their first significant C programming experience. Such experience is important to insure that students have an adequate level of programming sophistication to complete the assigned project in the networks course. It is probably the case that the second reason, programming experience/sophistication, is the more important of the two reasons for requiring the operating systems pre-requisite.

Because the course is intended for computer science and computer engineering students, it is impractical to include a mathematics pre-requisite as this would significantly limit the potential clientele. A course on modeling/simulation/probability would be very helpful. There is also no electrical engineering pre-requisite because this would rule out a large number of software-oriented computer science students.