rustlings
rustlings copied to clipboard
IDEA: certificate of completion
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.
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:
I think a unique identifier could be a starting point for proof of authenticity. what else could be done to prove authenticity?
@aracnoid149 I don't think authenticity can be proven, since a user could just cheat and easily look up the solutions online.
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?
@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 Yes that sounds like a good idea
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:
- 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.
- 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.
- It is easy to cheat.
- I hope that our cute final message is sufficient. People can just take a screenshot of it and share it :)
- Sharing your own solutions on Github or a similar platform is much better since people can actually validate that you solved the exercises.