Dynamic Programming Python, Coding Interviews & Applications

Become a better developer by learning how to build efficient Dynamic Programming algorithms

4.60 (89 reviews)
Udemy
platform
English
language
Software Engineering
category
instructor
Dynamic Programming Python, Coding Interviews & Applications
820
students
5 hours
content
Jan 2022
last update
$79.99
regular price

What you will learn

Recognize a problem that can be solved using Dynamic Programming

Come up with both a top down and bottom up Dynamic Programming solution using Python

Use Dynamic Programming for coding interview puzzles and practical applications

Improve your problem-solving skills and become a better developer

Revise your recursion knowledge

Why take this course?

Have you ever wondered what makes a good developer? Why it is that big tech companies are increasingly asking candidates to solve challenging coding puzzles in interviews? Or why you should bother to learn about complicated algorithms?


With regards to technical skills a good developer has an understanding of computer science and knows when to apply this knowledge. Tech companies know that if someone has a good grasp of these fundamentals, she will likely be fine learning any programming language, using any new tool and solving a wide range of programming problems. As a developer comprehending data structures and algorithms you’ll be better equipped to tackle some of the more difficult problems both in your day-to-day job and for coding interviews.


Dynamic Programming is a topic in data structures and algorithms. It covers a method (the technical term is “algorithm paradigm”) to solve a certain class of problems. In this course we will go into some detail on this subject by going through various examples. The course is designed not to be heavy on mathematics and formal definitions. Instead you will learn through practical everyday programming algorithms and through some coding interview puzzles. We present a method to recognize problems that can be solved using dynamic programming and then build an efficient solution through small gradual steps.


In addition, you will also learn how to gamble professionally, how to be an air traffic controller and how to become a serious writer.*

*Not really… but hey it’s hard to make Dynamic Programming sound exciting...


All code in this course can be found on github, username/project: cutajarj/DynamicProgrammingInPython


At the end of the course we have a small coding exercise to test your knowledge.

Screenshots

Dynamic Programming Python, Coding Interviews & Applications - Screenshot_01Dynamic Programming Python, Coding Interviews & Applications - Screenshot_02Dynamic Programming Python, Coding Interviews & Applications - Screenshot_03Dynamic Programming Python, Coding Interviews & Applications - Screenshot_04

Reviews

Jayson
September 20, 2022
I'm taking this course to refresh my understanding of recursion, and get more experience solving dynamic programming problems.The examples are creative and meaningful. Together with thoughtful presentations, the material is easy to grasp and remember! I don't love the unnecessary use of object oriented programming, but that's my only complaint.
Kelly
June 15, 2022
The course is taught at a good pace and the examples given were meaty (although a little too meaty for me at this time). However, the concepts were on point and made clear and that is what I needed from the course. I can now talk about dynamic programming with anyone and, with practice, use it when needed. Thank you
Ahmet
April 12, 2021
Very good! The examples he chooses teach by solving very interesting problems, entertaining and without boring. Each chapter explains the same logic in all its details, in a code format very similar to the previous chapter. Thus, the pattern of dynamic programming is reinforced in your mind.
Ambreen
October 9, 2020
I think I liked that the instructor tied a practical real-world example to explain recursion. Frankly, I'm bored with the trite Fibonacci examples etc. Not that I think Fibonacci is not a good example, infact, it's flexibility to be solved in so many variations at different level of optimizations are mind blowing, but it's been discussed so many times that now it adds little value. Here, by using the file search example, I was able to not lose interest while at the same time, review the basics of recursion.
Nathan
September 18, 2020
Great setup of the problems tying them to something in the real world. Also, appreciate the consistent methodology to get something working, improve, improve and optimize. Can't wait to blow some off my peers away with one of these solutions someday.
Marek
July 19, 2020
You will get hands on multiple challenging coding challenges. James provides multiple solutions, from brute force to dynamic one. I definitely learned something new!
C
May 18, 2020
This course is a godsend. I've consumed a lot of material on DP: AlgoExpert, EPI, InterviewCake, Educative: Grokking DP... And I can say that this course is, hands down, the best course I've consumed on the matter. James is patient and empathic. The problems are non-trivial, yet his solutions are simple & clear. I especially appreciate the neat illustrations created for each video (they even follow a theme)!
Kuntal
May 12, 2020
Yes, it's a good match. Would appreciate more if each of the solutions explains its time and space complexity analysis.
Ankita
April 13, 2020
I am finding the course very useful. thoughts and ideas are well put. Not finding it difficult at all. Thank you.

Charts

Price

Dynamic Programming Python, Coding Interviews & Applications - Price chart

Rating

Dynamic Programming Python, Coding Interviews & Applications - Ratings chart

Enrollment distribution

Dynamic Programming Python, Coding Interviews & Applications - Distribution chart
2537130
udemy ID
8/31/2019
course created date
11/23/2019
course indexed date
Bot
course submited by