What you'll learn:
- How to solve dynamic programming problems
- How to think in a programming way
- How to improve possible solution and enhance time and space complexity using Dynamic Programming
- How to Use an Example to come up with a Dynamic Programming Solution
In this course, you are going to learn about one of the most popular programming topics, dynamic programming. This topic is known as one of the most difficult topics in the programming world. However, in this course, we are going to simplify it and deeply learn the basis on which it stands.
What we are going to do is to start by introducing and defining dynamic programming, and present two popular techniques that are generally used which are memoization, and tabulation. We are going to learn about the differences between them, and when and where to use each one of them.
Then, we are going to solve some of the most famous dynamic programming problems by a detailed explanation of the problem, followed by an example walkthrough. Then, we come up with a pseudo-code, and finally we implement our code using three languages, Java, JavaScript, and Python.
This course contains multiple quizzes and coding exercises that will help you deeply understand each of the topics presented.
With that being said, I hope you enjoy this course, and I would love to help you make your dynamic programming experience more fun, and enjoyable as much as possible!
Good Luck and Enjoy!