How to make students learn prerequisites Throughout this year (at least some of) my students found it hard to follow the theory part of a computational physics course I thought. This was mostly because they lacked the mathematical foundations they should have learned already years ago. 

Since I did not want to lower the course level to that of an introductory course in mathematics, I adjusted it only insofar that I tried hard to simplify the presentation. 
In addition, I offered my help in consultation hours and the possibility to discuss selected exercises in detail during the lectures if I get detailed questions (which I almost never got). Finally, I tried to design exercises in a way which should make them learn basics as well. I also announced very early that knowledge of basics will be a strict requirement for the exam. The students already have a Bachelor degree and should in principle know how to learn from books by themselves. However, many of them preferred to stay idle throughout the year and to wait for the sample solutions I slowly and reluctantly handed out. They then tried to learn those (more or less by heart) instead of learning the methods behind. This happened even though I had announced that this would not be useful, especially because they are allowed to use all written/printed resources.

Now a relatively large number (1/4-1/3) opted out (did not hand in a solution) and will repeat the exam in 2 month. This apparently means that they want to use more time to prepare themselves. Others will speculate that the next exam will be similar (since I thought the course for the first time they did not have any old sample solutions).  

For at least the first group of people the declared goal of making them learn the basics might therefore be reached. However, I would like to achieve this in a less forceful way such that the lectures become more enjoyable for them. So, how can I make them start to learn the the prerequisites early? In a sense I would like to change their general strategy to wait until the end and to solve the problem of completing the exam by learning by heart.

The problem is complicated a bit by the fact that the audience is mixed from different fields with different degrees. 

The obvious solution to improve the teaching of their early math courses is unfortunately not something I can provide without a general strategy change by the University. Obviously I will always try to improve the quality of my own teaching but I do not want to reduce the level of the course to zero. My course already included a brief repetition of required basics.
I think you can't make students learn anything, and it would be especially difficult to make them learn something other than what you are teaching at the moment.  Still, I can think of some things to address the problem (many of which it sounds like you are already doing):


You can make sure that the unprepared students see early on that they are unprepared and liable to fail the course.  This might not motivate them to learn, but it is still a nice thing to do.
You can give exercises that require them to learn prerequisite notions incrementally, giving them hints on where to find information not covered in the lecture. Just don't expect them to learn more than they need for each problem.
At the end of the term, you can make sure not to pass the students who didn't learn the things you said they would need to know in order to pass.  (Otherwise you justify the very behavior that you complain about.)
You can pitch the course at a lower (but still nonzero) level.  In my opinion the only reason not to spend more time on the basics would be if there were a significant number of students who would be bored by this.  But maybe they would appreciate a review anyway.
Instead of changing the course, you could change the course description to try to deter more of the unprepared students.
If the students vary too widely in their backgrounds, you could try to create different versions of the course in future years.