Please plan on writing a formal report on your project that will be ready for my initial review at least 2 weeks prior to the end of the quarter (You will most likely need to make revisions per my review).
Do not use "I" or informal language in your report.
0) An abstract: a short (1 paragraph) description of your project and your results
1) Introduction: Problem Description and Motivation from a wide perspective - i.e. why is this project worthwhile from a global perspective. Then describe the problem in detail; make it clear to the readers what you're trying to solve. You must also give the readers the sense that the problem is worth solving, otherwise they will stop reading.
2) Previous Work/Related Work. What other solutions have been proposed or implemented for this problem? Why are they not good enough? You must prepare the readers to believe that your solution (which you have not yet said anything about) is better than these other attempts. This is also the section where you describe any work that your solution is built on top of. Include references to relevant related work.
(a) Overview of Solution. Consider including a system diagram to provide an over view of your solution. In general, describe in broad terms your project and solution
(b) Main Algorithm or Interesting Details. Either describe the main algorithm in your project or if appropriate, Pick some of the key areas of your project that you are particularly proud of (that were either complex or tricky or just the most interesting to you). Describe in detail your solution to these aspects of your overall problem. Think about someone else trying to implement what you just did, what information would be most useful for them?
4) Results. Describe your results. Please include at least 3-6 screen shots of your results, which highlight the capabilities of your project.
5) Reflections: Perhaps the most important part of your project, this is where you can use a personal voice... reflect on what worked in your project and what did not. What is the big take away...?
6) Future Work. What is the next stage? What didn't you get done that you should have? Now that you're done, what should the next person do to carry on the project? Frequently senior projects are a portion of a larger project, and you have to make sure that your work is understandable by the next person to work on the project.
8) Appendices (as needed) for proofs, user manuals, etc.
Please remember that this is a formal report that will remain in the library after you graduate. As such, it should be written with formal language and clear exposition. This report should demonstrate your mastery of the topic you have chosen for your senior project. It should be something you are proud of in the end.
Two examples of past reports include (but note that I even prefer a more formal research report style):
Tim Hermann's report
James Delos Reyes's report
Several example write-ups from students who wrote 3D video games for their senior projects 476++ write-ups
(instructions initially inspired by Professor Buckalews description)