Suggestions for clear reports in computer science courses

A very short sample project report is available entitled Counting Real Roots of Quadratics

General advice

After you have finished solving the problem outlined in the project assignment, you need to write a report that outlines what the problem is, describes your solution, and explains why this is a good solution. This report is similar to papers that you write for other classes in that it should have an introduction, a body and a conclusion.

First, you should select a theme which you view as the most important thing you wish the reader to glean from your report. I.e., try to make some point. Then organize your report to best emphasize that point.

The introduction explains to your readers what the paper is about and why they should read it. It states your theme and also gives a road map explaining the paper's structure. The body presents your solution, along with any code, analysis, or research that you have done. Although most of the assignments present a list of questions that are meant to guide you through the project, you should not use these questions to organize your report. Instead, you should organize it so that you present the material in a logical and coherent manner. Finally, the conclusion should summarize what the reader should have learned. You'll reinforce the theme in the context of the report.

Assume the audience includes people who have taken a similar course somewhere else. This means that they haven't read the book or the project assignment, but that they do know Scheme. If necessary, you may assume the reader has a copy of the book handy so that you can cite it.

Using code in your reports

You will write, test and debug code for all of the projects, and you will often need to put this code in your paper. You want to do this in such a way that your reader can easily understand what the code does and how it works. You also need to convince the reader that the code does work, usually by using a combination of giving a proof and presenting (i.e., describing and giving examples of) your testing.

Project report DOs and DON'Ts