CSC/ECE 517 Fall 2016/E1705. Tracking the time students look at the others' submissions: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 5: Line 5:
#It might expose edge cases not previously thought of
#It might expose edge cases not previously thought of
#It helps instructors review a project faster
#It helps instructors review a project faster
#It emphasizes the importance of writing in such a way that it's easy for the third person to read and understand
#It emphasizes the importance of writing in such a way that it's easy for a third person to read and understand
In order to help them to do this, we have to be able to track the time that students spend observing the other's work. Unfortunately, most peer assessment systems do not manage the content of students’ submission within the systems. They usually allow the authors submit external links to the submission, which makes it difficult for the system to track the time that the reviewers spend on the submissions. The purpose of the project is to be able to successfully track the time that each student spends on peer reviewing the work.
In order to help them to do this, we have to be able to track the time that students spend observing the other's work. Unfortunately, most peer assessment systems do not manage the content of students’ submission within the systems. They usually allow the authors submit external links to the submission, which makes it difficult for the system to track the time that the reviewers spend on the submissions. The purpose of the project is to be able to successfully track the time that each student spends on peer reviewing the work.



Revision as of 04:59, 11 November 2016

Introduction

Purpose

Expertiza provides the functionality of peer reviews. The best advantage of peer review for the students is that it allows them to learn from each other work.

  1. It provides a dual benefit for both the reviewer and the writer as they are introduced to a different set of eyes on the code
  2. It might expose edge cases not previously thought of
  3. It helps instructors review a project faster
  4. It emphasizes the importance of writing in such a way that it's easy for a third person to read and understand

In order to help them to do this, we have to be able to track the time that students spend observing the other's work. Unfortunately, most peer assessment systems do not manage the content of students’ submission within the systems. They usually allow the authors submit external links to the submission, which makes it difficult for the system to track the time that the reviewers spend on the submissions. The purpose of the project is to be able to successfully track the time that each student spends on peer reviewing the work.

What needs to be done

  1. Design and implement a solution that handles the use case, where students’ submissions are hosted on an external website e.g. GitHub and Youtube use cases
  2. Modify the reviewer interface in expertiza to accommodate your solution e.g., change the link that opens submitted files in views/response/_submitted_files.html.erb so that when the user clicks on the link, it opens a popup window that shows the submission, record time when it opens and closes.
  3. Design a database schema for logging the time a reviewer spend on a submission
  4. Modify Review report (views/review_mapping/_review_report.html.erb) to show the time spent on each submission

Approach

Types of submissions

Based on each submission type, we need to handle the tracking functionalities differently. Generally, the submission links can be one of the following:

  1. GitHub project/repository link , GitHub Pull requests link or Deployment link
  2. Youtube videos
  3. Wikipages
  4. Text document/doc/pdf/ppt
  5. Images - png/jpg
  6. Downloadable contents


Steps

On clicking a submitted link, a new window will pop-up that will keep track of the time spent on that new window. This can be a link to any of the above-mentioned submissions. A possible solution is to embed the submissions (done on an external website) within the peer assessment system itself using e.g., IFrame or Embed tag.
The following are the steps that will be followed to keep track of the time:

  1. Start the time when a user clicks on the submitted link (a new window pops-up)
  2. We'll pause the time in the following cases:
    1. User idle for more than 30sec
    2. User switched tabs
    3. User minimized the window
  3. Resume time when:
    1. User switches back to this window
    2. User performs some activity after being idle
  4. Time is saved into the database when the user saves, submits review or closes the popped-up window
    1. If the corresponding entry already exists, the value of the time column is updated otherwise it is created.

Behaviour Diagram :

Edge cases

Edge cases that need to be handled :

  1. What happens when the user refreshes the window : It will set the timer back to 0 and the time spent on that page will be reset.
  2. What happens when the user downloads the submission: If the user downloads any solution and then opens it in his/her local machine, then the time spent on that can't be tracked.

Database Design

The following table review_submission_timing will be created to implement a solution for this project: