Dynamic Programming
The video below contains a full course on dynamic programming provided for free by freeCodeCamp.org. This is an important concept for the advanced programmer. If you attempt to further your programming career by learning this important topic, you should spend several WEEKS learning the material in this course. To use this tutorial properly, you should try to consume it in small chunks, perhaps 30 minutes at a time or so.