The master’s project typically has the following parts:
- creation of an original software artifact, adequate to demonstrate the mastery of software development;
- writing of an original paper, adequate to demonstrate mastery of technical writing;
- presentation of an oral report of the project, adequate to demonstrate mastery of public speaking.
In judging whether these three deliverables demonstrate adequate mastery, the supervisory committee shall consider whether the depth of technical knowledge and level of skill demonstrated by the student are consistent with the expectations for professional employment.
The scope and difficulty of the project should be greater than that of a term paper for a course. The technical depth should be appropriate for the capstone of a graduate degree. In particular, it should require study of one or more areas of computer science beyond what is covered by the required graduate and undergraduate courses.
The software may be an end product or be incidental to a piece of experimental research (e.g. a simulator, or implementation of an algorithm for performance testing). The originality need not be fundamental. Creativity at a fundamental level, such as in the design of algorithms and data structures, or in the concept of the application, is desirable but not required. It is acceptable to produce “yet another” implementation of a type of software that has been done before. However, in the latter case it is essential that the student first do a study of prior work and document that study with references and analysis, showing how the new implementation incorporates lessons learned from prior practice.
The project document shall always include a description of the project adequate to inform the committee members of the motivation, objectives, scope, methods, and results. It shall ordinarily cover the full software development cycle, including requirements analysis, software design, test design, validation testing, and performance analysis. This project description shall have the form of a technical report. If the software is an end product, the project document shall also include user and maintenance documentation. The latter two shall ordinarily be separate from the project description, though they may be presented as appendices.
The work submitted for the master’s project, including both the code and the document, is required to be the individual work of the student. The student is allowed and encouraged to solicit review and comment, including editorial suggestions, especially from the major professor and supervisory committee members. However, the student and advisor should keep in mind that by awarding a master’s degree in computer science the department is certifying that the student has mastered technical English writing to a level that is acceptable for a professional.
If the master’s project software is part of a larger software development or research project, it may make use of other software components that were not written by the student, but such other components shall be clearly identified and separated from the contributions of the student. Further, if the master’s project is part of a larger project, the organization of the larger project must allow the master’s student a high degree of autonomy and individual responsibility for a well defined and clearly partitioned segment of the project, from the inception to completion of the segment.
The application of the above criteria to the project is up to the individual student’s supervisory committee. The committee shall be formed by the start of the project, and registered with the Director of Graduate Studies. All committee members shall be given an early opportunity to review the scope and technical approach of the project, before work has progressed too far to make whatever modifications may be needed to obtain their approval.
The project defense is primarily a test of the student’s oral communication skills.
When scheduling the defense, the student shall allow at least ten days to two weeks for review of the final paper by the committee after it has been approved by the major professor. It is the responsibility of the student to schedule the defense and reserve the room and the PC cart through the Graduate Coordinator.
Once the project has been defended and all modifications suggested by the major professor and committee have been made, an electronic version must be submitted to the webmaster. Appropriate copyright notices and authorizations should be given to allow the department to distribute the document. The first page of the report should have the student author’s name, the title, and the names of the major professor and committee members.