6.006 Introduction to Algorithms (Spring 2020, MIT OCW). Instructors: Prof. Erik Demaine, Dr. Jason Ku, and Prof. Justin Solomon. This course is an introduction to mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. It emphasizes the relationship between algorithms and programming and introduces basic performance measures and analysis techniques for these problems.
(from ocw.mit.edu)
Instructor: Prof. Erik Demaine. This is the first of four lectures on dynamic programming. This begins with how to solve a problem recursively and continues with three examples: Fibonacci, DAG shortest paths, and bowling.