Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature request: hash to confirm completion #159

Closed
beanumber opened this issue Sep 14, 2022 · 6 comments
Closed

feature request: hash to confirm completion #159

beanumber opened this issue Sep 14, 2022 · 6 comments

Comments

@beanumber
Copy link
Collaborator

I would love to have any way of verifying that students completed these, even something as simple as this.

I would be cool too if there was a random nonce (? I think I am using this term correctly?) appended, to discourage rampant cheating. For example, if the correct hash for completing the tutorial is:

536c43f3fe936e0804cc5e3b363d2279

Then have the thing randomly generate, say, a four-character hash that can be appended. Then student A will see:

536c43f3fe936e0804cc5e3b363d2279af83

and student B will see:

536c43f3fe936e0804cc5e3b363d22797b2c

That way, I'll still be able to tell that they did it by verifying the first part of the hash, but then if they cheat and text the hash to another student I will know.

@mine-cetinkaya-rundel
Copy link
Contributor

Happy to add hash generation to the tutorials. How does the following generic prompt look?

Screen Shot 2022-09-14 at 12 29 31 AM

And I'm guessing you'd want strip_output = TRUE since the hashes can be quite long -- too long to paste into a form. See https://rundel.github.io/learnrhash/reference/learnr_elements.html for more on that.

As for adding a "nonce", I think that would have to be implemented in learnrhash and then we can use a version of the functions that implements the output. I'm not sure if that's in scope for learnrhash, but I assume it might be. Tagging @rundel to chime in on that.

@beanumber
Copy link
Collaborator Author

That sounds great. I don't actually really care about checking the answers. I'd just like to be able to at least sort of verify that they did it.

@rundel
Copy link

rundel commented Sep 14, 2022

An idea that comes to mind is to modify / extend the encoder_ui() to have an option to include an enter your name / id field (with modifiable text) before the generate button and require an entry before allowing generation to occur. Given how the encoding / hashing is done any small change to the input(s) should comopletely change the hash and make them unique.

@mine-cetinkaya-rundel
Copy link
Contributor

@rundel That sounds good to me.

mamcisaac added a commit to mamcisaac/ims-tutorials that referenced this issue Jul 19, 2023
Before the "Congratulations" page, there is now a "Submit" page that generates a hash that can be submitted.

As per the discussion in OpenIntroStat#159, I modified the encoder_ui to require students to enter a name and ID. This name and ID are then encoded in the hash (as an "identifier" type), so that submitted names and IDs could theoretically be used to track tutorial completion.
mamcisaac added a commit to mamcisaac/ims-tutorials that referenced this issue Jul 19, 2023
mamcisaac added a commit to mamcisaac/ims-tutorials that referenced this issue Jul 19, 2023
Before the "Congratulations" page, there is now a "Submit" page that generates a hash that can be submitted.

As per the discussion in OpenIntroStat#159, I modified the encoder_ui to require students to enter a name and ID. This name and ID are then encoded in the hash (as an "identifier" type), so that submitted names and IDs could theoretically be used to track tutorial completion.
@mamcisaac
Copy link
Contributor

#192 creates the following "Submit" page for all existing tutorials:

Screenshot 2023-07-19 at 8 43 19 AM

This hash can be decoded to something that looks like the following:
Screenshot 2023-07-19 at 8 45 18 AM

This code requires students to enter a name and ID before generating the hash and encodes that information in the hash as a new "identifier" type.

Note that these "identifier" answers could be used to check the submitted names and IDs in an effort to track student progress (e.g., for participation marks).

@npaterno
Copy link
Collaborator

Issue closed with PR 192

OferEngel pushed a commit to OferEngel/ims-tutorials-4-umcg that referenced this issue Jan 17, 2024
Before the "Congratulations" page, there is now a "Submit" page that generates a hash that can be submitted.

As per the discussion in OpenIntroStat#159, I modified the encoder_ui to require students to enter a name and ID. This name and ID are then encoded in the hash (as an "identifier" type), so that submitted names and IDs could theoretically be used to track tutorial completion.
OferEngel pushed a commit to OferEngel/ims-tutorials-4-umcg that referenced this issue Jan 17, 2024
Before the "Congratulations" page, there is now a "Submit" page that generates a hash that can be submitted.

As per the discussion in OpenIntroStat#159, I modified the encoder_ui to require students to enter a name and ID. This name and ID are then encoded in the hash (as an "identifier" type), so that submitted names and IDs could theoretically be used to track tutorial completion.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants