Please excuse the soft question and please dont close it prematurely as too broad.
When working on assignments that includes a wide range of topics from theoretical computer science (see tags), I often hit a wall that I cant seem to get over.
When I see the solution it often involved some kind of 'trick' that you had to think of that I just didnt see. The solution to the original problem then makes sense to me.
My current problem solving strategy is to see if I know all the terms and definitions mentioned in the assignment. Then I look what needs to be shown or done to find a solution. Then I look at what I can play around with to get an overview of all the properties that I can use to get to the solution. But my current problem is that I get stuck here. Sometimes hard.
How can I improve my problem solving skills ?