Professional Documents
Culture Documents
(A Review)
Tools for Problem Solving
1. Defining the problem (WHAT)
• Formalization
2. Developing a solution (HOW)
– Creativity
– Decomposition
1. Defining the problem
• Formalize the problem
– Name it
– If you can’t formalize it, you don’t understand it
• Make your program solve the problem at hand (or
a more general version of the same problem)
• Constraints are part of the problem too!
– Time
– $$$
– Other Resources (memory, etc.)
2. Developing a solution
• Creativity
– Creative != “Slick”
• Decomposition
– Top down design
– Every problem consists of subproblems.
• Decompose your problem into its subproblems, then
repeat on each subproblem.
• Understand the interaction of the subproblems, then
solve them one by one.