Dynamic Programming - I
What you'll learn
- Be able to visualize and understand most of the Dynamic programming problems.
- Develop a strong intuition for any kind of Dynamic programming problem when approaching to solve new problems.
- Understand what kind of questions are asked in Coding Interviews.
- Gain Confidence for the Coding Interviews.
- Basics of programming such as if/else statements, loops & functions.
What is the best way to understand Dynamic Programming? Shall I directly jump to the problems or spent ample of time in understanding the underlying theory? How can I frame my thought process to achieve those elegant solutions by myself?
Are these some of the questions that come to your mind?
If yes, then you are reading the description of the perfect course you intended for.
If you observe the recent trends, dynamic programming or DP(what most people like to call it) forms a substantial part of any coding interview especially for the Tech Giants like Apple, Google, Facebook etc.
We have spent a great amount of time collecting the most important interview problems that are essential and inevitable for making a firm base in DP.
In this course you will learn how to approach a DP problem and visualize the so called "sophisticated solution" for it. There are many problems discussed in this course which are of varying difficulty levels ranging from easy to medium level. And for each problem we have followed the same strategy to explain it. Firstly, we have the problem statement part where we clearly state the problem with a practical example. Then we have the intuition part where we start building our logic behind the approach by figuring out some patterns using our common sense and mental aptitude. Finally we have the pseudo-code and the sample illustration part which completes the whole journey. We believe this consistency in our approach will help the students to understand, visualize and conceptualize the problem solving approach firmly. By the end of this course he/she would be in a great shape to tackle a DP problem.
We will be moving at a slow and a steady pace introducing the main concept behind DP followed by example problems so that you can visualize and apply what you have learnt.
For students who are interested in practical implementation of the algorithm discussed in the video, we have provided C++ and Java codes as an additional resource.
Along with that, each problem is followed by a quiz or a coding assignment which we heavily insist everyone to try. These quizzes and coding assignments are there to check whether you have imbibed the true essence of the concept and are ready to apply it in any similar type of problem. We have provided the true solutions as well for the students to verify theirs.
So what are you waiting for? Just go ahead and enroll for this easy to understand course and get ready to nail those Tech-Giants coding interviews by mastering the art of solving a DP problem.
Who this course is for:
- Anyone who is interested in improving their problem solving skills.
- Anyone who wants to get started with Dynamic Programming.
- Anyone who wants to prepare for any kind of a coding interview.
"If you can't explain it simply, you don't understand it well enough"
These lines by Sir Albert Einstein have stimulated our appetite for learning. Learning in depth and comprehensively is the most crucial step for becoming a great teacher. A great teacher has a solid and robust grip over concepts and the capability to explain it neatly to the students.
We, Suresh Gandhi and Rohit Jain, have this quality and love this work more than anyone else could.
Programming and Logic is fuel for our lives and teaching it to others is a source of immense satisfaction. The pursuit of getting that "Aha" moment in our students is something that we really love.
The idea of delving deeper into an unsolved problem, comprehending various aspects of the problem, breaking its complexity into simplicity just by visual observation and common sense and then finally teaching it to someone else in the most perfect manner is something that we are profoundly passionate about. In a nutshell this is the philosophy our of lives ->
"Code more to be a better teacher and teach more to be a better coder"