Peer Grading

Peer grading feature at Submitty establishes the concept of students grading other students which was aimed to increase the quantity and diversity of detailed feedback on student assignments and presentations along with facilitating students to see other ways of approaching a problem, and asking important questions about the effectiveness of those alternate methods. The idea of peer grading has been introduced in some e-learning platforms but is still governed by rubrics for evaluation. Submitty brings a fresher perspective to this idea. The concept in itself is revolutionising and brings in the opportunity for peer grader to engage with and analyze work which adds to a part of the learning. Peer grading also eliminates the need for evaluation at scale.


My Name is Harsh Joshi. I am a computer science undergradute from the University of Petroleum and Energy Studies. The project was under the mentorship of Barbara Cutler, Evan Maicus and John Hulton.


Homework Submission, Automated Grading, and TA grading system

GitHub :


Randomized Peer Assignments

Randomized assignments of peer graders in a class was an upgrade from manual csv upload of the peer grading matrix. This feature enables using GUI interface to prepare a random assignment where each student grades n random students (and also receives feedback from n random students).

Bug fix on grading index stats

Upgraded grading index to take peer grading statistics for calculation of Manual Grading total. Fixed bugs involving maximum total for manual grading score and final score.

Stoplights Upgrade

The white, green, yellow, blue, and purple stoplights indicate grading progress per submission. My work included restricting peer graders from accessing non peer stoplights and upgrading stoplights for gradeables with both peer and non peer components.

Grading Statistics

The grading stats on the status page show relevant grading figures including number of students who submitted, number of assignments which have been graded, grading stats by registration, and data on average scores etc. My work included to upgrade grading figures for peer gradeables with access to peer grading stats on student and non student views, and fix bugs on incorrect grading data for gradeables with mix of peer and non peer components.

Options for peer matrix

Peer matrix options allow to configure the peer grading assignments. My work on options for peer matrix included restricting the assignments to each registration section, downloading peer matrix as csv, clearing the peer matrix, and writing feature to enable every student grading every other student.

Introducing peer gradeables on sample course.

Sample course contains sample data which is used for various development purposes including testing. As a part of my work I wrote code to introduce peer gradeables to the sample course.

Refactoring peer grading assignment function.

Optimized and modularized peer grading assignment function to better suit the unit testing needs.

Optimized Queries for peer matrix.

Wrote database queries and server side logic to optimize time take to set the peer matrix via upload csv method. The updated logic uses optimized sql queries along with bulk upload function to reduce the number of server interactions with the database and pushed data at one go.

Randomized peer assignmend in sample course

Implemented the randomized peer assignments logic for the sample peer gradeables in the sample course.


Wrote documentation at for


Reviewed pull request of fellow developers which included PRs on

Future Scope

Peer grading has a lot of scope for future work. Some of the ideas for future work include -

My Experience of GSOC with Submitty

Submitty is a live project and being able to work on a project that is being actively used by hundreds of students and teachers has been fascinating. To work with developers across regions, careers and skillset was equally motivating. Working with developers and mentors at Submitty brought in new perspectives and gave me insights on being a better developer. While I worked at Submitty, I got to experience open source culture from close quarters, work around developing real solutions, introspect my own work and skills, contribute to open source and be a better at work. I enjoyed every bit of it. To put my work right to meet the expectations of the community was challenging and rewarding. Thorough code reviews with more than one pair of eyes looking gave me valuable insights and feedback. Whenever I had slow progress the mentors were extremely helpful and empathetic. From 1v1 meetings to discussions on slack, emails and PR threads, I am grateful for the additional help and support.