What are the best ways to prepare one's self for introductory classes in proofs, analysis, and modern algebra? I'm a second-year college student, coming from a mathematical background that includes everything up to differential equations, linear algebra, and a survey discrete mathematics. How might I go about preparing myself for the standard undergraduate courses mentioned above?
Would it be a good idea to dive into more advanced texts (I see Rudin/Axler/Munkres suggested fairly often) and just work my way through them? Or would it more efficient to find material of a more intermediate difficulty? Any advice or suggestions would be greatly appreciated!
 A: Heavens no. Do not attempt to read the "classics." They are not meant as introductory texts and will only make it harder on you than necessary. I think they are great for second courses or reference (or further reading after understanding the material well) but not for a first go. What you should focus on is learning and understanding proof techniques first and foremost. You likely have seen some elements of proofs but likely nowhere near what you will be facing in the near future. My favorite book that can serve as an introduction to different proof techniques is Journey Through Genius. It's a little bit below your mathematical level now but it is very thorough. The proofs are quite elegant and are interwoven with great historical overviews of mathematics and the mathematicians that developed it.
Another way to become more familiar with proof techniques is to read your previous texts over again (which definitely contain proofs) and focus heavily on the proofs therein. For example, real analysis is an extension of calculus on $\mathbb{R}$ to $\mathbb{R}^n$ and the like. Having a thorough understanding of calculus and the proofs therein will make the transition to real analysis much smoother as the ideas are similar but are more abstract.
Abstract algebra will pull on different ideas from different areas of math and unify them. In this way it's unlike a lot of what you have seen thus far but you will see a lot of familiar things (and make connections you never would have before). Unfortunately, abstract algebra is a bit of a set up for other things (e.g. Galois theory) so a lot of it is bookkeeping and a slew of definitions but it isn't so bad and there are some really nice results therein, e.g. Lagrange's theorem. To get a good foundation on abstract algebra, I suggest reading up on Euclid's algorithm first and foremost and understanding mathematical induction very well as these will come up at some point in the course undoubtedly. For reference, Gilbert and Gilbert is a very gentle introduction. Maybe too gentle but it gives you the general feel for abstract algebra.
