CS 480, "Senior Project in Computer Science" RATIONALE: Industry feedback indicates a need for our students to have some experience with significant, long-term programming projects. It is also clear that tomorrow's programmers must be creative, original, and self-motivated to stay on top of, and define, the network programming environments of the future. CS 480 provides an opportunity for students to work independently on a large implementation of their choice and of their design, outside of the constraints of a class assignment, semester project, or structured course. It is expected that students will complete much of the work on their senior project prior to enrolling in the course. To ensure quality work, steady progress, and consistent scope and evaluation across projects, the following steps are proposed: - Advisors, rather than an instructor, will provide overall supervision, before and during the actual course semester of CS 480. - A student and his or her advisor must reach agreement on a project proposal, or "contract", which specifically lays out the goals, scope, limitations, requirements, and grading criteria for the project. - Students will be encouraged to begin designing and implementing their projects early in their curricula, but will not be expected to enroll in CS 480 until they are in their fourth year. - An evaluation committee, consisting of CS faculty, will act as "jury" to a final presentation by the student, and will collectively decide on a final grade for the project. The nature of this course will evolve, as we build up a legacy of successful and interesting projects to inspire future students, and as we bring in possible projects from industry, community and campus requirements, and from our own research. EXTRA VERBAGE FOR BULLETIN DESCRIPTION (for that little paragraph to be published): This course involves a significant software development and implementation project. Since this project constitutes more than two credit hours of work, students are expected to begin the project prior to registering for CS 480. Enrollment in CS 480 allows the student to wrap up the project, including testing, documentation, and a demonstration and presentation to an evaluation committee of CS faculty, for feedback and grading. Students will be supervised by their advisors, rather than a course instructor. Students are expected to define a project of interest to them, and then to work out an agreement with the advisor on the goals, scope, and grading criteria for the final product. Students are expected to work individually on projects. (Under certain circumstances, small teams of students can be assigned to a single, larger project.)