Sites
Books

The Practice of Programming The Practice of Programming - By Kernighan & Pike. A pretty good book for algorithms, data structures, design, debugging, testing and lot more... Writing Solid Code Writing Solid Code - Excellent book by Steve Maguire & Microsoft Press. He explains how you can write bug-free source code (in C) by following his guidelines (like asserts are forever etc...). He believes, though it may not be possible to write error-free code each time, you can eliminate errors, bugs by testing and retesting your code by the time it goes in the Version Control Source Safe or something similar.
Code Complete Code Complete - By Steve McConnell, and Microsoft press. On the lines of solid code, a practical guide discussing art and science of software design. The Pragmatic Programmer The Pragmatic Programmer - This one talks about the programmer instead of programming for a change ;)). A must have for any software professional, I believe.