Este documento presenta los conceptos básicos de la programación dinámica. Explica que involucra tomar decisiones en etapas sucesivas donde las decisiones en una etapa afectan las futuras. Describe que los problemas se dividen en subproblemas más pequeños que se resuelven de forma recursiva comenzando por la última etapa hasta llegar a la primera para obtener la solución óptima del problema original. También cubre métodos para casos discretos y continuos.