Skip to content

Commit

Permalink
Merge pull request #776 from ossf/academic-use
Browse files Browse the repository at this point in the history
Add lab documentation section on academic cheating
  • Loading branch information
david-a-wheeler authored Feb 4, 2025
2 parents bd56c46 + 8401366 commit 9d44f23
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions docs/labs/create_checker.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ The main sections are:
[Debugging](#debugging))
* [Localization](#localization) (aka translation)
* [Submitting a new or updated lab](#submitting-a-new-or-updated-lab)
* [Academic use](#academic-use)
* [Potential future directions](#potential-future-directions)

## Introduction
Expand Down Expand Up @@ -751,6 +752,31 @@ under the `docs/labs` directory.
Simply fork the repository, add your proposed lab in the `docs/labs` directory,
and create a pull request.

## Academic use

These labs were created for LFD121. However, they can (and are) also used
for other situations, such as for academic use.
We welcome those other uses! This does raise the issue of countering cheating.

We can't prevent all cheating. The answers can be shared among students,
and answers are visible to those who look at its source.
In addition, some learners may be unable to figure out the answer, so we
provide a "give up" button.

However, cheating is fundamentally a lazy approach, and we take steps to
address this.
The "give up" button has a timer, so people can't load the page and
*immediately* give up to see the answer.
When a lab is completed, that is clearly indicated at the bottom.
In English this stamp has the word "Completed" at the bottom.
After that, it has a datetime of the completion time, followed
by a random unique value (a UUID).
That is followed by `(GA)` if the learner gave up in this session.
If two learners have the same random value, then a single lab
session being claimed by more than one learner (thus, there was cheating).
This doesn't detect all cheating, but it does provide a way to detect
some kinds of cheating.

## Potential future directions

Below are notes about potential future directions.
Expand Down

0 comments on commit 9d44f23

Please sign in to comment.