CSC/ECE 517 Spring 2019 E1926 Improve self-review: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 100: Line 100:
*app/models/assignment_participant.rb
*app/models/assignment_participant.rb
*app/models/vm_question_response_row.rb
*app/models/vm_question_response_row.rb


*app/controllers/grades_controller.rb
*app/controllers/grades_controller.rb

Revision as of 18:37, 26 April 2019

E1926. Improve self-review, Link peer review & self-review to derive grades

This page provides a description of the Expertiza based Semester project.


About Expertiza

Expertiza is an open source project based on Ruby on Rails framework. The Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.


Problem Statement and Overview

The Expertiza provides an option for students to self-review their submissions. In which, each member of the team gets to evaluate their project on the same criteria as the peer review. However, these scores contribute in no way to calculate the overall score for their assignment. So, we focus on improving the self-review system and to extend its functionality. Some of the objectives we try to achieve for this project are as follows –

  • Provide a formula that takes both the peer review score and self-review score into account for calculating the composite score.
  • The composite score should get higher as the self-review score gets closer to the peer review score.
  • Make sure that the peer review scores are not visible before the self-review submission.
  • Display the composite score on the “View Scores” page.
  • Display the self-review scores in the "View Scores" and heat map of peer-reviews, showing that they are a different type of review.

The need for the self-review section is to know how well the students can judge their work and understand how to evaluate their flaws and rectify them. Also, if they can score themselves close to their peers, then it means that they have good self-assessment skills and they are being honest about what they think of their work.


Current Process

Currently, Expertiza allows students to submit an assignment and provides a link for self-review. Once the self-reviewing is done, the submitted score gets stored in the database but is not used in calculating the overall score of the assignment for the student. Because of this, students can score themselves higher than what they should get. This helps students in no way. So, to make productive use of this score and to help students learn self-evaluating, we have proposed to make some changes in the review score calculation which is explained in the below section.

Proposed Process

The new formula will be devised on the basis of which a new composite grade will be derived. After we made the changes needed, the students will be able to see their self-review score, peer review score and the composite score displayed on the “View scores” page.

After we make the changes needed, we will have a new column for the self-review score along with the peer review score and the calculated composite score. In the same way, we will make some changes to the instructor’s page as well because the instructor should be able to see the self-reviewing score from each member of the team, displayed along with the peer review score for that assignment.

Application Flow

  • The above image shows how the instructor will allow users to give a self-review on the work they have done. The instructor has to go to the review strategy tab while assignment creation to enable the self-review option.
  • User then can see the self-review option on the assignment to do tasks to give a self-review.
  • In the view scores page, a new column showing the self-review scores will be displayed.


Use case

  • Actors:
  1. Instructor: This actor is responsible for creating assignments and adding students to the assignment. 
  2. Student:    This actor is responsible for submitting, self-reviewing and viewing the scores. 
  • Actions
  1. Instructor: Create Assignment, Enable Self-Review.
  2. Student:    Login, Add work and Submit, Submit Self-Review, View Scores.


Formula Proposed

We have to implement a way to combine self-review and peer-review scores to derive a composite score. We have to come up with a formula to derive the composite score as below.

  deviated_score_scale = (100 - abs(self_review_score - mean(all_peer_review_scores)))/100;
  derived_score =  deviated_score_scale * peer review score;

The proposed formula first calculate by how much scale the self-review has deviated from the average peer-review score, the participant got.

Then the derived score can be calculated by multiplying that scale with the actual peer-review score the participant got.


Test Plan

  • Once set up is done, figure out the flow of code and files which would be modified to implement the proposed solution.
  • We shall Design a way to show them in the regular “View Scores” page and the alternate (heat-map) view.
  • Then implement a way to combine self-review and peer-review scores to derive a composite score
  • Implement the functionality in a way that the author(s) should be required to submit their self-evaluation(s) before seeing the results of their peer evaluations.
  • Perform testing using “Cucumber” and “rSpecs”

Files identified to be modified

  • app/controllers/grades_controller.rb
  • app/models/response_map.rb
  • app/models/author_feedback_questionnaire.rb
  • app/models/vm_question_response.rb
  • app/models/review_questionnaire.rb
  • app/models/teammate_review_questionnaire.rb
  • spec/controllers/grades_controller_spec.rb
  • spec/models/assignment_particpant_spec.rb
  • app/models/assignment_participant.rb
  • app/models/vm_question_response_row.rb


  • app/controllers/grades_controller.rb
  • app/models/assignment_participant.rb
  • app/models/response_map.rb
  • app/models/vm_question_response.rb
  • app/models/vm_question_response_row.rb
  • app/views/grades/_participant.html.erb
  • app/views/grades/_participant_charts.html.erb
  • app/views/grades/_participant_title.html.erb
  • app/views/grades/view_team.html.erb
  • app/views/reports/_self_review_report.html.erb

References