CSE 15L, Winter 2009
Scientific Debugging
Individual Lab Reports
Lab reports are written individually after each lab is finished, unlike the entries in lab notes, which are made collaboratively with a partner during each lab.
See the instructions below for important information about submitting complete lab reports.
How to Write Lab Reports
Your lab report should be well organized and contain a careful and precise explanation of your process in the lab. Unlike your quick, rough lab notes, the report itself should be polished. All reports should do the following:
- Use key terms precisely. Use terms from scientific debugging like hypothesis, prediction, experiment, results, and conclusion, and make sure you clearly understand what they mean. Distinguish between failures and defects. When referring to programming concepts, be strict about your use of terms.
- Tell the whole story. It's common for a first hypothesis to be wrong; don't leave it out! Include it, and explain how you concluded it was wrong. If you had multiple competing hypotheses before conducting an experiment, mention them all. Also describe the intended behavior, and mention how you determined it.
- Tell the story in order. Don't start with the defect; start with the failure, then explain how you uncovered (and removed) the defect. (If you happened to see the defect first, you should still document the failure before fixing it.)
- Summarize raw data. Don't include blocks of code and raw input and output; just explain what you saw that was important. If you spotted a pattern, describe it and illustrate it with an example integrated into your writing.
- Include key details. If you tried different input, how was it different? If you changed code, what did you change, on what lines? If the program behavior or output was wrong, what was wrong with it?
- Convince the reader. Clearly explain your process and reasoning: why did you do what you did, and how did you know what you knew? Support your assertions with evidence: if you claim a bug is fixed, or that the final program works correctly, mention the experiments and results that led to this conclusion. Help the reader believe your claims and agree with your conclusions.
- (Optionally) Reflect on what you learned. If in retrospect you realize you should have done something differently, explain the lesson imparted by your experience.
You may lose points for poor writing, so take the time to distill and clarify your thoughts. Write in complete sentences using correct grammar and spelling. Use the past tense indicative mood ("we did something") rather than, for example, the present tense imperative mood ("do something").
The format is flexible. You can write in narrative paragraphs or use an outline form based on the steps of scientific debugging process, using complete sentences. If you write in narrative form, make sure to break between paragraphs, where each paragraph contains perhaps 3 to 7 sentences on one coherent topic or main idea. In plain text, blank lines make good visual breaks between paragraphs or outline items.
Instructions
- Make sure to include your full name at the top.
- Put the report in plain text in the body of an e-mail message. Please do not attach documents. The subject of the message must be "report N student" where N is the lab number and student is your UCSD account name (the part before
@ucsd.edu
in your UCSD e-mail address.)
- Submit lab reports via e-mail to
cse15L at ucsd.edu
.
-
Lab reports are due by the end of the day (at midnight).
Late submissions will be subject to increasing penalties.