
0. Jan Gullberg, Mathematics, From the Birth of Numbers. A highly accessible popular survey on different branches of higher mathematics. I read this over the Summer between high school and starting my undergraduate degree. It's what made me want to study math. Previously I'd wanted to be a guitar player, but had to find a new ambition after an injury left me unable to play.
1. The high school mathematics series by Israel Gelfand. Algebra, Trigonometry, The Method of Coordinates, and Functions and Graphs. I didn't have much mathematics background in high school, but working through these really solidified my grasp on the basics.
2. George Polya. How to Solve it. A short book giving excellent high level advice on mathematical problem solving.
3. George E. Andrews, Number Theory. I worked through this freshman year contemporaneously with my first proof based class on simple logic and set theory. A very beautiful and accessible introduction to basic number theory. The combinatorial/geometric proofs of Fermat's Little Theorem and Wilson's Theorem are lovely. It also includes a very nice proof of Chebyshev's theorem on the asymptotic density of primes and even the Rogers-Ramanujan identities for integer partitions.
4. Vladimir Arnold, Ordinary Differential Equations: Undergrad ODE classes are often taught in a cookbook fashion and if so, don't offer much enlightenment. This book explains what's going on at geometrical level. I didn't appreciate ODEs until I read this. See https://www.uni-muenster.de/Physik.TP/~munsteg/arnold.html for Arnold's views on teaching mathematics.
5. E.C. Titchmarsh The Theory of Functions: Recommended by my undergraduate advisor because he noticed that I liked reading older books. It contains sections on complex analysis and real analysis with measure theory, but I've only read the complex analysis sections. It's not for everyone, if I recall correctly, there is not a single picture, but it is very lively and has a lot of material you won't find in a standard complex analysis book, including Dirichlet series. Excellent as a supplement to a standard complex analysis book.
6. George Polya. Mathematics and Plausible Reasoning. An excellent expansion on Polya's ideas on How to Solve it. While the goal is to seek rigorous proofs, to get there it's powerful to be able to think based on intuition, heuristics, and plausible reasoning. A lot of math exposition is theorem/proof based and doesn't help develop these skills. In a similar vein, see also Terence Tao's classic post There's more to mathematics than rigour and proofs https://terrytao.wordpress.com/career-advice/theres-more-to-....
7. H.S.M Coxeter, An Introduction to Geometry. A book of very beautiful classical geometry. Something typically not touched on at all in a typical mathematics curriculum.
* Precalculus Mathematics in a Nutshell: Geometry, Algebra, Trigonometry by George Simmons - Not a word wasted in less than 150 pages.
* Functions and Graphs by I.M.Gelfand et.al. - A must read (again, less than 150 pages) to build graphical intuition.
a) Learn co-ordinate systems Geometry.
b) Learn Functions and Graphs.
c) Learn Derivatives.
d) Learn Integrals.
e) Learn Differential Equations.
Focus on understanding single-variable only and ignore everything else in the beginning.
You will find the following resources most helpful.
1) First refresh the basics from George Simmons' Precalculus Mathematics in a Nutshell : Geometry, Algebra, Trigonometry (it is less than 150 pages!) - https://archive.org/details/precalculusmathe00geor (pdfs are available elsewhere on the web) In particular; read the Trigonometry section thoroughly.
2) Higher Math for Beginners (Mostly Physicists and Engineers) by Zeldovich and Yaglom - https://archive.org/details/HigherMathForBeginners/mode/2up - Read everything from the beginning including Preface/Notes/etc. (which setup the Motivation) through chapter 1 (Functions and Graphs), chapter 2 (What is a Derivative) and chapter 3 (What is a Integral).
That's it! You now "know" Calculus; the rest is mere elaboration on this basic edifice. You should be able to do this in a week by just studying an hour or two everyday.
3) For a more Pictorial/Graphical help in understanding the above, get the book: Who Is Fourier?: A Mathematical Adventure by Transnational College of Lex. This is a manga-style book which gives a very intuitive understanding of Calculus and more.
Do not wait but get started today; You can thank me later :-)
* Gelfand (et al.)'s HS math book series: System of Coordinates, Functions And Graphs, Algebra, Geometry, Trigonometry
* The problem collections Challenging Problems in Geometry and Challenging Problems in Algebra, available from Dover
* The math and logic courses on Brilliant.org
* Smullyan's Introduction to Logic
* Balakrishnan's Introduction to Discrete Mathematics
* For a bracingly irreverent "skip the bullshit" perspective, George Simmons' Precalculus Mathematics In A Nutshell
* The A-Levels A* prep sequence from Imperial College London, available on edX (this is actually roughly equivalent to a first year undergrad curriculum at US unis)
General advice:
* Practice, practice, practice - solve lots of problems & push yourself to repeatedly prove and reprove things. 'Getting it' once is not enough, math is like basketball. Something all the resources above have in common: tons of exercises, with solutions
* Keep mixing up difficulty so that you get some easy wins for confidence and motivation but also challenge yourself and keep yourself humble. Occasionally dip way down to remind yourself how far you've come, and on the other hand sometimes dip into something like Concrete Mathematics to remind yourself how far you still need to climb
* Go over the same material many times from different authors/teachers/sources
* Take your time. As long as you keep challenging yourself, and keep putting in those 10-20 hours a week, every week, you'll get to a good place and then keep going
* 1) Functions and Graphs and 2) The Method of Coordinates by I.M.Gelfand et. al. - These give you the basics on functions and how to visualize them which is crucial for understanding.
* Introductory Logic and Sets for Computer Scientists by Nimal Nissanke - Nice succinct introduction to various required topics for Comp. Sci.
* Compared To What?: Introduction to the Analysis of Algorithms by Gregory Rawlins - This is a classic book which takes you by hand and walks you through Algorithm Analysis and the reqd. mathematics. You will find this more approachable than most other text books and well worth a study.
* How to Think about Algorithms by Jeff Edmonds - Practical techniques without too much mathematical formalism.
* Data Structure Techniques by Thomas Standish - A Classic text; good adjunct to more modern texts.
* Advanced Data Structures by Peter Brass - Nice succinct text but not necessarily "advanced".
One final point; try to get a Algorithms and Data Structures book with code in the language with which you are most familiar. That way you understand the mapping from "Abstract Algorithm" to "Concrete Language Implementation" which is not always trivial.
"Starting Forth" - Leo Brodie
"Computer Science, Logo-Style" series - Brian Harvey
"Algebra", "Functions and Graphs", "Methods of Coordinates", "Trigonometry" - I.M. Gelfand (does anyone know if he completed his Geometry textbook? I've never seen it. I've also never seen his "Calculus" or "Combinatorics" books, although I know they exist. I suspect his "Combinatorics" book is more advanced than he intended to produce.)
"Sage for Undergraduates" - Gregory Bard