Home Lecture Blog Resources Project Discussion Group Assignments

Project Ideas

Final Project Proposal

In this assignment, you will produce a plan for your final project. This is the real proposal; you are expected to build the thing you propose here.

Considerations for two-person project teams are described near the end of this document.


The final project is worth about one-third of your overall class grade. A good proposal should lead to a good project, with the following notes:

  • If you were to somehow turn in a great proposal and then not do a project at all, you'd still get the credit for the proposal.
  • If part-way into your project you realize that your idea is infeasible or uninteresting, and you have a new, much better idea, you can work on that instead (hopefully this won't happen).

Here are the things that will make a high-quality project:

  • explicit connection to ideas that were introduced in the course (or that you have learned about on your own)
  • explicit connection to some real-world domain
  • an interesting overall concept
  • something that actually can be built in the time allotted
  • something that you personally are interested in and care about
  • a writeup that explains what you accomplished
  • demo that lets people (or yourself) interact with your project

The Proposal

The proposal itself is a written document that explains what you are going to do. It should have all of the sections in the pre-proposals, plus two more (italicized):

  • Project title. No more than ten words.
  • Problem statement. What is the problem and why is it interesting?
  • Problem analysis. Explain what theory you will bring to bear on the problem. Be explicit. You should present a logical and technical argument. Assume the reader is already aware of the relevant theory, but explain how that theory is applied to solve your problem.
  • Inputs and outputs. What data will comprise the input to your system? Where will it come from? What will be the outputs of your system (data or behaviors)? How will you determine if they are correct?

Explain in some detail your plan for what exactly your system will do, and you will demonstrate its performance.

  • Deliverable and Demonstration. What exactly will you produce by the end of the project? Of course, there will be a piece of software, but what will it do? Is it a batch-mode kind of thing, and you will present some analytical results? If so, how would your program be re-run on different source data? Or, will your program be interactive, and you can show it at work? There will be a demonstration, so interactive/live programs will be good. Explain exactly what you'll have at the end.
  • Evaluation of results. How will you know if you are successful? This should include some kind of quantitative performance analysis.
  • Work Plan/Schedule. Explain how you will go from proposal to finished product. Explicitly define three deliverables, due on Thu 4/26 (first deliverable), Thu 5/3 (demonstration), and Thu 5/10 (project writeup). The nature of the deliverables are project-dependent, but they could include things like processed data ready for import into your program, core implementation of the algorithm, and design of interface/presentation side of the project. You will be expected to turn in code/documentation/data (as appropriate) at each of the three stages, so put concrete steps into your schedule.
  • Broader impacts. Why is this problem worth solving? Who will care about the solution? What impact on research, society, or business will the work have?

You may wish to do proof-of-concept work before you turn in the proposal next week.

In short: You should be proposing something that you have high confidence that you can achieve, and the proposal should project that confidence.

The proposal should be no longer than necessary, but long enough to include critical detail. Three to five pages is appropriate. Diagrams are welcome.

Grading Considerations

The following criteria will be used to evaluate the final project itself.

  • quality of the proposal document itself (see above for what it should include)
  • accomplishing project goals (including evaluation) (3 pts for each of the two checkpoints, 6 pts at final delivery)
  • degree/quality to which project makes use of AI concepts taught in the course or you have learned on your own (please make sure to be explicit about this in the project writeup)
  • innovation and creativity in overall concept
  • quality of final writeup document (will be assigned later)
  • quality of in-class demonstration of project

Turn in the proposal using the command below. Make sure to include your username in the name of the proposal document:

submit fredm fpp <filename-e.g.-fredm.pdf>

Do not submit a document named my-proposal.doc.


Teams of two are welcome. The key is that the team must propose a joint product, but with each of the two individuals responsible for clearly separable parts.

In the Deliverables section, the project must be described in a modular way, so that each person his responsible for different pieces. As mentioned, there will be progress turn-ins along the way, and each teammate should deliver his or her own work at these check-points.

In the Schedule section, there should be two columns, one for each partner, showing parallel work. Please make sure to leave time for integration.

You are welcome to help your teammate with your teammate's portion, but you will be evaluated on the part that you specified that you are responsible for (in the proposal).

So, please make sure to specify the separate pieces that each of you will be working on. If you do your part, but your partner totally bails, I should be still be able to evaluate your work and give you an A (or whatever grade is appropriate).

Teams should submit one proposal with both of your names on it. I will decide later how the end-of-project writeups will be handled.