I'm a sophomore in university and seriously feel that I'm bad at solving mathematical and algorithmic problems (be it discrete math, calculus or just puzzles). I noticed that I'm only good at solving questions that are similar to the ones that have been taught to us.
Here's how I generally approach it:
- What is the problem? What do I need to do here?
- Does it look like I've encountered this before?
- Can I think of a smaller problem to solve instead?
If the answer is no to all the above then I sort of blank out. I stare at it and force my brain to run through a wide variety of stuff, almost like a brute force attempt of solving it. Obviously that leads me to nowhere everytime. I simply can't think "outside the box."
What can I do to improve my situation?
I think proving theorems really develops your thinking. Try to prove a few important theorems from calculus as well as discrete math, or try to understand someone's proof. Of course, the more you know the better, so that is why we say math is not a spectator sport. You need to do more than just the homework if you want to improve. Sometimes many results that you learn in, say discrete math, might seem confusing, but once you see why they are important in a different context, for example in number theory or algebra, you should remember them. To be honest, I think understanding and being able to prove theorems is actually relevant to math, whereas puzzles are just for fun. The best advice I can give is: Do not try to memorize math and simply remember everything for an exam because that way you might get a good grade, but you will forget everything a few days after the exam, instead try to understand why something is true. This way you will remember something practically forever, because you will be able to derive it when you forget.