
Books Recommendation: Breaking down a problem into sub-problems (in general) - oberver
Whenever I have a problem (in general) to solve which I have not seen before or solved before, I find it difficult to approach and break down into small subproblems and then I start procrastinating and avoiding the problem.<p>I would love to know your approaches&#x2F;experiences. It would be great if you could share how you learned the art and can also recommend related books.<p>Thanks!
======
csnewb
Problem Solving 101 by Ken Watanabe provides a toolbox of problem solving
techniques. One method I've been using to decompose problems us to use a
"logic tree". Start here:
[https://en.wikipedia.org/wiki/Issue_tree](https://en.wikipedia.org/wiki/Issue_tree).
Another technique is to first explain the problem and solution at a high level
(pretend you're explaining it to a friend or coworkers), then write pseudocode
for how you would solve it, and then convert that pseudocode to actual code.

~~~
oberver
Logic tree is a good direction to look into. I asked the question in a broader
sense, not just coding.

------
markus_zhang
I think it depends on context, assuming you are not talking specifically about
competitive-programming. I'm actually also very interested in this question as
I found myself, as a self-taught programmer, has difficulty transforming a
real-life problem into a computational problem, and then breaking it down to
smaller ones.

------
auslegung
It may help to search for "problem decomposition", that's the more technical
term that I'm aware of. You'll probably get better results googling for that.

------
yesenadam
I never had that problem..but can recommend Polya's unique _How To Solve It_ ,
which deserves its high reputation, and might be helpful.

But which particular domain(s) are you talking about?

~~~
oberver
Thanks for the book recommendation.

Not any specific domain but I was mainly looking for ideas/perspectives on how
people think about and approach problems in general. This would be useful for
me when I am on to something new (at least for me) and test out different
approaches when I hit the wall or feel stuck.

