It's definitely the same idea. You can look at dynamic programming as developing a program to deal with large combinatorial problems, where brute force just isn't efficient. It comes down to finding a program that runs in polynomial time. And just like we like efficient solutions in OR, it's crucial to write efficient code when you are developing mathematical programs. Nowadays, all these solvers do everything so quickly, that you probably end up working with these packages, rather than developing them yourselves.
You said you wanted to learn the subject and despite the above statement, I do reckon it is really useful to learn it, as it as a very useful way of thinking about problems, especially in OR. But then I would definitely start with learning it via OR-books.
A good example from the OR-side, is the n-period economic lot sizing problem. Wagner and Whitin proposed a dynamic program that runs in $O(n^2)$ time, where Wagelmans, Hoesel and Kolen proposed an algorithm that runs in $O(n \log n)$ time and even in $O(n)$ time for the special case where holding costs are equal and nonnegative for every period.
This is a real nice start if you want to learn to think in terms of dynamic programming (you need to learn how to break up complex problems into small subsets of simpler problems and then combining them). For me personally, it really comes down to learn to think in a different way. When you can do that, you can tackle many other problems that suffer from exploding solution spaces (and there are a lot of them in OR!).
ps: the link to the Wagelmans paper (very interesting!)
https://www.researchgate.net/publication/46431739_Economic_Lot_Sizing_An_On_log_n_Algorithm_That_Runs_in_Linear_Time_in_the_Wagner-Whitin_Case