Computer networking in a senior level course: nifty course assignments

This paper describes a project set by the author in a senior level computer networking course. The goals of this project are to lead the students to understand the concepts of the OSI model, simulate the model by the implementations of relevant protocols based on the Requests for Comments (RFCs), and practice the applications of object-oriented design and programming in the course.