It depends on what are you vision of the "programming skills" and how you define a "better programmer". There is so much area of expertise to master them all..<p>You seems to have a certain inclinaison for scientific programming. I suppose it's in this area that you want to have better programming skill.
The book that I heard a lot about is the following one (it's on my shelf) :<p><pre><code> - The Art of Computer Programming, Volumes 1-4, by Donald E. Knuth
</code></pre>
Some books are more generals and provide insightfull tips that I found quite helpfull :<p><pre><code> - 97 things every programmer should know, by a lots of people
- The pragmatics programmer, by Andy Hunt and Dave Thomas
- Clean code, by Robert C. Martin
</code></pre>
If you want improve you skill about a particular programm language, the best is learn every kog and what happend under the hood of you language. Books, Video, any things that will help in that direction, it depends of your choice . Usually it takes time to improve.<p>There is many type of language and big difference inside those type : Scripting languages (python,bash,js...), compiled languages (c,c++,java,c#,...),...
If you know different tools you are more likely to be able to use the right tools for the right jobs.<p>But the real advise is to be doing some real stuff : face real world problem<p>Take care !