Harvard's math curriculum, for freshmen, is divided into 4 classes beyond the BC Calculus level, Math 21, 23, 25 and 55. Math 21 is your classic plug-and-chug multivariable calculus and linear algebra course. The rest of the courses teach multivariable calculus and linear algebra in the context of proofs, along with some real analysis. I decided to take Math 21 this semester (don't ask me why, it was a horrible decision and it is why I am writing this post).
Anyways, I now realize that I need to learn proofs in order to use them in higher-level computer science classes. Plus, I might have an interest in higher mathematics in concepts such as real analysis, probability theory, optimization, etc. How should I go about learning proofs, specifically in the context of discrete math, linear algebra, and real analysis, so that I can apply my knowledge to computer science and the higher-level math in which I might be interested?
Thanks for your advice in advance. This is my first question on Math Stack Exchange, and I'm curious to see what the community is like!
"I now realize that I need to learn proofs in order to use them in higher-level computer science classes." If this means you need to learn how better to organize and present proofs in mathematics you might well find How to Prove It: A Structured Approach by Daniel J. Velleman very useful indeed.
But even better is to work seriously at the maths courses you are doing. If you are having difficulty getting the hang of proof-cosntruction, look at more than one textbook covering the relevant topics. Work through two or three parallel chapters of a couple of books -- then go through the chapters covering the same material in a third book, but this time covering up the proofs, trying to produce your own, and compare yours with the book proofs. You need this sort of practice, practice, practice to get the hang of proof-writing.