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.

100 founders maximum · then $179

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–2 available now
3–11 released as finished
00 Welcome Available
01 The Staircase Available
02 The Coin Problem Available
03 DP Intuition Coming soon
01Five questions for every DP problem
02Choosing what the state remembers
04 Linear DP Coming soon
01Booking the room
02A state for each position
03Code: Booking the room
04Best ending here
05Code: LIS
06Which numbers?
07Exercise: Decode Ways
05 Grid DP Coming soon
01Routes through the warehouse
02The cell is the state
03Counting paths vs maximizing value
04Code: Max Coins
05Exercise: Maximal Square
06 Knapsack DP Coming soon
01Filling a container
02Capacity becomes the state
03Code: Unbounded Knapsack
04Each item at most once
05Code: 0/1 Knapsack
06Loop direction is the problem statement
07Pseudo-polynomial time
08Which totals can we hit?
09Counting exact totals
10Exercise: Cutting the rod
07 Alignment DP Coming soon
01Two sequences, two indices
02A state for two prefixes
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
03Why the obvious state leaks
04Pick the last, not the first
05The walls are part of the state
06Filling the balloon table
07Code: Burst Balloons
08Exercise: Minimum Insertions
09 Tree DP Coming soon
01The robber hits the suburbs
02Each subtree is a subproblem
03Code: House Robber III
04Return one path, update two
05Exercise: Maximum Path Sum
10 Bitmask DP Coming soon
01When the state is a subset
02The assignment problem
03Code: Assignment
04The 2ⁿ ceiling
05TSP: the set plus a position
06Exercise: Partition to K Equal Subsets
11 The System Coming soon
01The complete DP decision process
02Drill: Ten Problems
03When the state needs one more variable
04When DP is the wrong tool
05Explaining a DP solution
06Code: Word Break
07Common DP mistakes
08What to practise 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–2 unlock immediately. Modules 3–11 appear in the same library as they are finished, at no extra cost. The $99 price is limited to 100 founders. After that, the standard price is $179.

  • 15 lessons available now
  • All 12 planned modules
  • 74 planned lessons
  • Lifetime course access
  • Future module updates included
  • $80 below the standard price

one-time payment

$99$179

Limited to 100 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–2: the welcome, staircase problem, and coin problem—15 lessons in total.

What happens when new modules release?+

They appear in the same course automatically. Your purchase includes Modules 3–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.

100 founders maximum · $99 one-time · 30-day refund

Get the founders edition — $99