I'm wondering how can a professor encourage students to complete their problem sets on their own in undergraduate classes. I'm not saying that every student cheats off of other students; rather, I'm saying that some, if not most, students free ride and copy the solutions from their peers (or from the Internet). In addition from my experience, I feel as if this problem is more pervasive among the non-science majors/students (at least science majors are given assignments; the number and quality of them and the level of studens' interest to get on with them are spectate issues). I've even heard a professor remark: "since I know most of the uninterested students in the class are going to simply copy off solutions, I won't be giving assignments; the serious students amongst you (who'll go to graduate school) can do assignments over there." Frankly, I was appalled upon hearing this statement.
I come from a college/place where the local cultural norms are such that students don't like to sit down and devote week in and week out on problem sets, and the professors (for the most part) don't make a serious attempt to give problem sets that really consume a student's week or so. I'm sure the professor who'll dare to give a problem set every 3 lectures (as is the norm in most U.S colleges) will be frowned upon by most students.
Given such a context, I am interested to know how can professors, in the larger scheme of things, encourage their students to independently solve problem sets on their own? Also, are there any good strategies that professors can use to make problem sets which the students would eagerly wait to solve week in and week out. I know one can only change the mind set of students from the ground up. But how can professors teaching at the tertiary level cope with such (deeply rooted) problems?