Independent Math Study
mark-t: To be honest, calculus isn't that important for mathematicians, but if you want to study mathematics seriously, I'd suggest picking up a rigorous text like Rudin's or Apostol's. It will be difficult. You'll have to read most of it several times. That's perfectly fine; the point is that it will help you learn to think like a mathematician does.Now, on the other hand, linear algebra is almost universally important and is probably easier for a programmer to grasp. I would also suggest picking up a Number Theory or Combinatorics text; they're practically useless, but they're fun and interesting, they'll give you a better idea of what mathematicians do, and you don't need much education to get into them.My usual advice for building skills is to work on contest problems. See if you can find some AMC12 problems. If those are too easy, you can work your way up. AIME and Putnam would be good next steps (those can be found here: http://web.archive.org/web/20080205091131/http://www.kalva.d... ).