CSC/ECE 517 Fall 2017/E17A1 Expert Review.rb: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
 
(26 intermediate revisions by 4 users not shown)
Line 3: Line 3:
= Introduction =
= Introduction =


=== Expertiza ===
[http://expertiza.ncsu.edu/ Expertiza] is an open source project based on [http://rubyonrails.org/ Ruby on Rails] framework. The Expertiza project is software to create reusable learning objects through peer review. It is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities. It also supports team projects, and the submission of almost any document type, including URLs and wiki pages. Expertiza enables the instructor to create new and customize existing assignments. It also enables the instructor to create a list of topics the students can sign up for as part of a project. Students can form teams in Expertiza to work on various projects and assignments. 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 project is software to create reusable learning objects through peer review. It is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities. It also supports team projects, and the submission of almost any document type, including URLs and wiki pages. Expertiza enables the instructor to create new and customize existing assignments. It also enables the instructor to create a list of topics the students can sign up for as part of a project. Students can form teams in Expertiza to work on various projects and assignments. Expertiza supports submission across various document types, including the URLs and wiki pages.


=== Existing Limitations ===
= Existing Limitations =
*Currently, the functionality of calibration is limited. It does not support varying-rubric-by-round feature.
*Currently, the functionality of calibration is limited. It does not support varying-rubric-by-round feature.
*For student side, there is no way to notify for an author to tell that a particular review that they received was submitted by an expert.  
*For student side, there is no way to notify for an author to tell that a particular review that they received was submitted by an expert.  
*Moreover,if an expert (instructor or TA) has reviewed an assignment, the students should be able to see how that expert rated the assignment, just like they can see calibration results for calibrated assignments by clicking on the “Show calibration results” link.
*Students are not able to see how an expert has rated the assignment, they can only see calibration results for calibrated assignments by clicking on the “Show calibration results” link.


=== Tasks ===
= Tasks =
*Change in DB Schema
*Change in DB Schema
**“is_calibrated” field in assignment table to “has_expert_review”
**“is_calibrated” field in assignment table to “has_expert_review”
**“calibrate_to” field in response_map table to “expert_review_to”
**“calibrate_to” field in response_map table to “expert_review_to”
*User interface changes
*User interface changes
**Original interface
[[File:Rsz 1old calibration page.png|1000px|Updated]]
[[File:Rsz_old_show.png|1000px|Updated]]
[[File:Rsz_GeneralTab.png]]
**Instructor side
**Instructor side
***In assignment setting page (“General” tab), change the checkbox title from “Calibrated peer-review for training?” to “Add expert peer review?”
***In assignment setting page (“General” tab), change the checkbox title from “Calibrated peer-review for training?” to “Add expert peer review?”
***When instructor clicks that checkbox, there will be a new tab named “Calibration”. Change the tab name from “Calibration” to “Expert review” on the assignment setting page
***When instructor clicks that checkbox, there will be a new tab named “Calibration”. Change the tab name from “Calibration” to “Expert review” on the assignment setting page [[File:Rsz_NewGeneral.png‎]]
**Student side
**Student side
***Change the link title from “show calibration results” to “show expert peer-review results”
***Change the link title from “show calibration results” to “show expert peer-review results”[[File:Rsz_new_show.png|1000px|Updated]]
Original:
***Change the title in “response/show_calibration_results_for_student.html.erb” to start with “Expert review comparison report for”[[File:New_expert_review_page.png|1000px|Updated]]
[[Image: Old_Show_17a1.png]]
***Change the title in “response/show_calibration_results_for_student.html.erb” to start with “Expert review comparison report for”
*New features
*New features
**Let expert review support the vary-rubric-by-round functionality
**Let expert review support the vary-rubric-by-round functionality
Line 35: Line 36:
**
**


=== Solution ===
= Proposed Solution =
==== Change in database ====
'''Change in database'''
The following schema changes will be implemented using a new migration file:
The following schema changes will be implemented using a new migration file:
* “is_calibrated” field in assignment table to “has_expert_review”
* “is_calibrated” field in assignment table to “has_expert_review”
* “calibrate_to” field in response_map table to “expert_review_to”
* “calibrate_to” field in response_map table to “expert_review_to”


==== Change in User interface ====
'''Change in User interface'''
The following files will be edited to reflect the changes in user interface as mentioned in tasks:
The following files will be edited to reflect the changes in user interface as mentioned in tasks:
#assignments/edit/_calibration.html.erb
* #assignments/edit/_calibration.html.erb
#response/show_calibration_results_for_student.html.erb
* #response/show_calibration_results_for_student.html.erb
#student_review/_responses.html.erb
* #student_review/_responses.html.erb
#student_review/list.html.erb
* #student_review/list.html.erb
#assignments/edit.html.erb
* #assignments/edit.html.erb
= Use Case Diagram =
[[File:Rsz_expertiza_uml-1.png]]
 
*Instructor and TAs are the "Experts" that can review the assignment.
*Multiple experts should be able to review the same assignment.
*When a student views the review, student should understand whether the review was made by an expert or a student.
 
=Major changes performed=
*app/controllers/response_controller.rb:
**Method: show_calibration_results_for_student
**Fetching all expert reviews performed for the respective assignment and respective team instead of fetching only instructor's response.
*app/assignments/edit/_expert_review.html.erb
**Showing multiple rounds of View/Begin review as per the current round and number of reviews already done by the expert (as it happens for students).
*app/views/response/show_expert_review_results_for_student.erb
**Showing calibrated response to students who have reviewed the assignment with responses of multiple experts for a particular round.
*app/views/student_review/_responses.html.erb
**Showing links for calibrated result for each round.


= Test Plan =
= Test Plan =
Line 60: Line 78:
* Test multiple expert reviews by submitting multiple reviews when logged in as an instructor or TA for the same assignment.
* Test multiple expert reviews by submitting multiple reviews when logged in as an instructor or TA for the same assignment.
* Also test the vary-rubric-by-round functionality.
* Also test the vary-rubric-by-round functionality.
=== New Test ===
New tests will be written to test the new features added, like :
* assignment should support multiple expert review.
* current assignment should support vary-rubric-by-round.
=Links=
1. Pull request - https://github.com/expertiza/expertiza/pull/1114
2.Video Link - https://youtu.be/ApeQs7C8RFk

Latest revision as of 08:17, 6 December 2017

This wiki page is the description of the E17A1 semester project - Let experts as well as students do reviews - for Fall 2017, CSC/ECE 517.

Introduction

Expertiza is an open source project based on Ruby on Rails framework. The Expertiza project is software to create reusable learning objects through peer review. It is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities. It also supports team projects, and the submission of almost any document type, including URLs and wiki pages. Expertiza enables the instructor to create new and customize existing assignments. It also enables the instructor to create a list of topics the students can sign up for as part of a project. Students can form teams in Expertiza to work on various projects and assignments. Expertiza supports submission across various document types, including the URLs and wiki pages.

Existing Limitations

  • Currently, the functionality of calibration is limited. It does not support varying-rubric-by-round feature.
  • For student side, there is no way to notify for an author to tell that a particular review that they received was submitted by an expert.
  • Students are not able to see how an expert has rated the assignment, they can only see calibration results for calibrated assignments by clicking on the “Show calibration results” link.

Tasks

  • Change in DB Schema
    • “is_calibrated” field in assignment table to “has_expert_review”
    • “calibrate_to” field in response_map table to “expert_review_to”
  • User interface changes
    • Original interface

Updated Updated

    • Instructor side
      • In assignment setting page (“General” tab), change the checkbox title from “Calibrated peer-review for training?” to “Add expert peer review?”
      • When instructor clicks that checkbox, there will be a new tab named “Calibration”. Change the tab name from “Calibration” to “Expert review” on the assignment setting page
    • Student side
      • Change the link title from “show calibration results” to “show expert peer-review results”Updated
      • Change the title in “response/show_calibration_results_for_student.html.erb” to start with “Expert review comparison report for”Updated
  • New features
    • Let expert review support the vary-rubric-by-round functionality
    • Support multiple expert reviews (Both TAs and instructors could do expert reviews)
  • Tests
    • Create expert_review_spec.rb file in spec/features folder
  • Additional minor changes
    • Reflect changes in DB schema at all places, including tests.
    • Change the partial file name from “_calibration.html.erb” to “_expert_review.html.erb”
    • Rename “response/show_calibration_results_for_student.html.erb” to “response/show_expert_review_results_for_student.html.erb” and also change other call sites

Proposed Solution

Change in database The following schema changes will be implemented using a new migration file:

  • “is_calibrated” field in assignment table to “has_expert_review”
  • “calibrate_to” field in response_map table to “expert_review_to”

Change in User interface The following files will be edited to reflect the changes in user interface as mentioned in tasks:

  • #assignments/edit/_calibration.html.erb
  • #response/show_calibration_results_for_student.html.erb
  • #student_review/_responses.html.erb
  • #student_review/list.html.erb
  • #assignments/edit.html.erb

Use Case Diagram

  • Instructor and TAs are the "Experts" that can review the assignment.
  • Multiple experts should be able to review the same assignment.
  • When a student views the review, student should understand whether the review was made by an expert or a student.

Major changes performed

  • app/controllers/response_controller.rb:
    • Method: show_calibration_results_for_student
    • Fetching all expert reviews performed for the respective assignment and respective team instead of fetching only instructor's response.
  • app/assignments/edit/_expert_review.html.erb
    • Showing multiple rounds of View/Begin review as per the current round and number of reviews already done by the expert (as it happens for students).
  • app/views/response/show_expert_review_results_for_student.erb
    • Showing calibrated response to students who have reviewed the assignment with responses of multiple experts for a particular round.
  • app/views/student_review/_responses.html.erb
    • Showing links for calibrated result for each round.

Test Plan

  • Existing tests should be changed according to changes in database schema and user interface.
  • A new test file expert_review_spec.rb will be created to unit test the changes with the following steps:
  • Log in using instructor's or teaching assistant's credentials.
  • General tab should have the checkbox titled 'Add expert peer review?'
  • Click on the checkbox.
  • There should be a tab "Expert review" on the assignment setting page.
  • Log out and log in back using student's credentials.
  • There should be a link titled 'show expert peer-review results'
  • Test multiple expert reviews by submitting multiple reviews when logged in as an instructor or TA for the same assignment.
  • Also test the vary-rubric-by-round functionality.

New Test

New tests will be written to test the new features added, like :

  • assignment should support multiple expert review.
  • current assignment should support vary-rubric-by-round.

Links

1. Pull request - https://github.com/expertiza/expertiza/pull/1114 2.Video Link - https://youtu.be/ApeQs7C8RFk