Closed cafce25 closed 2 years ago
In general, for practice exercises, if people want to cheat, we let them cheat :). In the end you only diminish your own experience/self with this.
☝️ Unfortunately, it is not doable to prevent people from cheating (e.g. they could look up an example solution online anyway if they want to). So I'd also argue that: just let them cheat. They don't gain anything from it but that's their choice.
I am not even convinced it is "cheating" if it solves the problem. Learning how to solve problems with the tools available, even if that solution is unexpected, gives experience in problem solving. Hopefully it leads to also knowing when that is the better solution, why it may be sub-optimal, etc.
So "cheating" may not even be applicable here. I do not believe that the OP suggested it was cheating though. Only that a tooling that is provided, perhaps unintentionally, may be used to solve the problem outside of what might be the expected bounds of the exercise.
I did find it interesting that the word solve is quoted. If it does not solve the problem, then the tests should indicate that through a failure reporting. Otherwise it really is solving the problem presented.
@kotp That's precisely the point the instructions state: "Implement a binary search algorithm.", which my iteration 1 does not, it is merely using one already implemented in libc which then in turn would indicate missing tests.
That being said I agree with the overall sentiment of let everybody use whatever solution they can come up with. To be honest hearing everyones opinion on this was my main motivation to raise this.
"implement" defined as "put to use". If it said "write" then I would fully agree with that. Yet, we understand that the intention is to write it yourself. I bring this up during mentoring, while allowing that we have "put to use" what was needed to solve the problem.
Implement: "A means of achieving an end; an instrument"
Because the tests are written in C the final binary has to be linked against libc, it is therefore possible to use C-functions like
bsearch
etc to 'solve' the exercises see iteration 1 of mybinary-search
solutions.I'm not at all sure how this should be handled here is the ways I can think of: