Also, for a good probability textbook, I would point you to 'Probability and Random Processes' by Grimmett and Stirzaker. It may be a bit hard-going at first (which is why I recommend How to Prove It to get you used to rigorous maths), but it is a very thorough text that also happens to concentrate on many areas of interest to the average programmer (Markov chains and the like). Together with the companion book of exercises, it should be fantastic for self-teaching, too.
In calculus, you have so many options that I can only really suggest you go out and find one that you like. I used 'Early Transcendentals' by Stewart in my first year Calculus lectures and it's served as a good reference ever since, particularly for basic vector / multi-dimensional calculus. But, like I say, just look around.