In this report, you are to keep track of the time you spend on each problem. Please also keep track of interruptions in your work (e.g., someone came over to talk to you, telephone call, stopped to read email, etc.).
The example shown below has a "who" column for group work, but we will probably not be doing group work this semester. For each assignment, please fill out a table like the following:
Date Who Start Stop Inter Time OnTask Comments 3/23 MW,IS 1:02 1:47 10+5 30 Analysis of Q1 1:47 2:19 10 22 2:33 2:48 15 Got boundary condition wrong. Hmm, misunderstood what Q1 wanted 2:48 3:11 5 23 3/24 MW,LF 10:03 10:10 7 10:10 10:22 12 regression testing (oops, new version didn't quite work on previous test cases) MW,IS,LF 10:20 11:00 10+5+5 20 **Q1 finished** //etc.// Total Time On Task 129 Total Lines of Code 27 Total Lines of Tests 67
Notice in the in the example above that Time on Task is equal to (Stop-Start)-Interruptions.
At the end of the summary, please total up the time spent on the assignment, and also give me an estimate of the total number of new/changed lines of code you wrote. Keep track separately of the number of lines of code and number of lines of tests. You can use the Unix tools diff and wc to help you make these line counts.
You need keep track of time only to the nearest 10 or 15 minutes.
Put in as many comments as you find useful. The goal is that you should be able to look at these notes a week or two later, and say "oh, I remember what went wrong on that problem." (So hopefully you'll solve the same problem more quickly if it comes up again.) I'm particularly interested in finding out what portions of the problems you found difficult, what are typical bugs and errors, etc., and anything you can do to help me out will be appreciated.
Here I've separated out regression testing as a separate activity. Do that if it's significant. (Regression testing is *always* a good idea).
The Development Diary will be graded. If they are missing or unsatisfactory, you will be penalized approximately 10% of the value of the assignment. You will be penalized if you do not include total Time on Task, Lines of Code, and Lines of Tests.