課程資料
課程簡介
Become a better developer by learning how to build efficient Dynamic Programming algorithms
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.
課程章節
- 8 個章節
- 41 堂課
- 第 1 章 Introduction
- 第 2 章 Understanding Recursion
- 第 3 章 Counting Derangements
- 第 4 章 Aircraft Spacing
- 第 5 章 Maximum Sub Array
- 第 6 章 Text Justification
- 第 7 章 String Distance
- 第 8 章 Final Course Exercise
課程內容
- 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
此課程所涵蓋的技能
評價
-
AAbhishek Anand
this is a very underrated course. This course not only about solving the dynamic programming question. it will ' help' you with the thought process required to reach the solution. Sorry, Not only ' help' but it will build your thought process required to handle dynamic programming questions of any complexity.
-
JJayson Dorsett
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.
-
LLoïc Legros
Très bon cours, avec des exemples concrets et recherchés !
-
RRavi Sinha
Fully hands on and very meaty examples.