As part of this thinking recursively we learn about reduction, we learned how to, say, reduce the problem of deciding what courses to take to an optimization problem in terms of the knapsack problem. 