CS Foundations & Interview PrepIntermediate7 modules~3.5 hours hands-on
Dynamic Programming Patterns
Learn to recognize and solve dynamic programming interview problems by deriving recurrences and choosing fill orders — not by memorizing solutions.
// What you'll be able to do- Overlapping subproblems and optimal substructure
- Top-down and bottom-up — same recurrence, two shapes
- Fibonacci, climbing stairs, and house robber
- LCS, edit distance, and counting grid paths
7 modules, built to run
Every module ships runnable code. Expand any one to see what's inside.
00IntroductionWhy DP is a recognition skill, not a memory game30 min
Objective — Why DP is a recognition skill, not a memory game
Start moduleFree preview
01The Two SignalsOverlapping subproblems and optimal substructure30 min
Objective — Overlapping subproblems and optimal substructure
02Memoization vs TabulationTop-down and bottom-up — same recurrence, two shapes30 min
Objective — Top-down and bottom-up — same recurrence, two shapes
031D Dynamic ProgrammingFibonacci, climbing stairs, and house robber30 min
Objective — Fibonacci, climbing stairs, and house robber
042D Grid DPLCS, edit distance, and counting grid paths30 min
Objective — LCS, edit distance, and counting grid paths
05Knapsack and Coin ChangeChoosing items under a budget30 min
Objective — Choosing items under a budget
06Pattern SynthesisA framework for recognizing DP under interview pressure30 min
Objective — A framework for recognizing DP under interview pressure
Ready to start Dynamic Programming Patterns?
Start with the free Module 0, then unlock the full course on a Pro plan.