Your final project report should be a PDF, approved by your project advisor, and submitted to the course coordinator by the last day of classes in the semester you're taking 398.

You will start with a basic report in your first month of 396 and refine it throughout the course. Monthly milestones will provide opportunities to receive feedback and make improvements.

Reports should include at least the following elements:

Title
A succinct description of your project
Vision Statement
A one-paragraph "elevator pitch": what are you trying to accomplish, and why does that matter?
Normative and Ethical Considerations
For each of the design norms, describe a potential consequence of ignoring that norm in your project, and either what specific decisions you might make to align with that norm or challenges you might face in doing so.
Background
Describe prior work and/or competitors. Teach the reader what they need to know to understand what you did.

This section should be at least as thorough as if you gave your vision statement to an AI research agent and asked it to identify relevant prior work.
Success Criteria
Work with your advisor to define a rubric for a successful project. Aim for at least 3 criteria, each of which has two levels of measurable outcomes: a minimum level and a stretch level. Expect to revise this rubric as the project progresses.
Approach and Implementation
Describe your system architecture and implementation. Include at least one diagram (such as a UML) (you may use tools such as PowerPoint, draw.io, …) Also describe your development process, including software development practices, testing methodology, and challenges faced.
Results
Conclusion
Also include any acknowledgements and references as needed.

Milestones

Reports will be constructed incrementally. Each milestone will build on the previous one, and you should incorporate feedback from your advisor and the course coordinator as you go. Report honestly on your progress. As you progress, you can replace future-tense statements with past-tense ones; don't imagine work that you haven't actually done yet. Each milestone has two parts: the report itself, and a short milestone-specific section. For students doing projects on a Spring-Fall or other alternative schedule, work with your advisor and the senior project coordinator to adjust the due dates for these milestones.
Milestone 1 (due end of September)
Report
A draft of your report including at least the following sections:
  • Title
  • Vision Statement
  • Normative and Ethical Considerations: focus on potential challenges
  • Success Criteria
  • Development Process (an initial draft)
Your development process section should discuss your proposed workflow (e.g., "we'll use GitHub Flow", "we will meet as a team on Tuesday nights, meet with our advisor every other Wednesday, and schedule 3 additional hours of individual work each week").
Milestone-specific section
  • A "team contract" that describes how your team will work together. Search online for inspirations, such as this one.
  • A description of your development environment, including a screenshot from each student of the development environment running the current project code.
Milestone 2 (due end of October)
Report
An updated draft of your report, addressing the feedback you received on Milestone 1. The following additional elements should be complete:
  • Background
  • What we did: should describe one visible accomplishment
Milestone-specific section
  • A brief (one or two sentence) description of what updates you have made since Milestone 1
  • Document a contribution that each team member has made to the project code base so far.
  • A detailed outline of the status presentation that you will give in early December (due before your team's practice talk session, to be scheduled for mid-November)
Milestone 3 (due end of November, with revisions allowed through end of finals)
Report
An updated draft of your report, addressing the feedback you received on Milestone 2. The following additional elements should be complete:
  • Update the Norms section to reflect the decisions your team is actually making and what you're currently wrestling with.
  • What we did: should describe most of your accomplishments to date
  • Success criteria: update to reflect any changes in your project objectives.
  • Development Process: should describe your actual process to date, including any changes you made
  • Results: should include at least a demo (screenshots and/or video)
Milestone-specific section
A brief (one or two sentence) description of what updates you have made since Milestone 2, and a reflection on how your project is progressing compared to your success criteria.
Milestones 4 (due mid-February), 5 (due mid-March), and 6 (due mid-April, with revisions allowed through end of finals)
All major sections should be complete and incorporate feedback from previous milestones. Each milestone should include a brief update of what has been accomplished since the previous milestone.

Research Projects

Projects that involve significant research should also write a scholarly paper suitable for submission to a conference or journal—or at least to arXiv. Work with your project advisor to determine the appropriate venue and paper format. A draft of this paper should be included as an appendix to your report. Your report can include references to the paper rather than duplicating content.