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

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(29 intermediate revisions by 2 users not shown)
Line 4: Line 4:


__TOC__
__TOC__


===About Expertiza===
===About Expertiza===


[http://expertiza.ncsu.edu/ Expertiza] is an open source project based on [http://rubyonrails.org/ Ruby on Rails] framework. 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.
 
[http://expertiza.ncsu.edu/ Expertiza] is an open source project based on [http://rubyonrails.org/ 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.
 
 
===Team and Resources===
 
* Team Members: Shraddha Bhadauria, Akhil Pabba, Rahul Sethi
* Pull Request: https://github.com/expertiza/expertiza/pull/1462
* Screencast Video: https://drive.google.com/file/d/1wnYxQxETkZM0yU83M80QYGNZkJ7lsIEq/view?usp=sharing
* Code Flow Presentation: https://drive.google.com/file/d/1XE7OK1Vh67WFe0SDAsp3ADJhPA_eu3bA/view?usp=sharing
 
===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.
 
 
===Code Changes Flow===
 
 
[[File:E1926_code_flow.png]]
 
 
===Previous Process===
 
 
Previously, Expertiza allowed students to submit an assignment and provides a link for self-review. Once the self-reviewing was done, the submitted score gets stored in the database but was 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 made some changes in the review score calculation which is explained in the section below.
 
===New Process===
 
We derived a new formula that takes into account the self-review score and calculates a composite score, which will be the student's final score. After we made the changes needed, now the students are able to see their peer review score, Final score and the Final derived peer review score displayed on the “View scores” page.
[[File:E1926_scr_1.jpg]]
 
These scores will also be reflected in the "stats" as shown below
 
[[File:E1926_scr_2.jpg]]
 
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===
===Application Flow===


[[File:E1799_design_1.jpg]]
 
[[File:E1926_Flow_1.jpg]] [[File:E1926_Flow_2.jpg]]


*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.
*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.
Line 21: Line 69:
===Use case===
===Use case===


[[File:E1799_design_2.jpg]]
 
[[File:E1926_use_case.jpg]] [[File:E1926_use_case_2.jpg]]


*Actors:
*Actors:
Line 30: Line 79:
*Actions
*Actions
   1. Instructor: Create Assignment, Enable Self-Review.
   1. Instructor: Create Assignment, Enable Self-Review.
   2. Student:   Login, Add work and Submit, Submit Self-Review, View Scores.
   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 with the help of research paper: https://www.ojs.unisa.edu.au/index.php/atna/article/viewFile/343/258.
 
  SAPA_Factor = sqrt(Self-ratings for individual team member / Average of ratings for the individual by peer team members)
  derived_score =  SAPA Factor * Average of ratings for the individual by peer team members;
 
===Test Plan===
 
 
*Now that the set up is done, to test this, you create 6 students and 2 assignments.
*One assignment has self-review enabled and the other assignment has self-review disabled.
*Then student should submit the assignments and the self-review should be done for the required assignment.
*Try giving same peer-review scores for both assignments and you should see the final score differs accordingly with the self-review score for one assignment but stays the same for the other.
*You should be able to see the final scores for any student matching to the proposed formula.
*Perform testing using “Cucumber” and “rSpecs”
 
===Files modified===
 
 
*app/controllers/grades_controller.rb
*app/models/assignment_participant.rb
*app/models/author_feedback_questionnaire.rb
*app/models/review_questionnaire.rb
*app/models/response_map.rb
*app/models/vm_question_response.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
*spec/controllers/grades_controller_spec.rb
*spec/models/assignment_particpant_spec.rb
 
===References===
 
 
*https://github.com/expertiza/expertiza
*https://ruby-doc.org
*https://www.softwaretestinghelp.com/cucumber-bdd-tool-selenium-tutorial-30/
*https://www.tutorialspoint.com/cucumber/cucumber_overview.htm
*https://www.toolsqa.com/cucumber-tutorial/
*http://rspec.info
*https://github.com/rspec/rspec-rails
*https://www.tutorialspoint.com/rspec/
*https://blog.teamtreehouse.com/an-introduction-to-rspec
*https://semaphoreci.com/community/tutorials/getting-started-with-rspec

Latest revision as of 15:23, 6 May 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.


Team and Resources

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.


Code Changes Flow


Previous Process

Previously, Expertiza allowed students to submit an assignment and provides a link for self-review. Once the self-reviewing was done, the submitted score gets stored in the database but was 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 made some changes in the review score calculation which is explained in the section below.

New Process

We derived a new formula that takes into account the self-review score and calculates a composite score, which will be the student's final score. After we made the changes needed, now the students are able to see their peer review score, Final score and the Final derived peer review score displayed on the “View scores” page.

These scores will also be reflected in the "stats" as shown below

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 with the help of research paper: https://www.ojs.unisa.edu.au/index.php/atna/article/viewFile/343/258.

  SAPA_Factor = sqrt(Self-ratings for individual team member / Average of ratings for the individual by peer team members)
  derived_score =  SAPA Factor * Average of ratings for the individual by peer team members;

Test Plan

  • Now that the set up is done, to test this, you create 6 students and 2 assignments.
  • One assignment has self-review enabled and the other assignment has self-review disabled.
  • Then student should submit the assignments and the self-review should be done for the required assignment.
  • Try giving same peer-review scores for both assignments and you should see the final score differs accordingly with the self-review score for one assignment but stays the same for the other.
  • You should be able to see the final scores for any student matching to the proposed formula.
  • Perform testing using “Cucumber” and “rSpecs”

Files modified

  • app/controllers/grades_controller.rb
  • app/models/assignment_participant.rb
  • app/models/author_feedback_questionnaire.rb
  • app/models/review_questionnaire.rb
  • app/models/response_map.rb
  • app/models/vm_question_response.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
  • spec/controllers/grades_controller_spec.rb
  • spec/models/assignment_particpant_spec.rb

References