Determine when a solution requires decisions to be made among alternatives.
Examples: iterative loop, selection constructs, recursion