2.5 hours







El Farouk Yasser

Learn Dynamic programming to improve your Algorithms knowledge and prepare for the Software Engineering Coding Interview

Expected learning & outcomes

  • How to Solve a problem recursively
  • How to come up with a dynamic programming solution
  • How to code a dynamic programming solution
  • How to solve frequent 1D and 2D dynamic programming problems

    Skills you will learn

    Algorithms, Coding, Programming, Software Engineering

    About this course

    In this course, you will learn how to solve several problems using Dynamic Programming. We will discuss several 1 dimensional and 2 dimensional dynamic programming problems and show you how to derive the recurrence relation, write a recursive solution to it, then write a dynamic programming solution to the problem and code it up in a few minutes! We will cover problems such as:

    1.Climbing stairs

    2.Buying and Selling Stock

    3.0/1 Knapsack

    4.Longest Common Substring

    5.Longest Common Subsequence


    By the end of this course, you should be fairly confident to tackle dynamic programming problems and to begin your journey in learning more Dynamic programming problems and solutions. 


    Lore delivers value at the intersection of learning, interests and skills.

    Learn from Domain Experts

    Access learning options recommended by industry experts, professionals and thought leaders.

    Search & Compare

    Quickly search, select and add learning options to your learning list.

    Personalize your feed

    Tell us more about yourself to access the latest learning options, curated just for you.