How do I self-learn undergraduate math?

One of the problems people find hard going from high school to university is in writing proofs. Now there is no royal road, no automatic and no one way of being able to write one. I can see the difficulties in the first years that I tutor in that they are not able to coherently put all ideas together to form a proof.

Let me tell you two ways of how I learned to write a proof. One: when reading a theorem, or anything from a book (like say Atiyah - Macdonald) copy down everything word for word. When you reach a theorem, try and prove it by yourself. If you can't, take a sneak peak (i.e. cheat a little) and then try to do it by yourself. If you can't at all prove anything, copy down the proof word for word. The idea is that by doing this, the essential techniques in the proof, the key ideas get ingrained into your mind. People often talk about methods of proof( contradiction, contrapositive, etc) but what you should know is that in each subject there are "methods", little tricks that one can use over and over again. By writing out line by line, word for word everything in a book, you learn these methods.

For example when dealing with maximal ideals one fact that I use over and over again is that if $\mathfrak{m}$ is a maximal ideal in a commutative ring $R$, then for any $a$ in $R\backslash \mathfrak{m}$, we have$(\mathfrak{m},a)= R$.

As for books on the subject, you should choose a few and work intensely on them. Since you are two years away from University, I suggest training in Algebra and Analysis first:

Algebra - Herstein's Introduction to Abstract Algebra

Analysis - Understanding Analysis by Stephen Abbott.

Work through these two books, and you should not only be able to handle the material well, but also have enough confidence in your ability to write a proof.


You said that you are studying computer programming and then continued with: I would like to state that I have not studied linear algebra or any form of calculus/pre-calculus yet. When I was an undergraduate the entire 4-semester elementary calculus sequence, linear algebra (I think), and one semester of a standard 2-semester advanced calculus course was required for computer science majors, along with some discrete math. Perhaps this has changed.

However, I'm currently tutoring a computer engineering student, a major I would expect to be a bit further from mathematics than computer science is (he's a 2nd year undergraduate at a large public U.S. university) and, this semester (as a 2nd year student, and he is not ahead in his studies either) he's taking a basic vector calculus course and a basic logic/set-theory/combinatorics course.

That said, I think the answers and comments posted thus far overlooked your comment about not yet having studied any form of calculus or precalculus. If someone has not yet studied trigonometry (beyond basic right triangle triangle trigonometry) or conic sections (with axes parallel to the coordinate axes) or composition of functions or geometric series or polar coordinates or curve sketching of polynomials and rational functions, the advanced undergraduate level texts suggested thus far in the answers and comments would be entirely inappropriate.

Assuming that you really meant what you said, namely that you haven't yet studied any precalculus or calculus, I suggest looking at the following. I've listed these in approximate order of difficulty.

Gelfand School Outreach Program: Algebra (Gelfand/Shen), Functions and Graphs (Gelfand/Glagoleva/Shnol, The Method of Coordinates (Gelfand/Glagoleva/Kirilov), Trigonometry (Gelfand/Shen).

Modern Introductory Analysis (Mary P. Dolciani)

Getting the grip of geometry and Algebra; books and resources for a beginner [SMSG texts]

How to fill up the gap between a typical advanced undergraduate algebraic curve course and High school basic geometry/precalculus course? [Shafarevich, Selected Chapters from Algebra]


Specifically addressing set theory, since you mention it:

There's two aspects to that. One is the so-called "elementary" or "naive" set theory. This is something you'll need everywhere in mathematics, all the time, so getting up to speed on that before approaching anything else is a good idea. This is going to be stuff explaining what a union of sets is, what a function is, maybe how you can define different types of numbers using sets and such. It will give a rigorous meaning to saying things like $\mathbb{N} \subseteq \mathbb{R}$ or $f:\mathbb{R}^3 \to \mathbb{R}$ that you can "fall back" on.

However, what mathematicians actually call set theory is a highly abstract topic that you will not be able to follow without having a rather solid idea of how mathematics of the "common" kind works, and it is in fact a field that many mathematicians don't know too much about beyond the acronym ZFC.

Basically just saying - don't try to start with some "introduction" to set theory that is actually of the second kind (such as Jech).


I would suggest the artofproblemsolving series and site- though it is for advanced high school students it is an incredible resource.