Debugging log
Throughout this course you will be working on open-ended and difficult to solve problems. You will be using the scientific method to solve these problems. The basic steps are:
- Formulate a goal
- Hypothesize how to achieve the goal
- Test the hypothesis
- Analyze the results
These problems are hard and each person will have a unique way to solve each problem. Since each person will have different goals, hypotheses, and tests, you will have to help your instructor understand your solutions. For this purpose, you will need to keep a debugging log.
The log should contain enough information so that another well-informed programmer could replicate your steps in solving the problem. You should include:
- Approximate time you made the entry
- The goal of the step, if not clear from previous entry
- Observations and notes about the current state
- Hypothesis of the resolution
- Description of the change
- The results of the change
Here are some example tasks you will need to log. You will find more as your proceed in the course.
- Steps to reproduce the issue
- Simplifications used in test cases
- Adjustments to data collection methods
- Steps used to verify or invalidate each hypothesis
- Changes for correcting the actual bug