Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Dynamic Programming for Solving Problems
Rating: 4.1 out of 5(40 ratings)
13,962 students

Dynamic Programming for Solving Problems

Learn how to use Dynamic Programming Approach to solve the problems.
Created bySujithkumar MA
Last updated 7/2025
English

What you'll learn

  • Dynamic Programming
  • Recursion
  • Memoization

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

13 sections22 lectures4h 13m total length
  • 1. Introduction to Dynamic Programming5:02

    Dynamic programming stores results to reduce execution time and solves a complex problem by dividing it into smaller subproblems, as shown by calculating the factorial of five.

  • Concepts of Dynamic Programming11:56

    Explore dynamic programming as a design technique to solve problems by breaking a complex problem into simpler, overlapping subproblems and using memoization to store intermediate results and optimize recursion.

Requirements

  • Yes, A basic knowledge in Programming

Description

Welcome to my course on 'Dynamic Programming for Solving Problems'


This course is specifically designed for those who have started Programming a few months ago. You are expected to know the basics of Programming like Conditional Statements, Loops etc. just to understand the implementation part. Yet, It is not going to be an integral part. Understanding the approach of Dynamic Programming will be our primary focus. We will be implementing the algorithm we have derived, in C++.


The problems that we will be solving in this course are:

1. 0-1 Knapsack Problem (A Complete Explanation having a 1 hour video)

2. Fibonacci Series using Dynamic Programming

3. Longest Common Subsequence Problem

4. Frog's Staircase to Heaven

5. Grid Walking Problem

6. Stock Buy Sell Problem

7. The Coin Change Problem

8. Range Sum Making Queries without updates.


Dynamic programming is both a mathematical optimization method and a computer programming method. If sub-problems can be nested recursively inside larger problems, so that dynamic programming methods are applicable, then there is a relation between the value of the larger problem and the values of the sub-problems. In the optimization literature this relationship is called the Bellman equation.

There are two ways in which we can apply the paradigm of Dynamic Programming:

1. Top down Approach

2. Bottom up Approach

What are you waiting for? Start Learning the course now!


[UPDATE - 13th of July, 2025] - Added the House Robber Problem (Interview Question)

[UPDATE - 13th of July, 2025] - Added one coding exercise (Interview Question)

Who this course is for:

  • Beginner Programmers
  • Beginner Software Developing Aspirants