I’m surprised at how much this article seems to coddle students who plagiarize. I would hope I would have the fortitude to enforce a no-fuss two-strikes rule.
Then again, I bet a large reason why some of these students cheat is because the instructors expect them to produce an obscene amount of work relative to the time they have available. In that case, it really is the instructor’s fault for not respecting the student’s time.
I’d imagine a large portion of the students who cheat don’t think of themselves as cheaters, and so just don’t recognize that that’s what they’re up to. That’s why calling them out and punish them is important, because it makes them realize they’re actually cheating.
When I was at university, a viva was used to mark programming assignments. Students had to explain their logic and code to instructors line by line to get the points. Instructors can probe further to see how well they understand the code they’ve submitted. In effect, you got the marks based on your understanding of your submitted code. It’s relatively labour intensive but it worked with the help of TAs