CSE 15L, Winter 2009
Scientific Debugging
Collaborative Lab Notes
Lab notes are made collaboratively with a partner as you work on each lab, and are used later to write more thorough explanation in your individual lab report.
See the instructions below for important information about submitting complete lab notes.
How to Make Lab Notes
Collaborative lab notes for each lab should contain all and only the information you need in order to write your individual lab report. Here are some tips:
- Copy and paste. The idea is to record what you see and what you do. Copy and paste input, output, changes to the code, and so on. Err on the side of including data rather than discarding it, but if you get 20 compiler errors at once, it's sensible to copy only the one you set to work on immediately, then compile again and repeat.
- Record as you go. Don't wait until you've fixed a bug to start recording detail. Record what you do and observe as it happens, whether it's what you expect or not.
- Don't skip steps. Record all your experiments and results, especially those that invalidate a hypothesis, don't immediately eliminate a failure, or just don't go as planned.
- Focus on the objective. In terms of scientific debugging, your notes should reflect documenting the failure, performing experiments, and recording results. The other steps (intended behavior, hypotheses, predictions, and conclusions) happen in your mind, and you will return them later in the lab report when you have time to write carefully.
- Don't write too much. You need to make notes of observations you can't copy and paste, such as "after 10 seconds the program still didn't terminate." But don't try to explain what you're thinking, why you did what you did, or how you interpreted what you saw. (That's for the individual lab report.) Occasional brief notes are acceptable where needed for clarity, but they don't need to be complete sentences. Too much writing will slow you down, and it's important to finish the lab before time runs out.
- (Usually) include your final code. For short programs this is helpful. Programs that are long or made up of many files should not be included in your notes.
More Tips
- Save test input. Keeping input in a file makes it easier to repeat your tests, which is a good idea. It's also good documentation: including test input separate from the output makes your notes easier to understand.
Instructions
- Make sure to include both your name and your partner's name at the top.
- Put the notes in plain text in the body of an e-mail message. Please do not attach documents. The subject of the message must be "notes N student1 student2" where N is the lab number and the last 2 words are the UCSD account names of you and your partner. (The UCSD account name is the part before
@ucsd.edu
in your UCSD e-mail address.)
- Collaborative lab notes are due at the end of each lab. Including your partner in the CC header, submit lab notes via e-mail to
cse15L at ucsd.edu
before you leave.