When teaching 250 students in the same subject, knowing each student can be quite difficult. In smaller classes, it may be possible to learn enough through classroom interaction that when assessing the assignments it may be easy to tell if it is their work or not. For example, if a student can never form a coherent argument when asked in class, but that same student submits extremely high quality work, the teacher might want to dig a little deeper to see if the student is just better at writing or if they are hiring a ghost writer to produce their reports for them. However, in large classes, there is too little interaction with each student to form a strong opinion of everyone. Those who can 'hide' in class are the least likely to be 'caught.'

I see one option as incorporating an oral exam into the overall mark and using that mark as a basis from which to judge the student's future work. It's not perfect but it's something. One problem is that with 250 students, oral exams end up consuming so much class time that little time remains for lectures.

Running through something like TurnInIt will only catch if they are taking from an existing work but it will clearly not catch ghost writing.

What are the most effective ways of verifying authenticity of student assignments?