It sounds like the course marking scheme is broken.
In my engineering courses (both as a student and TA), assignments were worth very little, or sometimes not handed in at all, and were instead a tool for the student to learn the coursework. Marks were largely based on quizzes, midterms and finals (usually worth 80 to 90% of the course grade). It's not an ideal solution, as there are skills that cannot be tested in these conditions, but it eliminates the need to spend time on detecting cheating on assignments. Of course, it is important to prevent cheating during examinations, but this is a much more tractable problem.
In my engineering courses (both as a student and TA), assignments were worth very little, or sometimes not handed in at all, and were instead a tool for the student to learn the coursework. Marks were largely based on quizzes, midterms and finals (usually worth 80 to 90% of the course grade). It's not an ideal solution, as there are skills that cannot be tested in these conditions, but it eliminates the need to spend time on detecting cheating on assignments. Of course, it is important to prevent cheating during examinations, but this is a much more tractable problem.