
This book provides a convenient single text resource for bridging between general and algebraic topology courses. Two separate, distinct sections (one on general, point set topology, the other on algebraic topology) are each suitable for a one-semester course and are based around the same set of basic, core topics.
Sheldon Axler's acclaimed "Linear Algebra Done Right" is freely available as a download [1] through July due to the pandemic. I've not read it (yet!), but I've heard so many good things about it I feel comfortable recommending it off the cuff. :)
(Recommendation: try not to focus too hard on the matrices! They're just convenient representations (syntax!) for the actual things we care about: linear transformations. It's less geometrically intuitive, but it lays a much better foundation for algebraic widgets other than vector spaces. Use the wealth of geometric intuitions to jump-start your mathematical sense.)
I don't have a lot of recommendations for other algebra topics, unfortunately. My class textbook for abstract algebra was Dummit & Foote, which I found very dry and lacking in intuition. Aluffi is perfectly servicable if you feel good about your linear algebra; just don't feel like you have to complete every exercise.
Also, I'm a sucker for order theory, so if you're up for something a little less algebraic, pick up Munkres' Topology. I'm consistently surprised at how often topological and order-theoretic intuitions come up in software development. There's a close connection between topology and logic, so perhaps I shouldn't be so surprised -- but I haven't studied Stone duality at all, so it shall remain surprising for now.
[1] https://link.springer.com/book/10.1007/978-3-319-11080-6
I would strongly, strongly advise against trying to learn proof-based mathematics from a textbook (almost all of the math here will be proof-based). The absolute best way to learn mathematics is to have an experienced and competent instructor tailor their pedagogy to you. Failing that, an experienced instructor who is "just okay" but who can e.g. review and critique your work is better than a textbook.
Learning math is very unlike learning programming. It's a counterintuitive idea, but the information density of math textbooks (whether they're well or poorly written) is generally so high that you can't absorb the material unless you read only a few pages per day. Not only that, but it's usually not the case that a single textbook has the ideal level of exposition for your needs - for example, you don't have linear algebra on here despite it being a prerequisite for basically everything else. Some textbooks treat this subject in a highly theoretical manner, while others treat it at a very applied/computational level. Which suits your needs more? Have you studied it at all?
If you're actually serious about this, you need to proceed at a slow pace (2 - 5 pages per day) and complete as many exercises as possible. If the exercises are computationally focused you can do fewer, but you should aim to solve as many of the proof-based problems as possible.
If you go at a rate which will actually allow you to absorb the material, doing this "properly" will take you years. With dedication and not much talent I'd expect it to take as long as an undergraduate degree. With dedication and a lot of talent I could see this being accomplished in two, maybe three years. Once again, I strongly, strongly suggest finding a mentor or instructor.
In any case, here is a list of the textbooks most mathematicians will consider to be very good:
1. Calculus
Calculus, by Spivak
This gives you a rigorous treatment of calculus, which hopefully you have some familiarity with. After this you can move on to real analysis.
2. Real Analysis
Principles of Mathematical Analysis, by Rudin
You might be ready for this after Spivak's Calculus, but it can be rough. If you can't reproduce a proof of irrationality after reading through the first few pages, work through Tao's Analysis I first.
3. Topology
Topology, by Munkres is the absolute gold standard. You should be comfortable with calculus (and hopefully analysis) before tackling this.
4. Linear Algebra
Linear Algebra Done Right, by Axler
This is a thorough introduction to the subject at a theoretical level, with a focus on finite-dimensional vector spaces over fields R and C.
You should also work through either Linear Algebra by Friedberg, Insel, Spence or Linear Algebra by Hoffman & Kunze for the treatment of more advanced/specialized material and, in particular, determinants (which are notably de-emphasized by Axler).
Noam Elkies uses Axler for Harvard's Math 55 and has written up notes and remarks for his students; be sure to read them: http://www.math.harvard.edu/~elkies/M55a.16/index.html
5. Abstract Algebra (Groups, Rings, etc)
Abstract Algebra by Dummit & Foote is the usual reference text for a first course. It's pretty good. If it's too advanced for you, try Pinter's A Book of Abstract Algebra. For a very challenging (but comprehensive) approach to the subject, try Lange's Algebra.
6. Category Theory
Once you have abstract algebra under your belt, a good introduction to category theory is given by Aluffi's Algebra: Chapter 0. I would suggest not trying to dive into this prior to at least encountering fields, groups and rings because it's good to have both the traditional and modern (read: categorical) contexts.
Also try Category Theory in Context, by Riehl.
7. Complex Analysis
Complex Analysis, by Ahlfors. This is an excellent and concise text. You can theoretically approach this before real analysis, but I wouldn't recommend that. Also try Complex Variables, by Churchill & Brown.
8. Differential Geometry
Calculus on Manifolds by Spivak. You will want to have a thorough understanding of analysis and linear algebra before approaching this material.
9. Measure Theory
This is very advanced material in an analysis sequence; don't jump to this unless you've thoroughly worked through analysis first.
I would recommend Stein & Shakarchi's Real Analysis: Measure Theory, Integration and Hilbert Spaces.
10. Probability Theory
A really rigorous treatment of probability is measure theoretic, but even if you haven't worked with measures before you'll need (real) analysis and linear algebra. Tackle those first.
Feller's Introduction to Probability Theory is usually a good first course. If you don't like that, try Ross. For truly advanced probability theory, work through Shiryaev or Kallenberg.
The other things you've asked for are a little under-specified or outside my wheelhouse (in particular, I don't think chaos theory is still emphasized as a field distinct from dynamical systems). You should probably add ordinary and partial differential equations to your list before some of these more specialized topics.
1. Numerical Analysis
Numerical Linear Algebra, by Trefethen & Bau. This is the best all-around introduction. Once you've worked through this, try moving on to Matrix Computations by Golub & van Loan. The latter is much more of a reference text.
2. Cryptography
You haven't specified what you're looking for here, but given the mathematical bent of your question I'd recommend Goldreich's Foundations of Cryptography (two volumes). Be forewarned: cryptography is a subfield of complexity theory. You should have a strong understanding of complexity theory before embarking on Goldreich's Foundations.
If you really want to challenge yourself theoretically, work through Galbraith's Mathematics of Public Key Cryptography. The most up to date version is available for free: https://www.math.auckland.ac.nz/~sgal018/crypto-book/crypto-...
On the other hand, if you're looking for a more implementation-focused text on cryptography, try Menezes' Handbook of Applied Cryptography.
3. Optimization
This is extremely broad. There's linear programming, mixed integer programming, nonlinear optimization, stochastic optimization...I can't recommend textbooks targeted at everything here.
For a good start to the subject of optimization and constraints in general, work through Boyd & Vanderberghe's Convex Optimization. There are additional exercises available from the authors here: https://web.stanford.edu/%7Eboyd/cvxbook/bv_cvxbook_extra_ex...
Do all of these in order first:
Calculus 1 and 2
Linear algebra and multivariable calculus and an introduction to proofs / logic course (you are ready for some electives at this point)
Ordinary differential equations
Any of these can be done concurrently, choose one Analysis and one algebra :
Advanced calculus (eg “understanding analysis” by Abbott)
Linear algebra in the sense of finite dimensional vector spaces
Easier abstract algebra (senior level classes are eg Artin and rudin, these ones are more elementary textbooks)
Core Senior level courses that you take if you want to get good at math:
Analysis sequence (1 year on baby Rudin)
Algebra sequence (1 year on artin)
Topology (munkres)
Electives:
Probability (can be done after multivariable calc)
Linear optimization (after linear algebra + multivariable calc)
Logic (compactness completeness godel etc whatever, can be done after intro to proofs course but will probably make less sense if you didn’t study some more stuff first)
Numerical analysis (after ODEs I guess or calculus + linear algebra if you want to skip tht stuff)
Statistics (after probability)
Combinatorics - after calc 2 and linear algebra
Geometry - after multivariable calc, linear algebra, proofs
Intro Differential geometry: after advanced calculus
Don’t really have much more knowledge for graduate courses etc. or even some common ones like complex analysis. if you know the senior level core stuff you’re probably “good enough” to make some progress on a lot of things. Each of these classes is 100-200 hours of total study so it seems odd to me that someone will just try to study it on their own by there you go I guess
-multivariate calculus (any text will do)
-differential geometry (Manfredo DoCarmo's diff. geom. in 3D)
-introduction to topology (Munkres)
Multivariate calculus gives you the language to tackle surfaces in terms of their shape, which is what differential geometry studies.
Topology gives you more language to study surfaces in terms of their structure, and shows you the connection between structure and algebra.
Lie Groups/Algebras connect the shape and algebra, and so need differential geometry, and benefit from understanding of topology.
If the person you're replying to is a junior or senior undergrad in a math major they might be alright (presumably they'll have taken analysis by then). If not, Topology is not what I'd recommend as the first place to learn about metrics and continuous functions (Calculus doesn't cut it for that).