CSC/ECE 517 Fall 2018/E1872 Track Time Students Look At Other Submissions: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 29: Line 29:


== Objective of project ==
== Objective of project ==
[[File:Review_time_flowchart_123.png]]
 


'''Objective 1:'''
'''Objective 1:'''
Line 41: Line 41:
* 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.
* 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
* 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:
Files needed to be changed:

Revision as of 18:21, 6 December 2018

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


Objective 2:

Implement the auto-save feature after a fixed interval of time. Currently in case the student has started reviewing the assignment and if the browser crashes or the reviewer logs out without saving then the entries for the files are marked with an end time of null. After the student again starts reviewing the assignment all the records that are marked with the end time of null are deleted from the database. Since this is very inconvenient for the reviewer, we have to implement the feature of auto-saving the responses so that in case of unexpected logout the data will not be lost.

Proposed Solution:

  • Change the record_end_time function in the response_times_controller.rb to record the end times after every set period of time.
  • set_interval method in jquery that will call the record_end_time method to set the end time on each record.
  • For each time the reviewer starts a review, it will check whether a previous record for this review already exists in the database. If it does exist then it will update the end time of this record else it will create a new record for this review.


Files need to be changed: /controllers/response_times_controller.rb