PSP Exercise

Completing the Time Recording Log Form

Objective

Instructions
  1. Review the Instructions for the Time Recording Log.
  2. Obtain blank copies of the form you need.
  3. Read the attached Scenario that describes the work of Erik, a student completing a class programming assignment.  As you read and interpret the scenario, record the data in the appropriate places in the Time Log. If you are uncertain how to fill in the forms, refer to the form instructions or consult the instructor.
Unit Development Scenario


Erik begins work on Program 2 [23:50]. He reads the Program 2 instructions and prints the required forms. He carefully examines the specifications to determine if any are missing. He fills out as much of the forms as he can and guesses the program will take him 45 minutes. He prints a copy of the program specifications so that he can take them to bed.

Upon laying down Erik begins designing the program [0:04]. He haphazardly writes pseudocode on a scrap of paper. Erik finishes the basic algorithm and begins to write some basic test cases running through them in his head to determine if they are going to work as expected. Erik falls asleep [0:31].

Erik wakes up in a daze. It's 6:30. The program is due in a few hours. Erik downs a Monster Khaos Energy(tm). While consuming his beverage Erik realizes while he was sleeping his subconcious discovered a problem in his design. He goes to his desk and gets to work [6:37]. Rather than redesign the entire algorithm Erik focuses on the specific part that he suspects is incorrect. He repairs the algorithm, but since he's in a rush he doesn't have time to trace through the entire program to see if his repair is consistent with everything else.  "It should work out," he thinks to himself. [6:55] Not having time to cook breakfast, he puts a frozen waffle in the toaster.  Shoveling down the waffle, he fires up his computer and starts typing code in the editor [6:59]. Not fully awake yet he makes six typos which he corrects immediately.  Erik finishes typing the code and and gives it a quick read-through for any obvious mistakes. In his urgency to finish, he decides it's good enough [7:14]. He goes the bathroom and washes his face with a hot washcloth to wake up.  Back at his computer [7:20] he compiles and discovers he has dropped a semi-colon and mistyped one of the identifier's names [7:25]! Quickly fixing these two errors he compiles again, cleanly this time [7:26].  Erik runs around the room, exuberant.

Erik starts using his IDE to construct tests [7:29]. He receives an Instant Message from Jeff. Jeff jokes with Erik that Erik probably just started his program. Erik, infuriated, brags how his algorithm is only ten lines long. Erik continues working on his tests [7:31]. Erik finishes writing his tests [7:39] and runs them.  The program crashes. He realizes that his dawn design repair is flawed. He begins to fix the algorithm he constructed earlier [7:40]. After making the needed fix, Erik compiles cleanly and runs his tests again [7:46]. This time the program doesn't crash, but produces the wrong results.  The cause is obvious; he reversed two print statements when he was entering the code. The mistake is easily fixed. He runs the tests again and this time everything seems to work [7:50]. Erik sends an IM to Jeff to brag about his success.  His program size is 14 LOC.



Document History
4/8/11  JD  Initial Release