CS 380 Lab 4:  Project Development

Read How to write a proposal by R.H. Thomason and then skim Writing a good grant proposal by Simon Peyton Jones and Alan Bundy.  The "Project Proposal" and "Project Design" documents we are writing in this class would really be combined together into a single project proposal submitted to an external funding agency (e.g., the National Science Foundation, the Office of Naval Research, etc.).  For simplicity, we are breaking them into two parts in this class.

In this lab, we will be doing several exercises designed to help you strengthen your project plan.  Please include your responses to this lab in your journal, and keep them in mind when you are creating the project design document.  Each person should complete these individually, but I STRONGLY encourage you to discuss them afterwards within your project group and let them influence your project design.

1.)  Consider the techniques you are planning to use in your project.  In this class we are applying those techniques to solve a specific problem, but most techniques are applicable to solve a variety of problems (with some slight modifications).  Often times, it helps to consider these other potential uses for a technique when you develop it, since it encourages you to develop general techniques rather than specific "solutions."  List and describe three DIFFERENT applications of the methods you are planning to use in your project.  Two of these applications should be directly relevant to the topics discussed in this course, and one application should be outside the scope of this course.

2.)  Graphics are essential for communicating both the overall idea of a project and the methods used to solve the problem.  Draw a diagram or figure that communicates the problem and methods you will use in your project.  Your figure may have multiple parts, and use labels, icons, arrows to indicate process movement (e.g., input of data), and any other conventions you like to clearly communicate the message.  Don't worry about it being perfect -- this is a rough draft.

3.)  Having a Risk Mitigation Plan is important to demonstrate to funding agencies, program managers (i.e., those who write funding solicitations, select proposals for funding, and follow the research), and corporate management (in the case of industrial R&D) that you have a plan to ensure that the project will succeed.  Risk assessment identifies those key parts of the project that will be most difficult or where failure will jeopardize the project (i.e., the parts are on the "critical path").  Often, the key risks are identified in the proposal and are accompanied by a plan to mitigate those risks (i.e., ensure their success, or propose work-arounds should they fail).  Think about and complete a risk assessment for your project.  Construct a risk mitigation table for your project based on the following example table for a hypothetical project.  You should identify at least three risks for your project.

Risk
Severity
Impact to Project
Mitigation Strategy
Inference with the chosen HMM implementation will not occur in real-time
Medium
Lack of real-time interaction with the user may:
  • disrupt the user's experience
  • decrease user acceptance of the system
  • reduce the effectiveness of the system
We will consider multiple HMM implementations (Jahmm and cuHMM) to ensure real-time inference.  If none of the implementations provide real-time inference, we will implement a distributed HMM that performs distributed inference using Hadoop Map/Reduce to accelerate inference and ensure real-time interaction.
...
...
...
...
...
...
...
...