How many reviews should I do, and who are going to review my work?
Reviews are assigned randomly; the exact number is defined by the course. Please follow the lecturer’s latest announcements for any special arrangements.
I can’t open the repo or didn’t receive an invite. What should I do?
First, you should confirm that you have been enrolled on Moodle and added to the course’s GitHub organisation. If you are still unable to access the repo, please provide your name, student ID, and GitHub username/email, to the lecturer or teaching team.
Why use GitHub for peer review?
GitHub provides private repositories, standardised issue templates, and an auditable history. This makes it easier to allocate tasks, keep reviewing evidence, and follow up. Becoming familiar with GitHub is also helpful for your future study and work.
Can I comment on a single line or a specific code snippet?
Yes. In the file view, click the line number to get a URL with an anchor like #L42 or #L10-L20; paste that link into the Issue to point precisely. Press the y key on the file page to turn it into a permalink so it stays stable after edits. You can also paste a small snippet in the comment and briefly explain the context and suggestion. (please have check about this, since it’s been a while since I last did some annotations and revisions like this.)
Do I need to run someone else’s code in my local environment?
Usually no——running untrusted code can be risky. If the template or course requires execution, use a safe, isolated environment (e.g., virtual environment or container), and follow the notes and sample data provided by the course. If you prefer not to run the code locally, you can use GitHub Codespaces in the browser. Always remember to follow safety guidance of your courses and avoid running suspicious scripts.
I can’t see other students’ repos. Is that expected?
Yes. Repos are private by default and visible only to the author, assigned reviewers, and the teaching team.
7.2 For Lecturer:
Can we start without having every student’s GitHub username?
Yes. We can directly invite students to the organisation or specific repos by email. They can accept with a GitHub account that has been verified, or sign up during acceptance.
Students report “no access” or can’t open their repo, what should we check first?
In this case, confirm they are in the organisation (no pending invite) and that the invite went to a verified email. If needed, re-send the org/repo invite and add them directly to the repo.
How do we control how many reviews each student gives or each submission receives?
Reviews per student and reviews per submission need to be exposed as parameters in your allocation script. Before full rollout, a dry-run on a small roster is needed to validate workload and connectivity. It’s also recommended to announce this information to all the students via email or posted on the moodle page so that they can check it.
Do we need anonymous peer review on GitHub?
By default, it is not anonymous because usernames are visible. If anonymity is required, use pseudonymous accounts or collect reviews via a separate form and post summaries back to the repo.
After the deadline students keep pushing changes, what version is graded?
By default, grading is based on the version at the stated deadline. Later changes may remain for students to further learning, but they should not affect grading unless your course policy says otherwise.
How do we monitor completion and chase late reviewers?
To monitor the completion states of students, you can periodically query Issue states across repos (open/closed, and checklist progress), generate a completion report, and mail-merge reminders with direct links to each student’s assigned review Issue.
Some students withdrew or never accepted invites, how do we fix lopsided assignments?
You should mark those students inactive and reassign only the edges touching them. Keep all other assignments intact to minimise churn.
What naming and visibility scheme is recommended?
We recommend to use private repos with a consistent pattern (e.g., module123-a1-s0001). Please announce the naming convention in the invite so that students and scripts can locate repos reliably.