Students are strongly encouraged to complete an independent Capstone project as one of their elective choices during the final semester. Here you will find details on choosing a project, choosing an advisor, writing your proposal, and completing the process.
The goal of the Capstone project is to demonstrate fluency with the tools of scholarship and professional practice in your field, an ability to independently plan and carry out a non-trivial piece of work, and an ability to present your work in written and oral formats.
The Capstone project can count for 2-6 credits in the program, and is expected to require at least 50 hours of effort per person pre credit. The policy in MSSE is that if a student selects a topic that requires a substantial technology-related learning curve, (such as learning a new language or operating system, etc.), then that portion of the effort is over and above the effort expected for the Capstone project itself.
Your Capstone project can take many forms, depending on your interests. It must be educational, have a research component, and relate to the Software Engineering program. It should also have a clear focus and well-defined success criteria. Here are some examples of past MSSE Capstone projects:
- Technology analysis: Analyze and compare competing approaches or products relative to some application or class of problems. One team of two compared Microsoft .NET and Sun J2EE with respect to a class of web-enabled enterprise applications.
- Software design and implementation: Analyze a problem, research known solutions and products that address the problem, develop a design and a plan, choose some interesting or challenging portion of the problem to implement and test. A recent graduate implemented an agent communication layer for a multiplayer FPS game. Another developed a distributed build manager that allows a build to depend on remote external libraries.
- Process assessment and improvement: Evaluate and document the current state of practice in an organization, identify problem areas and potential improvements, develop and document an improvement plan. One recent project analyzed a series of project failures and identified organizational factors related to misalignment between knowledge, motivation, and authority among technical teams and the user organization.
The MSSE Program Office maintains a file of past Capstone projects to inspire you and to help you get a better feel for what's expected, and many students have agreed to have their final reports published on the program website.
There are two approaches to finding an advisor: (1) based on research interests and knowledge relevant to your project area, and (2) based on desire to work with a particular faculty member. If you want to work in an area and don't know where to look to find someone who can help you, you can visit the research pages of the University's academic departments, or you can ask one of your professors or your DGS for help. Your advisor can be any member of the MSSE faculty.
Your written proposal must include the following elements. It may be submitted by email as long as you avoid proprietary document formats.
- Project title.
- Problem description - what is the problem, why is it interesting?
- Brief outline of known related work.
- How you propose to solve or address the problem.
- A brief project plan, including at least one intermediate milestone with a date and deliverable.
- For group projects only, a brief description of how project responsibilities will be divided among team members.
- Evaluation or completion criteria - what do you want to be able to tell your advisor when you are finished.
Ideally, the proposal will be just one page, two at the most. Save the verbiage for the report.