1. Optimal substructure, and examine problems that have/don't have it. 2. Overlapping subproblems, and examine problems that have/don't have it. 3. Relation between DP and Divide and Conquer 4. Effect of nature of the problem and these algorithm design techniques