Code Review Studio: A09

Task

Engage in semi-structured software inspection of the code produced by members of your group.

Steps

Individual review [done at home, before lab]

Your TA will divide you into groups of about 4 members each. After the final submission cut-off for the assignment to be reviewed, you will receive an email containing the code of everyone in your group.

You should individually examine the code of the other members in your group, spending 10 to 15 minutes on each program. You do not need to review your own code. For each program, fill out a copy of this Individual Inspection sheet. (I will provide the necessary copies of this document in the lab that precedes the studio lab. However, if you were not present to receive a form, you will have to print your own. If you can't print one, then you can just write your answers out on a blank sheet of paper.)

Your goal in completing to this form to help uncover defects in the program. This requires both reading through the code and running the program. When reading the code, consider whether the code is easy to read. Make note of any particularly nice or ugly sections of code.

When running the program, you want to determine whether it meets the requirements specified by the assignment. The Grading section of the assignment makes for a good checklist.

For A09, you should definitely consider:

Make note of which group you're in (specified in the subject line of the email you received). Bring your completed individual inspections to the studio lab.

Group review [done in lab]

During the studio, you will meet together with your other group members and review the same programs as a group. There are two main roles in this process: Author and Reviewer.

The Author briefly presents (1 to 2 minutes) her code to the group. She should point out any known errors or any elements or features she is proud of. The Author then sits back and quietly observes the inspection process. If the reviewers have any questions, they may ask the author for clarification.

All other members of the group play the role of Reviewer, examining and providing feedback on the Author's code. One Reviewer also fills the role of the Recorder by recording the group's comments and conclusions on the Group Inspection sheet. (I will provide copies of this document in lab.)

The group should go through the Group Inspection sheet, answering each question as a group. To do this, they should present their individual reviews and comments to each other and discuss any variations in ratings until the group agrees on a rating. The group should inspect the code or run the program together, as necessary.

Once the inspection is complete, the Author may ask any questions she has regarding the review.

During the studio, you should play each role at least once in a different review: Author, Recorder, and general Reviewer.

What to submit

Turn in all your Individual Inspection sheets and your Group Inspection sheets to me before you leave lab.

Based on your group's feedback, you may then resubmit the assignment.

Grading [3 points]

You must be present in lab to receive any points for the studio session. (If you can't make it, you need to let me know before lab starts--the earlier the better.)

2 - Individual Inspection sheets
You completed an Individual Inspection sheet for each other person in your group before coming to lab.
1 - Group Review sheet
You adequately participated in the group review and filled the Recorder role at least once (if possible).

FAQs

Will my grade be affected by what my group says about my code?
No.
I found some bugs in my code. Can I fix them and send a new version of my file to my group member to review?
Please don't do this. A group member may have already reviewed your code. If they don't choose to "re-review" your new version, it means that the group may then have reviews of different versions of the code. This will make the group session more difficult when you need to compare and consolidate all of your reviews.
One of my group members didn't put their name on their program. How do I record their name on my inspection sheet?
You can just put their UH username (the first part of the class name) on the sheet instead.