George Elmer Forsythe, Michael A. Malcolm, Cleve B. Moler, 1977
With this book, I have learned numerical methods, well, it was already pretty long ago, in 1980. I still like this book though. It is nicely written and well suited to learn numerical methods from the practical side. Some disadvantage nowadays is that the code is in Fortran. Yet, if you are going to do numerics, you have to get acquainted with Fortran anyway, so in a way you can view it as opportunity.
The book is made in such a way that you are walked through the use of numerical subroutines and you see subtle issues and possible pitfalls. At the same time, you learn the algorithms as well. It is a good combination of practice and theory. The code for the book is available on Netlib