You are required to grade and provide feedback on both the
.html output and
syntax files for peer homeworks. After each homework, students will be randomly assigned
a homework from a peer and given until the following class meeting to provide peer review.
The ability to read and evaluate the work of others is important and useful. A good
programmer realizes that most coding problems have been solved by others in the past;
the trick is figuring out how to read existing code and apply it to new problems. You
will begin to develop this skill by reading others’ code, evaluating their approach
to problems, providing suggestions, and pointing out when you learned something new.
For each homework assignment, you will receive either 0 or 1 point for your peer review. 25% of your overall course grade comes from evaluation of peer review. Additionally, failure to complete peer reviews may result in points removed from homeworks.
Good peer reviews:
Poor peer reviews:
Homeworks will be evaluated by peers on a 0 to 3 scale. The overall scores are shown below with example situations in bullets below each.
0: Didn’t turn anything in
1: Turned in but low effort, ignoring many directions
.htmlfile did not knit / was not provided
.Rmdfile not provided
2: Decent effort, followed directions with some minor issues
.htmlfile knitted but is poorly formatted
.Rmdsyntax is disorganized or hard to follow
3: Nailed it
These guidelines for reviewing scientific computing code from Andrea Zonca are concise and should be used to direct your feedback.
Coding style should not be the main focus of the review, the most important feedback for the author are high-level comments on software organization. The reviewer should focus on what makes the software more usable and more maintenable.
A few examples:
- can some parts of the code be simplified?
- is there any functionality that could be replaced by an existing library?
- is it clear what each part of the software is doing?
- is there a more straightforward way of splitting the code into files?
- is documentation enough?
- are there some function arguments or function names that could be easily misinterpreted by a user?
The purpose is to improve the code, but also to help the code author to improve her coding skills.
A number of situations may warrant contacting the instructor:
Acknowledgements: These peer review guidelines are adapted from Jenny Bryan’s UBC STAT545 course.