CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions

From Expertiza_Wiki
Jump to navigation Jump to search

Introduction

The expertiza project takes advantage of peer-review among students to allow them to learn from each other. To track the review time that each student spend on each submitted resources is meaningful for instructors to study and improve the teaching experience. The previous team working on the project has solved part of such problems by tracking the active time of windows opened from the submitted links by till the window is closed or gives a periodic pop up to ask if the user is still reviewing. And thus records the end time. It is done using mature third-party APIs to record link review time.

In this project, we require to conglomerate the details of each review given by a student on the existing Review Report page. This will ease the task for the instructor to get the insights of a review on one single page in order to grade the student based on his/her review.


To accomplish this goal, here are the general solutions designed and implemented in this project:


  • Designed and implemented toggle view component using Javascript and Ruby to open students’ reviews inside the review report table
  • Used DOM to calculate and display the total time spent on the review per round.
  • Modify Review report (views/review_mapping/_review_report.html.erb) to show the total and detailed time spent on each review submissions.


Flowchart:

Objective of project

Objective 1:

The details of time spent on every assignment is displayed separately on the reviewer report page. As this is inconvenient we have to display all the statistics on the review report page.

Proposed Solution:

  • Addition of one more column to the existing view of review_mapping/_review_report.html.erb called 'Review Details'.
  • Review statistics will include all the statistics for each review done by a student.
  • In this column we will provide each project the student has reviewed and the corresponding time spent on reviewing this project, separated by a ':'. Eg. Fix Import Issues : 15.26 mins.
  • We will do this by getting the reviewer id then using the ResponseMap we will get the ResponseTime using the mapId from the ResponseMap

Files needed to be changed: review_mapping/_review_report.html.erb

Algorithm:

1.Fetch all reviews of student from Participant by providing user_id of student

2.For a review in the reviews list do

   a. Fetch all response maps associations by providing reviewer_id as review.id and reviewed_object_id as the Assignment.id
   b.      Fetch the number of review rounds needed by the assignment from Assignment model
   c.       For each response map in the response map list do
       i.      For each round from 1 to number of rounds do
           1.       Initialize map_total_time=0
           2.       Fetch the response time set from ResponseTime model by providing map_id as map.id and round number
           3.       Initialize a count variable which will keep count of links. count = 0.
           4.       For each link entry in the response time set do
               a.       If current link is the first link being considered do
                   i.      Print team being reviewed name using Team model and id as reviewee_id
                   ii.      Keep an empty space with id as map.id+””+roundNumber for uniqueness
                   iii.      Print the round
               b.      Else
                   i.      Print an empty space
                   ii.      Print an empty space
                   iii.      Print an empty space
               c.      Get the time spent on the link by subtracting start time and end time. Convert the time to mins by dividing by 60.
               d.      Add it to map_total_time which keeps tab of sum of time spent on all links
               e.      Print link time
           5.      Increment count
           6.      Set the value of map_total_time in the block with id=map.id+roundNumber using innerHtml in 4-a-ii