Computer Science 491
If you wish, you may download a printable version of the syllabus, containing the same information that is on this web page.
|Instructor:||Dr. Michael Goldwasser|
|Email:||goldwamh at our university domain|
|Office:||Ritter Hall 108|
The Capstone Project is a substantial, semester-long endeavor allowing students to apply the knowledge they have gained within the Computer Science curriculum. Each project is to be completed by an individual or a team of students; we henceforth use the terminology ``team'' even when referring to a team of one.
Topics for projects can be based on the interests of the students, chosen from ideas submitted by CS faculty, or coordinated with needs of other departments or units outside the university. Students should be involved in the project selection, but the instructor has final authority on what is considered a suitable project. There will be greater expectations for teams of two or more students.
Each project will have a faculty member (the ``supervisor'') who will advise the team on the project; the supervisor may or may not be the instructor-of-record for the course. Each team must sign a contract, together with the supervisor and instructor, indicating what the project entails and requirements for successful completion. The supervisor and the instructor will be responsible for assigning grades for the course.
The components of the grade are:
|Weekly reports:||10% (the 10 highest scores will be considered)|
|Alpha version review:||10%|
|Complete product review:||30%|
A detailed description of the components, and the required timeline for progress, follow.
Each team is responsible for submitting a brief progress report on Friday of every week. This should be sent to both Dr. Goldwasser and your project supervisor. The report should indicate what was accomplished during the week, what problems were encountered and the plan for the upcoming week. Your advisor and Dr. Goldwasser will assign a weekly grade based on your progress. Each team should also meet with the supervisor at least once a week.
After working out the exact details for the project, each team must create a design document. This document should clearly describe what your project entails and the goals for the final product. In addition it should include high level design information. For a traditional software project, this should include descriptions of the major components, their interfaces, and how the interact to form the whole. For other types of projects, the requirements presented in this document may differ.
During midterm week, each team will give a 15 minute presentation on their project. This should include an overview of the project, its goals, and a plan for how those goals are to be reached. The presentation should also describe the top-level design of the project.
An initial working version of your project needs to be submitted for review. This alpha version may still have bugs, but it should include all of the desired features. Testing of this version should help identify any bugs, design flaws, or other issues that need be addressed for the final version.
Each team's final project needs to be reviewed by their supervisor and Dr. Goldwasser. This should include a demo of any software. In addition, the full source code for the project needs to be turned in.
The final presentation needs to include an overview of the project, its design, and a product demonstration. Teams should also discuss their experiences and what they have learned about working on a large project.
|Project contract:||Wednesday, September 1|
|Design document:||Friday, October 1|
|Midterm presentations:||October 11-15|
|Alpha version review:||Wednesday, November 10|
|Product review:||Monday, November 29 (and at least 48 hours before presentation)|
|Final presentations:||December 1-7|