rustlings icon indicating copy to clipboard operation
rustlings copied to clipboard

IDEA: certificate of completion

Open aracnoid149 opened this issue 1 year ago • 6 comments

At the end of the course, a unique number could be generated to identify that the student has completed the course. It could be randomly generated, or generated from a hash of their GitHub username so it is unique to the individual user.

aracnoid149 avatar Jun 14 '23 15:06 aracnoid149

That's a fun idea, but I don't think it'd work very well, since there's nothing proving the authenticity of this certificate. If we're talking about a purely aesthetic thing that you can take a screenshot of and send to your friends and/or social media, I think that could definitely be done :+1:

shadows-withal avatar Jun 14 '23 15:06 shadows-withal

I think a unique identifier could be a starting point for proof of authenticity. what else could be done to prove authenticity?

aracnoid149 avatar Jun 22 '23 03:06 aracnoid149

@aracnoid149 I don't think authenticity can be proven, since a user could just cheat and easily look up the solutions online.

sohang3112 avatar Sep 06 '23 12:09 sohang3112

If we have a purely aesthetic thing, maybe we could have one last exercise where you replace a variable with your name to be used in the certificate, and the program will print out the certificate when it successfully compiles?

cute-catgirl avatar Oct 03 '23 01:10 cute-catgirl

@Boxit379 and @sohang3112 adding a last exercise where it prints the certificate when it successfully compiles would be a good addition as a final exam and graduation. could a final be generated from a random pool of test challenges so as to reduce the probability of cheating?

aracnoid149 avatar Oct 04 '23 22:10 aracnoid149

@aracnoid149 Yes that sounds like a good idea

sohang3112 avatar Oct 05 '23 01:10 sohang3112

I thought about this issue and actually want to resolve it in the next major version 6. But then I found it to problematic for the following reasons:

  1. It can be a privacy issue if we ask the user for their name and then the user uploads the file containing the name without knowing so. People like to share their Rustlings solutions as git repositories.
  2. It is not compatible with our plan to support third-party exercises. If we have it as the last exercise as suggested here, then the final cute message that we show with Ferris (see screenshot) would be redundant. But it we can't remove it because third-party exercises should also get some final message.
  3. It is easy to cheat.
  4. I hope that our cute final message is sufficient. People can just take a screenshot of it and share it :)
  5. Sharing your own solutions on Github or a similar platform is much better since people can actually validate that you solved the exercises.
Spoiler: Screenshot of the final message

image

mo8it avatar Apr 14 '24 19:04 mo8it