Fall term: This course lays the groundwork for the Spring Senior Seminar experience. Independent readings will be discussed and
presented, and a Senior Seminar Project prospectus will be prepared and presented for approval by the faculty of the department.
Spring term: This course comprises an in-depth exploration of the principles and techniques of analysis and design of software systems
from an object-oriented perspective. Design patterns, a diagrammatic modeling language, and standard techniques of computer software
specification, implementation, testing, and documentation will be explored and used as tools by students working in teams. Each team
will produce a robust, scalable, and maintainable large-scale system based on the project proposal completed in CS 485. The Senior
Seminar sequence is meant to emphasize the unity and power of computer science by applying and extending ideas drawn from the
courses required for all Computer Science majors. All participants will make several oral presentations.