This course includes a dynamic programming introduction and some simple examples, functional equations, basic theorem, one-dimensional DPP, Analytic and computational solutions, multi-dimensional problems, reduction of state dimensionality and approximations and the application of DP.