I know that normally, after attending class and understand the theorem and proofs, we will go directly to the problem and solve a couple of them, strengthening the concepts. Clearly, this is the best way to study and this is why in the US they always give a homework assignments to keep track of the study.
But it seems this way doesn't really work for me. The main problem is always, I found it's hard for me to do the problem directly after the class as I need more time to absorb the materials (In some sense, I might need to prove a theorem 5 times on my own to really understand what that theorem is all about.) So I don't usually do any homework on my own, instead, I focus on understanding the material first and do extra homework 2 weeks before exams.
This causes a big problem, that I don't have enough time to think about the homework assignment and end up "discussing problems" (mimicking solutions) with the others during the week. Also, I feel more comfortable just having a solid understanding of the whole course before moving on to doing questions, say two weeks before final exams.
Is there any way to solve this problem? Due to US system, there are always homework assignment and mid term and I cannot avoid them.