Tech with Nikola
Pricing

Dynamic programming/12 modules/74 lessons

Derive the recurrence.
Stop trying to recognise it.

The course keeps returning to the same five questions: the state, what it stores, what it depends on, the decisions, and how the candidates combine. You learn to derive the code from those answers.

$59 $149 First 20 founders

One-time payment · 30-day refund

Five questions. Every problem.

the method · asked in this order
  1. 01

    What is the state?

    Describe the smallest subproblem whose answer does not depend on how you reached it.

    f(i) — the step you are on
  2. 02

    What does it store?

    Say in one sentence what the answer for that state means.

    f(i) = ways to reach i
  3. 03

    What comes first?

    Identify the states this one reads. Those dependencies determine the fill order.

    f(i) reads f(i-1), f(i-2)
  4. 04

    What can I do?

    List every legal decision available from the state.

    take 1 step · take 2 steps
  5. 05

    How do the candidates combine?

    Add when counting; minimize or maximize when optimizing.

    f(i) = f(i-1) + f(i-2)

What changes in how you work

Not more solved problems remembered. Reasoning clear enough to rebuild the solution when the problem changes.

“Which DP pattern is this?”

“What must this subproblem remember?”

Guessing a recurrence from memory

Deriving it from the decisions you can make

Copying a table-filling template

Choosing an order from the dependency graph

Hoping the code is correct

Explaining why every state and transition exists

the problem shapes

Seven shapes. One method.

Every problem in the course belongs to one of these families. The five questions stay the same; only the answers change.

  • Linear

    one index

  • Grid

    two indices

  • Knapsack

    capacity as state

  • Alignment

    two sequences

  • Interval

    ranges, not points

  • Tree

    subtrees as subproblems

  • Subsets

    the set is the state

the curriculum

Build intuition, then widen the problem shapes.

modules 0–5 and 6.1–6.5 available now
rest of 6–11 released as finished
00 Welcome Available
01 The Staircase Available
02 The Coin Problem Available
03 DP Intuition Available
04 Linear DP Available
05 Grid DP Available
06 Knapsack DP Available
01Classic Knapsack 02The hint 03Code: the unlimited backpack 04One of each 05Code: one of each
06Using less memorycoming soon
07Pseudo-polynomial timecoming soon
08Which totals can we hit?coming soon
09Counting exact totalscoming soon
10Exercise: Cutting the rodcoming soon
07 Alignment DP Coming soon
01Two sequences, two indices
02The alignment hint
03Why taking the match is safe
04Filling the LCS table
05Code: LCS
06Which letters?
07Edit distance
08Exercise: Longest Common Substring
08 Interval DP Coming soon
01When you need both ends
02Filling by length
03Burst Balloons: a first attempt
04Choosing which balloon to pop last
05Defining the interval boundaries
06Filling the balloon table
07Code: Burst Balloons
08Exercise: Minimum Insertions
09 Tree DP Coming soon
01House Robber on a tree
02The tree hint
03Code: House Robber III
04Finding the longest path in a tree
05Exercise: Maximum Path Sum
10 Bitmask DP Coming soon
01Keeping track of which items we've used
02The assignment problem
03Code: Assignment
04How large can the input be?
05The travelling salesperson problem
06Exercise: Partition to K Equal Subsets
11 The System Coming soon
01Choosing a DP pattern
02Drill: ten problems
03Stock trading with a cooldown
04When DP becomes impractical
05Explaining your solution aloud
06Code: Word Break
07Common DP mistakes
08Where to go next

Define the state precisely

Know exactly what information a subproblem must remember—and what it can forget.

Derive the recurrence

Turn legal decisions into transitions instead of recalling a memorized pattern.

Defend the implementation

Explain the base cases, fill order, and memory optimization before writing the loop.

founders edition

Buy it once. Keep every module as the course grows.

Modules 0–5 and the first knapsack lessons unlock immediately. The rest of Modules 6–11 appear in the same library as they are finished, at no extra cost. The $59 Founders Edition is limited to 20 students while the course is in progress. Once the course is complete, it will cost $149.

  • ✓34 lessons available now
  • ✓All 12 planned modules
  • ✓74 planned lessons
  • ✓Lifetime course access
  • ✓Future module updates included
  • ✓$90 below the completed-course price

one-time payment

$59
$149 price when complete

Limited to 20 founders. No subscription.

30 days, full refund. Reply to your receipt and I will handle it.

your instructor

Nikola Stojiljkovic

Creator of Tech With Nikola

I built this course around the point where dynamic programming usually stops making sense: the jump from a problem statement to a state and recurrence.

The animations expose the reasoning before the code appears: what information must survive, how decisions connect subproblems, and why the implementation follows.

questions before you join

Is this a standalone course?+

Yes. Dynamic Programming is separate from the planned Algorithms & Data Structures course.

What is available today?+

Modules 0–5 and the first five knapsack lessons of Module 6: the welcome, staircase, coin problem, DP intuition, linear DP, grid DP, and classic knapsack—34 lessons in total.

What happens when new lessons release?+

They appear in the same course automatically. Your purchase includes the rest of Modules 6–11.

Do I need to memorize DP patterns?+

No. The course teaches a derivation process first, then uses major problem families to build range.

What language is used?+

The implementation lessons use Python so the code stays close to the underlying recurrence.

What if it does not help?+

Request a full refund within 30 days. Reply to your Paddle receipt or email [email protected].

Stop hoping you recognise the problem.

20 founders maximum · $59 one-time · 30-day refund

Get the founders edition — $59