If there is one idea in Computer Science and Software Engineering that underlies every other idea, then what is it? (It’s not A*lgorithms*!)

*“All problems in computer science can be solved by another level of indirection.” — David Wheeler*

If indirection implies how a problem can be solved, then decomposition implies how a solution was reached. Problem Decomposition is about understanding the solution to a problem. It is the inverse of indirection.

Problem Decomposition is breaking a big, complex problem into smaller parts that could be solved relatively independently.

Continue reading “Problem Decomposition deserves more attention!”