ILIAS
release_8 Revision v8.19
|
Calculates peer review distribution (rater to peer assignments) More...
Public Member Functions | |
__construct (array $user_ids, int $num_assignments) | |
ExcPeerReviewDistribution constructor. More... | |
getUserOrder () | |
getPeersOfRater (int $user_id) | |
Get peers of rater. More... | |
Protected Member Functions | |
initDistribution () | |
randomUserOrder (array $user_ids) | |
Random user order. More... | |
Protected Attributes | |
array | $user_ids = [] |
array | $user_order = [] |
int | $num_assignments |
Calculates peer review distribution (rater to peer assignments)
This is a simple algorithm, that ensures that each rater has $num_assignments peers to review and each peer has $num_assignments raters.
It starts by creating a random order of the users. After that it assignes the next $num_assignments users to a rater with index $i ($i+1 to $i+$numassignments) as peers. (Starting back from 0 if the counter exceeds the number of users)
Note that this will not include all theoretical combinations, but the randomization is good enough and the code much easier to maintain.
u0 u1 u2 u3 u4 (raters) u0 2 1 u1 1 2 u2 2 1 u3 2 1 u4 2 1 (peers)
Example above for 5 users and 2 assignments.
Definition at line 48 of file class.ExcPeerReviewDistribution.php.
ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution::__construct | ( | array | $user_ids, |
int | $num_assignments | ||
) |
ExcPeerReviewDistribution constructor.
int[] | $user_ids |
Definition at line 58 of file class.ExcPeerReviewDistribution.php.
References ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution\$num_assignments, and ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution\initDistribution().
ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution::getPeersOfRater | ( | int | $user_id | ) |
Get peers of rater.
Definition at line 104 of file class.ExcPeerReviewDistribution.php.
References ILIAS\LTI\ToolProvider\$key, and ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution\$num_assignments.
ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution::getUserOrder | ( | ) |
Definition at line 94 of file class.ExcPeerReviewDistribution.php.
References ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution\$user_order.
|
protected |
Definition at line 72 of file class.ExcPeerReviewDistribution.php.
References ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution\randomUserOrder().
Referenced by ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution\__construct().
|
protected |
Random user order.
int[] |
Definition at line 82 of file class.ExcPeerReviewDistribution.php.
Referenced by ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution\initDistribution().
|
protected |
Definition at line 52 of file class.ExcPeerReviewDistribution.php.
Referenced by ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution\__construct(), and ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution\getPeersOfRater().
|
protected |
Definition at line 50 of file class.ExcPeerReviewDistribution.php.
|
protected |
Definition at line 51 of file class.ExcPeerReviewDistribution.php.
Referenced by ILIAS\Exercise\PeerReview\ExcPeerReviewDistribution\getUserOrder().