I understand the term 'Dynamic Programming' comes from the initial days when Richard Bellman coined it to mean a tabular method (Programming) with the spice of Dynamic added to it to make it sound interesting. The source of this being the section title 'Dynamic Programming' course from Udacity called "Computability, Complexity & Algorithms'. This Udacity course gives a nice introduction and refers 2 interesting books:
1. Algorithms by Dasgupta, Papadimitriou, and Vazirani
2. Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
I started reading those books coupled with the tutorial on topcoder. Am struggling to get ahead and solve problems, especially the coin change problem on Hackerrank. Right now, it looks like recursive thinking is a huge problem for me :-)
Nevertheless, i will not give up and will try to make a video once i am able to solve it.