How to teach students not to use other people's work in an assignment or a thesis?
It seems to me that you have an "Academic Integrity" issue as opposed to a "Plagiarism" issue. Academic Integrity covers many areas including:
- Plagiarism
- Collusion
- Fabrication
and so on...
In my personal experience the biggest 'excuse' that students will plead is ignorance. What this causes is the following cycle:
- students submit work
- work is marked
- issues are found
- issues are discussed with student
- student pleads ignorance
- student is educated
- (sometimes) student is allowed to resubmit
The problem here is that education comes after the crime, and any resubmissions can drastically delay students receiving marks and feedback (which feeds into other assignments).
Now I do not have a solution that will stop all cases of academic dishonesty and personally I do not think it is possible. If people want to cheat, they will. The key is to remove the accidental plagiarisms so that the focus is on the intentional cases.
To remove the ignorance excuse the answer is simple: education. Now you are already employing education as your solution, however, you are doing it after the submission. The key is to do it as soon as possible. Personally, I use part of my first tutorial class to teach the students what Academic Integrity is, and then get the students to work through some examples and questions. Lastly, I require them to complete an "Academic Integrity Quiz" which is regulated by our University Library. Before the students can gain access to our assignment submission boxes they MUST have scored 10/10 on that quiz (this is automated). Unlimited attempts are allowed on the quiz as well.
The solution above forces students to learn about Academic Integrity and thereby removes the "I didn't know" (ignorance) excuse.
I hope this helps.
There is likely no silver bullet. However, I have found some traction with aggressively educating students in the first few sessions. (So: this echoes Reid Honan's answer, without depending on the outside-regulated quiz assessment.)
I have a statement on code plagiarism on the syllabus. Note: To my surprise, there was no crystal-clear statement that I could find online as a reference. In some sense this requires me to clarify exactly what will count as plagiarism in the context of my class. I also outline the exact penalties. This is handed out on Day 1 (of course); on Day 2 I verbally quiz the class together. "Is X plagiarism? Is Y? Is Z?" The answer to all is "yes"; include every excuse you've ever heard here.
Since I started this in the last year, it cut my incidences down by about half, especially on the first few assignments. (Previously lots of copying, now none in the first few weeks.) When copying happens, I apply the penalties precisely as stated, and then announce that it happened in the next class meeting (obviously not identifying individual offenders; but use this as a reminder and confirmation that the stated penalties are being applied). I tend to have a few more cases near the end of the semester when a few lagging students become hazy, have fallen behind, and/or get desperate with more challenging work.
I ask my students to read this and paraphrase it as part of the first homework assignment. I have no evidence showing that it reduces the amount of dishonesty, but at least they can't say they didn't know.
https://www.cs.umb.edu/~eb/honesty/