codeintuition-logo
🛠 Your feedback, our roadmap. Help us prioritize the features, content, and fixes you need most.
Learning order

1. Recursion

Premium

Take a deep dive into one of the most intuitive programming paradigm

Show Index

2. Backtracking

Premium

Learn about the ultimate recursive brute force technique

Show Index

3. Sorting

Premium

Learn all about algorithms to sort data blazingly fast

Show Index

4. Searching

Premium

Learn about the algorithms that speed up your searches exponentially

Show Index

5. Dynamic Programming

Premium

Learn the most powerful optimization for recursive problems

(Early Access)

Show Index

6. Bit Manipulation

Premium

Learn about the fastest ways to manipulate data

(Early Access)

Show Index

What you will learn

What is dynamic programming and what makes it so powerful?

Necessary conditions for a dynamic programming solution

Algorithm and implementation of standard dynamic programming problems

Understand essential patterns behind common interview problems

Intuition through visual explanation of algorithms

Hands on practical experience in a setup free coding environment

Requirements

This is a complete course and assumes that you know nothing about dynamic programming but are familiar with some basic foundational topics and data structures in any programming language.

  • Basic knowledge of programming in any language
  • Basic knowledge of functions, classes and memory management
  • You have completed courses on array and linked lists
  • You have completed courses on recursion and backtracking

Overview

Algorithms are used extensively in software development, and dynamic programming is the most powerful. Irrespective of your language, framework, or system, you will always be using some dynamic programming algorithm under the hood in some form or other. 

Loading Image

Representation of dynamic programming

Fundamentals

This course teaches you the fundamentals of dynamic programming and how it works. It provides you with code implementations and detailed explanations of different dynamic programming algorithms in the most intuitive way. We go step by step to explore various steps, giving you a deep insight into how different dynamic programming algorithms work. This will help you thoroughly understand the most critical algorithm of all.

Problems Solving

This interactive course involves high-quality problems and is deeply focused on problem-solving. It bridges the gap between theoretical concepts and common interview problems by explaining the most common interview problems in dynamic programming. This will help you gain confidence and understand how to convert your learning into action. By the end of the course, you will be pretty confident that you can solve any dynamic programming problem thrown at you.

Who this course is for

This all-rounder course targets a variety of audiences ranging from complete beginners to experienced programmers who want to take their knowledge to the next level. You will greatly benefit from this course if you identify yourself as one of the following

  • Non developers who want to start their journey to learn algorithms
  • Developers who want to get deepest knowledge of dynamic programming
  • Anyone interested in improving their problem solving skills
  • Anyone preparing for programming interviews

Course Contents

1. Linear DP

0%

2. Coin change

0%

3. Longest common subsequence

0%

4. Longest increasing subsequence

0%

5. Longest common substring

0%

6. Edit distance

0%

7. Subset sum

0%

8. Optimal stratergy

0%

9. Knapsack

0%

10. Boolean parenthesization

0%

11. Matrix chain multiplication

0%

12. Word break

0%

13. Pattern: Edit distance

0%

14. Pattern: Subset sum

0%

15. Pattern: Word break

0%

16. Pattern: 2D Grid

0%

17. Pattern: Prefix sum

0%

18. Practise

0%

19. Assessments

0%

20. Certificate

Forever offer!: 60% OFF

Annual

$6

.63

/MO

Billed annualy at$199$79.6

Unlimited access
Code execution
Detailed solutions
Incremental Learning Path
High quality lessons

Completion Time: 10 hour
Difficulty: Hard
Level: Advanced

Dynamic Programming

Learn the most powerful optimization for recursive problems

0 Lessons
38 problems
5 Patterns
10 Illustrations