I have always been on a courses where lecturer teaches something and then gives the exercises on that subject. Is that a better way than reveal all exercises when the course begins? I mean, why I should always have only one week time to write solutions and then wait until the next set is revealed? I understand that this gives equal amount of time to think every problem but is it always necessary, as people learns by various speed?
The instructor may not want the students to work far ahead in the class.
If the student does go on ahead and is doing exercises incorrectly (due to lack of knowledge of the subject), then it is may be harder for the student to learn the subject matter correctly due to the bad habits he or she has developed.
Because the time span, and tedium, spent on the subject matters. Cramming, trying to learn as fast as possible, on the other hand does not work well. Our brain just values things by the amount of time and effort we spent on learning it. But also because of practical time constraints.
For example repetition works best if you repeat over many sessions. If I release all exercises in all go I have no way to control over repetitions, you can do them all in one go, which defeats the point.
Second, there might be reasons for the teacher to tell the story in a certain order. In some cases you want to introduce a concept that is superseded by a different concept making the concept obsolete except in corner cases. But since that technique can be critical for something else it is introduced nonetheless. Forcing to show all does not help, as a student might skip this step.
Certainly one of the reasons is that the material is not ready. But even if it is the teacher might reserve the right to change it. They often plan to do so, secretly in their mind anyway. Why dont students return their assignments well before the deadline? Well the reasons are often same.
The reason is that the assignments are meant to be closely paired with the lessons.
If a student is going to work through the book and the material far in advance of the lecture, they might as well not even be taking the class. It is quite possible they did all the problems wrong; in this case, after learning more from the lecture, they are unlikely to go back and redo the problems. Even if they did the problems correctly, if it is done too far in advance it might not get paired efficiently in their mind with what they do in lecture. When they are done in close proximity, working through the exercises helps reinforce learning about the conceptual ideas presented in the lecture,
As far as the speed of learning is concerned, a student can always read ahead in the book to be better prepared. But a big part of your education is learning to complete assignments in a timely manner. That means not only meeting deadlines, but also being able to complete them in a given timeframe.
First of all, that it isn't always the case. I've seen many syllabi distributed on the first day of the class in which the homework was assigned for every chapter to be covered. I almost never do it myself though (except the most routine classes that have common final, uniform grading, etc.). Why? Here are my 3 top reasons (not necessarily in order of importance):
1) If somebody wants to study ahead and is capable of it, he doesn't need me to tell him what exercises to try. Normally there are just two or three different kinds after each chapter in the textbook and all he needs to do is to practice each kind until he gets comfortable with it. For some people one problem is enough, for others six may be too few. There is no "one size fits all" solution when the individual study is concerned, so why should I even try?
2) I prefer to have complete flexibility when running the course, so if I see that it is better to skip, to rearrange, or to add something on the fly, I do not hesitate to do it. This, of course, affects the assignments as well. Combined with the students' eternal quest for "fairness" and the crazy administrative idea that "the syllabus is a legal contract", this prompts me to fix in advance or promise as little as possible.
3) Sheer laziness. Preparing a few lectures a week doesn't bother me too much but planning one hundred lectures in a month between the semesters is quite another story, not to mention that I'd rather spend my free time on something if not more useful, then, at least, more interesting to me.
Of course, I'll not be surprised if somebody else comes with his "3 top reasons to assign everything on day one" and those will sound equally or even more compelling. The teaching styles differ and if there is any "general rule of teaching", it is "do what works for both you and your students and don't what doesn't", and that is a purely empirical function of many variables. I am, probably, quite a mediocre teacher myself, but some people around me are really good at it and, believe it or not, they have quite diverse opinions on what is a "must" and what is a "no-no" (big classes/small classes; individual assignments/group assignments; grading homework/doing weekly quizzes; one midtem/three midterms; and so on, including the issue you raised).
Why do instructors allow a short period of time between assignment and due date of homework? Here are the reasons I am aware of:
The instructor feels that the assignment will not be understood properly if it is shown to the students prematurely.
In my opinion, even when there is some objective truth to this, the instructor could still provide a preview-level version of the assignment ahead of time.
The instructor is not well organized.
The instructor has not thought deeply about how people learn, stress levels in undergraduate and graduate studies, etc.
The instructor is concerned that far-away due dates might contribute to students getting behind.
In my opinion, if this is a true concern, then interaction with the instructor (or with TA's if it is a large course) should be built into the course, to enable problems to be caught and positively addressed. I am convinced this can be done, even in classes with 200 students. I had such an experience once as an undergrad, in a large music theory class, and once in a graduate level class in a large film history class. In both cases, students were enrolled in both the 200-student lecture and in 20-student "discussion" sections led by well-trained TAs.
The instructor has (explicitly or implicitly) bought into his department's or institution's decision to use competition for grades as its philosophical and management foundation. In other words, give students a short amount of time for each assignment as part of a general effort to crank up the sink-or-swim pressure.
Think about the whole concept of grading on a bell curve. This builds in a certain expected failure rate. (Not to mention a mediocrity rate.)
The instructor has explicitly or implicitly bought into the general philosophy so prevalent in higher education of trial by fire.
The reasoning, probably unconscious much of the time, might go something like this: "I survived the pressure when I was in school, look where I am today... therefore academic pressure creates positive pressures on students to work hard and succeed."