This is the advice my professor gave me on problem solving and I thought that it would be useful if I could share it. 1. Learn the basic ideas. Spend sufficient time on each problem. Some of the problems will take a long time - it is worth spending the time on it. Even if you don't solve it, you will learn a lot in the process. 2. Most of the problems are usually not calculation intensive. If you have too many calculations or equations, you probably are missing a simple intuitive idea that can do the trick. 3. You have to do the problems yourselves. You can take help, but just learning the whole solution is of no use. Learning the solutions does not help you learn to solve. Only solving problems yourself can do that. 4. Doing hundreds of problems one after the other is of very little use. The idea behind doing problems is learning how nature works. After you do each problem, spend at least 5 minutes thinking about what you have learnt new from the problem. Consciously internalize the idea. The next time such a problem you get, you must be able to do it immediately. Problems you could not solve will teach you more - spend 20-30 minutes on what would have made you think about the solution. You must consciously learn how to think about these problems. Just doing them is not enough. Through these problems, you must develop a world-view inside your head which tells you how things move and work. 5. Your aim should be to learn the topic so well that all the problems in this category seem easy. This means you must develop a systematic way of approaching these problems. Spend time thinking and imagining the situation, draw diagrams and graphs. Don't start with equations. People who start writing equations before they think get lost within the jumble of equations. 6. The best way to learn from a problem is after solving it (or learning the solution) to create similar problems yourself. Modify the problem (not trivially by changing the numbers!) in different ways that makes the problem easier or harder. See if you can always solve the new problems using ideas you just used in the first problem. How much can you modify the problem, still retaining the basic ideas behind it? Can you modify it such that it becomes too difficult to solve? Why doesn't your earlier approach work now? The student who creates and solves his/her own new problems from the ones given to him/her learns much more from each problem. Moreover he/she learns how the examiner thinks and creates problems in the exam - always a useful thing to know!!