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.  The introduction explains to your readers what the paper is about and why they should read it.  It 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.

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, although you may assume that they have 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 your testing.


Project report DOs and DON'Ts