@@ -763,21 +763,24 @@ and answers are visible to those who look at its source.
763763In addition, some learners may be unable to figure out the answer, so we
764764provide a "give up" button.
765765
766- However, cheating is fundamentally a lazy approach, and we take steps to
766+ However, cheating is fundamentally a lazy approach, and we take some steps to
767767address this.
768768The "give up" button has a timer, so people can't load the page and
769769* immediately* give up to see the answer.
770770When a lab is completed, that is clearly indicated at the bottom.
771771In English this stamp has the word "Completed" at the bottom.
772772After that, it has a precise datetime of the completion time, followed
773- by a random unique value (a UUID).
774- The random value is followed by ` (GA) ` if the learner gave up in this session.
773+ by a random unique value (a UUID), and a hash value computed from the
774+ datetime stamp and random value.
775+ All of this is followed by ` (GA) ` if the learner gave up in this session.
775776If two learners submit labs with the same datetime and random value,
776777then a single lab
777778session is being claimed by more than one learner (in other words,
778779there was cheating).
779- This doesn't detect all cheating, but it does provide a way to detect
780- some kinds of cheating.
780+ Changing the datetime or UUID, without fixing the hash, can also be used
781+ to detect an invalid lab submission.
782+ This doesn't detect all cheating, but these mechanisms
783+ do provide a way to detect some kinds of cheating.
781784
782785## Potential future directions
783786
0 commit comments