I see a great many good books on the StackOverflow list. I think algorithms and data structures are the meat and potatoes or foundations of programming and would recommend reading up on those topics. There is a book by Aho, Ullman, & Hopcroft which is sort of a classic.
I've read three of the four books on your short list, and I think they help somebody who is already well versed in the fundamentals of programming to be a better programmer. I can't really recommend them as a starting point, however.
in reply to What book would be valuable to someone self-taught?