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 ?

  • 3
    $\begingroup$ Your approach seems entirely reasonable. I can't think of anything more helpful to say than, "Keep practising." $\endgroup$ – David Richerby Dec 15 '17 at 22:13
  • 3
    $\begingroup$ This does indeed seem a) too broad, b) outside of the scope (it's about learning, not CS; the answers are unlikely to be specific to CS), and c) primarily opinion-based. Community votes, please! $\endgroup$ – Raphael Dec 15 '17 at 23:58
  • $\begingroup$ Perhaps try at Computer Science Educators? $\endgroup$ – Yuval Filmus Dec 16 '17 at 8:59
  • 1
    $\begingroup$ I am not a well-versed user under any definition, but I sense some potential for a "list" of "tricks" question(s) if you manage to significantly narrow down the scope. Or maybe not. $\endgroup$ – Omar Dec 16 '17 at 9:54
  • $\begingroup$ Your approach seems to be the normal and sensible one. With experience you will also gain knowledge of more of the common "tricks" in an area. If you look for the solution to a specific problem, maybe look at known solution to other problems "similar" in some way; the tricks applied there might inspire you. $\endgroup$ – Peter Leupold Dec 18 '17 at 12:44