CSC/ECE 517 Fall 2018 E1870 Warn of deadlines and enforce them: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
=Introduction=
=Introduction=
Expertiza supports multi-round peer reviews. Currently, in this situation, student who did not do the previous round peer reviews can still do the subsequent round peer reviews, but will lose about 50 points according to the deduction policy. Therefore, it will be fairer to provide instructor an option to decide whether a student can do the subsequent round peer reviews when s/he did not do the previous round peer reviews.
Expertiza supports multi-round peer reviews. Currently, in this situation, student who did not do the previous round peer reviews can still do the subsequent round peer reviews, but will lose about 50 points according to the deduction policy. Therefore, it will be fairer to provide instructor an option to decide whether a student can do the subsequent round peer reviews when s/he did not do the previous round peer reviews.


=Design Plan=
=Design Plan=
Line 11: Line 12:
==2. Functionality Implementation==
==2. Functionality Implementation==
===Explanation===
===Explanation===
Currently, when students didn't request enough reviews(e.g. Each student is required to do at least 2 reviews, but s/he only request one in the first round), they can still request more reviews in the second round, but will lose points due to lack of first round reviews. Now, we want to add a functionality to split the case. Below is the flow chart that explains the improvement.
Currently, when students didn't request enough reviews(e.g. Each student is required to do at least 2 reviews, but s/he only request one in the first round), they can still request more reviews in the second round, but will lose points due to lack of first round reviews. Now, we want to add a functionality to split the case. Below is the flow chart that explains the improvement. * Note that whether submit or not doesn't matter, as long as request, it counts.


[[File:Diagram.png]]
[[File:Diagram.png]]
===Code Level Design===
===Code Level Design===
1. First, check whether a certain assignment is multi-rounds
Go to expertiza/app/models/assignment.rb, find the following function
<pre>
  def num_review_rounds
    due_dates = AssignmentDueDate.where(parent_id: self.id)
    rounds = 0
    due_dates.each do |due_date|
      rounds = due_date.round if due_date.round > rounds
    end
    rounds
  end
</pre>
check rounds, if >=2, then checkbox will be added.
2. Then, Edit the database
Go to DB, add an attribute named 'is_second_round_allowed_checked' to assignment


3. Finally, add the function
Go to expertiza/app/models/assignment.rb, add a function called 'allow_second_round_review'. When rounds <2, do nothing; else, allow second_round reviews if box checked.


=Test Plan=
=Test Plan=
We plan to write a feature test for the project. Go to expertiza/spec/features folder, add a file named 'Allow_second_round_review'. Below is the details of our test.
==1. Test checkbox(Instructor side)==
==1. Test checkbox(Instructor side)==
1. Log in as instructor
1. Log in as instructor

Revision as of 04:33, 21 November 2018

Introduction

Expertiza supports multi-round peer reviews. Currently, in this situation, student who did not do the previous round peer reviews can still do the subsequent round peer reviews, but will lose about 50 points according to the deduction policy. Therefore, it will be fairer to provide instructor an option to decide whether a student can do the subsequent round peer reviews when s/he did not do the previous round peer reviews.


Design Plan

1. UI Improvement

In assignment#edit page “Review strategy” tab, add a checkbox (e.g., “Allow student to join reviews late”*) to allow instructor to decide whether students can do the second round peer reviews without the first round peer reviews; by default this box is unchecked and it only appears when there are multi-round peer reviews.

  • Before

  • After

2. Functionality Implementation

Explanation

Currently, when students didn't request enough reviews(e.g. Each student is required to do at least 2 reviews, but s/he only request one in the first round), they can still request more reviews in the second round, but will lose points due to lack of first round reviews. Now, we want to add a functionality to split the case. Below is the flow chart that explains the improvement. * Note that whether submit or not doesn't matter, as long as request, it counts.

Code Level Design

1. First, check whether a certain assignment is multi-rounds Go to expertiza/app/models/assignment.rb, find the following function

  def num_review_rounds
    due_dates = AssignmentDueDate.where(parent_id: self.id)
    rounds = 0
    due_dates.each do |due_date|
      rounds = due_date.round if due_date.round > rounds
    end
    rounds
  end

check rounds, if >=2, then checkbox will be added.

2. Then, Edit the database Go to DB, add an attribute named 'is_second_round_allowed_checked' to assignment

3. Finally, add the function Go to expertiza/app/models/assignment.rb, add a function called 'allow_second_round_review'. When rounds <2, do nothing; else, allow second_round reviews if box checked.

Test Plan

We plan to write a feature test for the project. Go to expertiza/spec/features folder, add a file named 'Allow_second_round_review'. Below is the details of our test.

1. Test checkbox(Instructor side)

1. Log in as instructor

2. Navigate to “Manage…”,then “Assignments”

3. Under “Actions”, choose “Edit”

4. Navigate to “Review Strategy”

5. See the checkbox “Allow student to join reviews late”

2. Test task list(Student side)

Case 1: Check the checkbox

1. Log in as student

2. Navigate to “Assignments”

3. Choose an assignment

4. Navigate to “Others’ work”

5. Student cannot do the second review without the first one

Case 2: Uncheck the checkbox

1. Log in as student

2. Navigate to “Assignments”

3. Choose an assignment

4. Navigate to “Others’ work”

5. Student can do the second review without the first one

References

assignments/edit/_review_strategy.html.erb

student_task/list.html.erb

Expertiza in Github

Expertiza documentation

Documentation on Database Tables