How do I teach university level mathematics to myself? [closed]
1) Yes, it is possible. I know several bright high school students who self-taught analysis, algebra and number theory. It is also very, very, very hard. Concerning resources, there are a lot to mention, but one resource is an absolute requirement: a complete, utter mastery of high school material, including those hard problems at the end of the section nobody looks at. You could get away with gaps in your knowledge if you were attending a competent school, but otherwise, without a solid basis in all things high-school, you will be completely lost.
2) Who can tell? But my bet is a resounding no. Not because you are not smart. Because the odds are overwhelming that somebody as smart as you is attending one of those schools. They have the founding and they have the great teachers. And great teachers do make a difference: that is why they are great teachers. This gives those students a huge heads up. You may be able to cover the lost ground, but definitely at the expense of time.
3) Best piece of advice: do not start coding after completing a math major. Start before or concurrently with that. There is no need for huge commitment: learn how to implement known algorithms efficiently, some basic managerial skills for application/system communications, and above all, some basic best practice principles in programming (please!). Some programming mindset can help you enormously with your mathematics education.
4) I cannot answer that, because I do not know what a 'top notch mathematics student' is, and I am willing to bet you meant to ask a different question there.
Final piece of advice: although from second-hand experience with Indian education I am willing to accept your story, before rejecting your educational environment, make sure you have really investigated all the options it offers, and you are not blinding yourself to a good mentoring opportunity with faraway visions of grandeur.
Regarding your question 2), to be honest, I don't think this is going to work.
20 years ago I would have been absolutely sure about this, I may not have grasped the potential the internet has created for pursuing ideas like yours ba now. Unless you are one of the very, very few extremely highly talented people (Ramanujan comes to mind, but that's of course an exaggeration here), to become 'as proficient in mathematics as the students form top universities' (well, maybe not everyone of those is...) you'll need to be in regular daily discussions with others and will need advice and mentorship from experienced scientists. In my experience, very often concepts or ideas are only grasped when you try to explain them to others. And those need to be interested in the same topics and on a comparable level to yourself. I think it will be very hard to do that without visiting a university.
Especially if you think of yourself as an average learner.
This does not mean you have to start out at a top level university to become top level mathematician. But I doubt you'll get very far if you are really going to try it all on your own.
I was thinking along similar lines to Thomas, but I saw your part (3), and this seems to suggest a significantly different idea from all the rest of your post. Two of the tags in your post are abstract-algebra and algebraic-geometry, which are both fascinating fields of mathematics and could be profitable things to learn if you want to pursue mathematical physics, very mathematical computer science, or of course math itself. These are also comparatively difficult to learn, and you would want at least several people to work with and discuss them with. This is the scenario Thomas describes.
If you want to study for the purpose of becoming a programmer, though, the skillset you want is going to be very different. Math is great, but almost all programming jobs the only branches of pure math you need to be familiar with are
- Calculus
- Linear algebra
- A bit of discrete math (modular arithmetic)
- Graph theory
.. where control theory could fit in nicely if you want to do robotics or systems design, or differential geometry could be handy if you want to do computer graphics. Learning computer science, and the applications these branches have to it, is generally much easier to manage with just the internet than more abstract branches of math. The online courses for calculus and linear algebra are innumerable, and you will have an easy time finding tutorials for the other branches.
But abstract algebra doesn't easily lend itself to ''tutorials'', because it's not about learning how to use a tool, it's about learning to how build that tool from scratch and extend it. If you want to that you'll almost certainly need to get your hands on a textbook (I used and enjoyed Dummit and Foote) and work through the problems, at least a few per topic, without looking at answers. And then you'll need to find people online to confirm your answers or work with you. As someone who managed to teach himself CS and largely succeeded, and tried to teach himself math and struggled (until he went to university), I can tell you: Learning math without a school to accompany it will be at least 3 or 4 times harder than learning computer science.