Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

freeCodeCamp

Lean Dynamic Programming with Animations - Full Course for Beginners

via freeCodeCamp

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Master dynamic programming fundamentals through this comprehensive video course that transforms complex algorithmic concepts into digestible visual lessons. Learn to break down challenging optimization problems into manageable sub-problems using step-by-step animations that demonstrate how data flows through tables and recursion trees in real-time. Explore seven essential dynamic programming patterns including memoization (top-down approach), tabulation (bottom-up approach), grid problems for 2D scenarios, two-sequence comparisons, interval-based solutions, non-constant transitions, and knapsack-style problems. Practice with classic algorithmic challenges such as the staircase problem, Tribonacci numbers, house robber scenarios, unique path calculations, longest common subsequence identification, edit distance computation, palindromic subsequence detection, longest increasing subsequence analysis, and coin change optimization. Develop visual intuition for recognizing when and how to apply dynamic programming techniques, compare the efficiency trade-offs between different approaches, and learn space optimization strategies to improve algorithm performance. Build problem-solving confidence through hands-on implementation of recursive solutions while understanding the inefficiencies of simple recursion and how dynamic programming overcomes these limitations.

Syllabus

— Course Introduction and Visual Intuition
— Fundamentals of Dynamic Programming
— The Staircase Problem: Counting Paths
— Implementing Recursive Solutions
— The Inefficiency of Simple Recursion
— Pattern 1: Memoization Top-Down Approach
— Pattern 2: Tabulation Bottom-Up Approach
— Comparing Memoization vs. Tabulation
— Practice Problem: N-th Tribonacci Number
— Optimization: Min Cost Climbing Stairs
— Constant Transition Pattern and Space Optimization
— Practice Problem: House Robber
— Pattern 3: Grid Problems 2D DP
— Practice Problem: Unique Paths
— Optimizing Space in Grid Problems
— Practice Problem: Unique Paths II With Obstacles
— Pattern 4: Two Sequences
— Practice Problem: Longest Common Subsequence
— Practice Problem: Edit Distance
— Pattern 5: Interval DP
— Practice Problem: Longest Palindromic Subsequence
— Practice Problem: Palindromic Substrings
— Pattern 6: Non-Constant Transition
— Practice Problem: Longest Increasing Subsequence
— Practice Problem: Partition Array for Maximum Sum
— Pattern 7: Knapsack-like Problems
— Practice Problem: Partition Equal Subset Sum
— Practice Problem: Coin Change
— Final Summary and Resources

Taught by

freeCodeCamp.org

Reviews

Start your review of Lean Dynamic Programming with Animations - Full Course for Beginners

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.