CS 5382 - Topics in Software Development PROJECT PROPOSAL GUIDELINES (File $Date: 2010/03/11 18:50:26 $) Your proposal should be 2-3 pages long. If possible, use either ACM or IEEE format; they are available from the course website. The general purpose of any proposal is to persuade the readers to do something --- in this case you want the instructor to approve your project and also attract others to your project. In general, every proposal should answer questions about "what" you are proposing, "how" you plan to do it, "when" you plan to do it, and "how much" it is going to cost (not applicable in this case). Your proposal should address at least the following. 1. Problem. You may want to break your problem into two parts: a broad problem and a specific problem. The broad problem specifies the context of your project and thus helps to understand the importance of the problem that you are going to solve. The specific is the particular niche that your project addresses. 3. Goal. This is what you do in your project to address the specific problem and how you will be evaluated. If you claim in your proposal that your goal is to move the Franklin Mountains, I will expect you to do it. So, be very careful in articulating your goal statement. 4. Approach. You should state how you will do what you have claimed to do in your goal statement. For this proposal, you approach doesn't have to be that much detailed, but at least you should specify the general approach that you are going to use to solve the problem. 5. Related Work. You are expected to do a reasonable (literature) survey to find out whether there are any approaches that are related to your project proposal; the problem might have been already solved by others! Your proposal should cite scholarly publications where appropriate. 6. Plan for Evaluation. How do you know that you solved the original problem? You should state your plan for analyzing and evaluating that what you have done will indeed help fulfill the stated goal. 7. Schedule and Deliverables. Every project is expected to perform some actions and to deliver something at the end. You should identify major tasks or activities that you will perform during the project and also state the deliverables. The project deliverables may vary widely depending on the characteristics of the projects, but common deliverables include source code, documents (e.g., design documents and API specifications), and the final report.