As a programmer I feel I am quite deficient in mathematics. I have some reminiscent knowledge of calculus and matrix algebra from college. But I don't know how to read or write correct proofs.<p>I don't have access to any teacher so books and online courses will be my best bet. Can you throw some suggestions at me?
I've personally read An Introduction to Mathematical Reasoning: Numbers, Sets and Functions Paperback by Peter Eccles and Chapter Zero by Carol Schumacher and would recommend them both.<p>Sadly, this is not an easy thing to learn and requires a lot of work and most importantly discipline. You mustn't let yourself be at all complacent. It's very easy when doing exercises by yourself to believe that you've "got the idea" and you can "see how it works", but the key is to actually write _everything_ down, so that there is no room for handwaving at all. This is not easy to force yourself to do, but it is necessary.
There is a whole "grammar of proofs and basic intro to higher mathematics" style course nowadays.<p><i>Book of Proof</i> has a free PDF version. It covers the basic styles of proof (necessary to learn but still not super advanced).<p>Other texts of this sort include Jay Cummings long form texts (I myself haven't worked through or even exaimed these but they seem popular.