Should I prepare new homework exercises each year, 20% of the final grade is homework? This year I prepare a new course (in programming, but it could be any other course). I spend a lot of effort in creating homework exercises. This is fun, but also very time-consuming.

I wonder if I can use the same exercises next year, when I teach this course again. The main problem is that, once the solutions are out, surely some students next year will be able to get them and copy them. It may be possible to use some automatic plagiarism detection tools, but it is quite difficult and not very reliable.

I believe the copiers will not gain much from copying, since the homework grade is only 20% of the final grade. On the contrary, they will lose since they will be less prepared for the exam, which is 80% of the final grade. My fear is that the temptation to copy will harm these students. So maybe I should create new exercises to avoid the temptation to copy.

On the other hand, the students are grown-ups, if they choose to copy, it is their problem and they should bear the consequences of not knowing the material well enough. Should I work so hard each year, only to protect the copiers from their own faults?
The main dilemma is that the homework is part of the grades, therefore you should prepare a new one each semester. 

I solved this for my programming course in a radical way (after struggling with a similar issue for a few years): I made all homework optional, and only the exams count. I make it very clear that the students will fail if they don't do the exercises (and some prove me right each year which is motivating for the others). Students are getting feedback on their submissions and they can even submit revisions. I'm using the homework results (anonymously) for the course where I'm discussing common errors and best practices. 

What I did instead is to build dependencies in our course management website (in our case Moodle based): The students only get access to the next chapters if they at least submit the mandatory (minimum) exercises. Yes, they can submit crap, but it's hard to evaluate each submission in very little time so I'm willing to accept this loophole, and at least up until now, students haven't used this option.

The second thing I do is have three live programming sessions where the students have to solve little tasks (in general quite simple exercises) without an internet connection. You have to pass all three of them. Since this happens during the semester, they recieve a feedback about their progress quite early. Each test can be repeated once during the semester. 

The combination of thoses measures results in high participation rates and people have no more motivation to copy solutions since they don't have any benefit from it.