> On the one hand, as we know from the P vs. NP problem (at least if we assume the majority opinion), explaining a solution is much easier than coming up with it... and even easier if they copy from a good student who not only writes good code, but also documents it.
You can ask “tricky” questions that someone who understands the material shouldn't have a problem answering, such as “if the problem required you to also do this, how would you change your code?”.
"I questioned both students and I found that this one couldn't correctly explain how the code works, so I'm sure he didn't write it" is not.
Fair enough. But at least you can give a bad grade for not understanding the course material.
You can ask “tricky” questions that someone who understands the material shouldn't have a problem answering, such as “if the problem required you to also do this, how would you change your code?”.
"I questioned both students and I found that this one couldn't correctly explain how the code works, so I'm sure he didn't write it" is not.
Fair enough. But at least you can give a bad grade for not understanding the course material.