sometimes I get frustrated by this too, I might have learned something and after not using it a lot I forget it. One thing that I think is very important is patience: you are not going to become a master in anything after a year.
A problem that I face a lot is that if I don't use something I forget it, I try to solve this by using a combination of techniques, number one is simple, periodic practice, every time you can you should try to review material, do problems and think about things that you have already studied to keep the material fresh. The second technique is trying to use your new knowledge in as many ways as you can and thinking about everyday activities as mathematically as possible.
For example, I was in my chemistry class last week and I realized that every non-cyclic alkane can be uniquely determined by a tree ( graph theory).
Now, regarding how to study I agree that you should practice doing a bunch of combinatorics questions, you should check out the book concrete mathematics by Knuth,Graham and Patashnik which has lots of these problems.
If you are looking for a bigger challenge I recommend R.M Wilson and Van Lints book titled a course in combinatorics although this one is intended for a graduate course, or you can also try the classic and excellent book by Cameron called Combinatorics: Topics, Techniques, Algorithms.
Combinatorics is the topic that I like the most in mathematics, and really the best recommendation I can give is take your time, savour every bit, do problems by your self and don't try to stuff as much possible into your brain.
What you're talking about seems much less like a mathematical or academic complaint than a psychological one. Here's what I read in your post:
- You seem to be insecure about your understanding of higher-level topics, so you continuously and obsessively revisit lower-level topics, despite that this is probably not necessary: really, if you got into a program for an M.Sc in Mathematics, you probably don't need to re-read books on naive set theory.
- You seem to be obsessively pedantic about details. This is the way most beginning mathematicians start out --- making sure that all their proofs are definitely watertight --- and as they progress, they allow themselves a little more leeway in the rigor of their proofs: certain statements just become obvious and don't feel worth the time to prove. Now, you are clearly not a beginning student, so this is a fairly atypical behavior.
- The two points above, in combination, more or less waste a great deal of time for you, and paralyze your learning.
This actually reads like a textbook case of a particular type of procrastination to me. In particular, your pedantic attention to detail (even regarding comparatively unimportant aspects, like the layout and formatting of your notes) is commensurate with perfectionist behavior. Indeed, to me this reads like perfectionist procrastinator-type behavior: you try to perfect every aspect of the less important tasks (taking notes, revisiting the most elementary set theory, etc.) and then don't have the time or energy for the more important tasks, like studying complex analysis.
This is a very subtle and dangerous form of procrastination, because you mentally trick yourself into thinking that you're doing important work (re-reading DeMorgan's Laws, making your notes pretty) when you're really not. You're doing things you already know how to do (like proving elementary results or typing up some $\LaTeX$), which is a 'safe', comfortable activity, whereas the work that you actually should be doing is more of a challenge, which you are avoiding with this form of procrastination.
This form of procrastination is sometimes accompanied by some intellectual insecurity or anxiety.
I do not hold any formal qualifications in the field of psychology, so you should take my judgement with a grain of salt. However, I suggest the following two coping strategies:
- When you find yourself doing something that seems somewhat unnecessary, like looking back at elementary set theory: ask yourself if what you're currently doing is really necessary for your learning. If the answer is not a clear-cut "yes", then stop and get back to your initial task. Use self-control.
- See a psychologist or counselor about this problem. Issues like this are fairly commonplace, so you'll be in good hands.
Good Luck!
Best Answer
Of course everybody has their own learning style. Here are some general suggestions.
Find a teacher. It is hard to learn mathematics on your own until you have reached a certain level of mathematical sophistication; nobody is there to tell you what is important and what is unimportant. Take courses at a university; as Agusti Roig mentioned, video lectures on MIT's OpenCourseWare are a good cheap alternative.
Read as much mathematics as you possibly can, from as many sources as you possibly can. This is not limited to textbooks but extends to popular math books, blogs, expository papers, MO, math.SE... doing this will get you used to not understanding things, which is important. It will also expose you to many fascinating ideas that will fire up your curiosity enough for you to look at the material more seriously. As Ravi Vakil says:
A specific way in learning backwards is easier than learning forwards is that instead of reading the proof of a theorem in a book, you might hear about a theorem without proof, but remember that someone on a blog said something vague about a crucial step, then gradually learn enough material that suddenly you can work out the proof independently. I have done this a handful of times, and it is quite satisfying. For example, the theorem I proved in this blog post is classical and extremely well-known, but I had never seen a proof of it. I juggled around some ideas for about half a year until I figured out how to prove Lemma 6 (which I saw in a paper somewhere, again without proof), and I wrote down a proof. Later I read a proof in an actual book, and although the second half of the proof was similar, it did not use Lemma 6. I have yet to see a proof of Lemma 6 in print, although I am sure it is also well-known.
This might sound like more work. But guess how well I remember this theorem and its proof now!
Do as much mathematics as you possibly can. This is not limited to textbook exercises but includes competition problems, finding alternate proofs of theorems, working out concrete examples of abstract theorems, etc. I try to do this as much as I can on my blog; it keeps me sharp and is also, at least for me, much more fun than reading a textbook, which I can't do for long periods of time. This is also why I post here so often.
Question everything. There are a few aspects to this. If something is unclear or unmotivated to you, ask yourself exactly where it becomes unclear or unmotivated. Find someone to explain it to you (for example, on math.SE!). Read a blog post about it. Write a blog post about it! Ask yourself how things generalize and how they connect to other things you know. (Again, math.SE is good for this.) The worst thing you can do is to accept what a textbook tells you as the Word of God.
Finally, teach as much mathematics as you possibly can. This is the other purpose of my blog, and is an amazing test of how well you understand something. You would be surprised how much you can learn about something by teaching it.