Suggestions for clear lab reports in computer science courses

A very short sample lab is in
General advice: In general, your lab should be presented in a self-contained manner, and summarize what you accomplished, what conclusions you drew and why. The lab assignments have questions which were chronologically ordered to indicate how we recommend you accomplish the tasks for the lab, but this is not the clearest way to present most reports. Instead, you should break up your report into logical pieces, and tie the pieces together with an introduction, conclusion, and other helpful comments.

Assume the audience includes people who have taken a similar course but somewhere else. So they haven't read the book, nor have they read the lab description. Your introduction should explain why they should read your report and give a roadmap explaining its structure. Your conclusion should summarize what the reader should have learned. Do not include in your report what you learned from doing it.

It is your responsibility to test your code thoroughly as you write each procedure and to convince the reader that you know all your code works. If your code has a bug, report the bug and explain your testing and what you know about where the bug is in your program. If you fail to report a bug, the grader will assume you either (a) tested poorly or (b) were dishonest in your report. Either way, your grade should be more severely reduced than if you just report your bug.

Lab report DO's and DON'Ts:
More DO's: