CS116 - Artificial Intelligence
Spring, 2004
First Project Deliverable
Due Friday Feb. 27, 5:00pm (WebCT)
(updated 2/11/2004)

This deliverable is worth 30% of your overall project grade.  Do not discount the importance of investing effort at this point of the project just because the tangible products are less than the final deliverable.  This page describes details that will guide you in preparing your first deliverable.  Submit your deliverable via WebCT prior to the deadline.

Research Paper Project
For students completing the research paper, your first deliverable will consist of a moderately detailed outline and an annotated bibliography.  The annotated bibliography may be the most significant component for this deliverable (and may prove to be the most useful to your successful completion of the paper).  An annotated bibliograph lists the sources that you have gathered with a paragraph summary of each source and perhaps some indication of how the source will play into your paper.  For a typical research paper, I would expect about a dozen sources at this stage of the process.  By the end of the project, some may have been discarded and others added, but you should have the core of your content at this stage.
Given the annotated bibliography, it should be relatively easy to create your outline.  The outline is not expected to be as detailed as one that you would use just before writing your first complete draft.  However, it should provide more detail than simply high-level section headings.  It should convey the structure of your paper, from thesis statement to focus points to arguments and critiques to conclusions.  This should go well beyond your proposal.  By looking at the outline, I should be able to form a fairly accurate impression of your paper (such that I would be able to give you feedback if your arguments are weak or insufficient).

Coding Project
Students completing a coding project should prepare a first deliverable that includes core functionality and stubs.  It would be great if at this point you have a primitive base system completely running.  Depending on the nature of your project, you might only be able to have the core mechanisms in place.  For example, if you were building a PROLOG interpreter, you might have the basic parser constructed and operating on a primitive subset of PROLOG expressions, with stubs for other functions and grammar rules that will be needed for your full implementation.  As always, your code should be sufficiently documented.  You should include a README file that describes the current state of the system, how to exercise the existing functionality, and outlines your next steps.