Any good books that delve into the mindset of programming, such as looking at problems in a way that can be derived into intutive algorithms rather than brute force, teaching how to make good object oriented design in a general sense, stuff like that.