I'm going to second Arun2009's recommendation for How to Solve It by Polya. And then I'm going to recommend Haskell. I recently realized how much my understand of set theory improved and was solidified purely by programming Haskell a lot.
I started messing around with haskell a few months ago. It completely inspired me to revamp my entire mathematical understanding... I've bought (and read!) like 4 math text books...
I'll third How to Solve It, and would also recommend Polya's Induction and Analogy in Mathematics.