
I personally chose Precalculus by James Stewart and it works for me. It's a thick 1000 pages book with excercises and tests.
It quite well explains all topics, which you would have in high school (from basic arithmetics to everything you need to start calculus).
I do maths in my spare time (a few hours a week) and I completed 700 pages over past 3 years.
This year I should complete the book and be ready to do more advanced mathematics.
95% is self explanatory (if you focus and re-read) and explains well proofs. When I didn't understand something I found answer on google or asked a few questions on math stack exchange.
My point. You can absolutely do maths on your own. You don't need classes with a teacher, but it only depends what kind person you are and what works for you.
EDIT: Do all exercices and never skip to the next bit if you don't understand something from the previous part.
- Maths: A Student's Survival Guide (ISBN-13 978-0521017077)
- Review Text in Preliminary Mathematics - Dressler (ISBN-13 978-0877202035)
- Fearon's Pre-Algebra (ISBN-13 978-0835934534)
- Introductory Algebra for College Students - Blitzer (ISBN-13 978-0134178059)
- Geometry - Jacobs ( 2nd ed, ISBN-13 978-0716717454)
- Intermediate Algebra for College Students - Blitzer (ISBN-13 978-0134178943 )
- College Algebra - Blitzer (ISBN-13 978-0321782281)
- Precalculus - Blitzer (ISBN-13 978-0321559845)
- Precalculus - Stewart (ISBN-13 978-1305071759)
- Thomas' Calculus: Early Transcendentals (ISBN-13 978-0134439020)
- Calculus - Stewart (ISBN-13 978-1285740621)
The main goal of learning is to understand the ideas and concepts at hand as “deeply” as possible. Understanding is a mental process we go through to see how a new idea is related to previous ideas and knowledge. By “deeply” we mean to grasp as much of the ideas and relations between them as possible. A good metaphor for this is picturing knowledge as a web of ideas where everything is somehow related to everything else, and the more dense the web is, the stronger it becomes. This means that there might be no “perfect” state of understanding, and otherwise it is an on-going process. You could learn a subject and think you understand it completely, then after learning other subjects, you come back to the first subject to observe that now you understand it deeper. Here we can use a famous quote from the mathematician John V. Neumann: “Young man, in mathematics you don't understand things. You just get used to them”, which I think really means that getting “used to” some subject in Mathematics might be the first step in the journey of its understanding! Understanding is the journey itself and not the final destination.
Solve as many exercises as you can to challenge your understanding and problem-solving skills. Exercises can sometimes reveal weaknesses in your understanding. Unfortunately, there is no mathematical instruction manual for problem-solving, it is rather an essential skill that requires practice and develops over time. However, it could be greatly impacted by your level of understanding of the subject. The processes of learning and problem-solving are interrelated and no one of them is dispensable in the favor of the other. There are also general techniques that could be helpful in most cases which are found in some books on problem-solving (which are included in the roadmap).
Teach what you have learned to someone else or at least imagine that you are explaining what you learned to someone in the best possible way (which is also known as the Feynman Technique). This forces you to elaborately rethink what you have learned which could help you discover any weaknesses in your understanding.
Learning how and when to take notes is not easy. You don't want to waste your time copying the entire book. Most modern books have nice ways to display important information such as definitions and theorems, so it's a waste of time to write these down since you can always return to them quickly. What you should do is take notes of how you understood a difficult concept (that took you a relatively long time to understand) or anything that you would like to keep for yourself which is not included in the book, or to rewrite something in the book with your own words. Notes are subjective and they should be a backup memory that extends your own memory.
Read critically. Books are written by people and they are not perfect. Don't take everything for granted. Think for yourself, and always ask yourself how would you write whatever you are reading. If you found out a better way to explain a concept, then write it down and keep it as a note.
Cross-reference. Don't read linearly. Instead, have multiple textbooks, and “dig deep” into concepts. If you learn about something new (say, linear combinations) — look them up in two textbooks. Watch a video about them. Read the Wikipedia page. Then write down in your notes what a linear combination is.
Learning is a social activity, so maybe enroll in a community college course or find a local study group. I find it's especially important to have someone to discuss things with when learning math. I also recommend finding good public spaces to work in—libraries and coffee shops are timeless math spaces.
Pay graduate students at your local university to tutor you.
Take walks, they're essential for learning math.
Khan Academy is not enough. It has broad enough coverage, I think, but not enough diversity of exercises. College Algebra basically is a combination of Algebra 1, Algebra 2, relevant Geometry, and a touch of Pre-Calculus. College Algebra, however, is more difficult than High School Algebra 1 and 2. I would tend to agree that you should start with either Introductory Algebra for College Students by Blitzer or, if your foundations are solid enough (meaning something like at or above High School Algebra 2 level), Intermediate Algebra by Blitzer. Basically, Introductory Algebra by Blitzer is like Pre-Algebra, Algebra 1, and Algebra 2 all rolled into one. It's meant for people that don't have a good foundation from High School. I would just add, if it is still too hard (which I doubt it will be for you, based on your comment), then I would go back and do Fearon's Pre-Algebra (maybe the best non-rigorous Math textbook I've ever seen). Intermediate Algebra is like College Algebra but more simple. College Algebra is basically like High School Algebra 1 and 2 on steroids plus some Pre-Calculus. The things that are really special about Blitzer is that he keeps math fun, he writes in a more engaging way than most, he gives super clear—and numerous—examples, his books have tons of exercises, and there are answers to tons of the exercises in the back of the book (I can't remember if it's all the odds, or what). By the time you go through Introductory, Intermediate, and College Algebra, you will have a more solid foundation in Algebra than many, if not most, students. If you plan to move on to Calculus, you'll need it. There's a saying that Calculus class is where students go to fail Algebra, because it's easy to pass Algebra classes without a solid foundation in it, but that foundation is necessary for Calculus. Blitzer has a Pre-Calculus book, too, if you want to proceed to Calculus. It's basically like College Algebra on steroids with relevant Trigonometry. Don't get the ones that say “Essentials”, though. Those are basically the same as the standard version but with the more advanced stuff cut out.
Maths:
James Stewart's Precalculus
Spivak's Calculus
How to Solve It
Godel, Escher, Bach: An Eternal Golden Braid
I Am a Strange Loop
Introduction to Linear Algebra
Euclid's Elements
The Principia: The Authoritative Translation and Guide: Mathematical Principles of Natural Philosophy
CS:
The Algorithm Design Manual
Finish SICP
Computer Networking: A Top Down Approach
Computer Systems: A Programmer's Persepctive
C Programming: A Modern Approach, 2nd Edition
Operating Systems: 3 Easy pieces
Advanced Programming in the UNIX Environment
Hacking: The Art of Exploitation
The Elements of Computing Systems: Building a Modern Computer from First Principles
Compilers: Principles, Techniques, and Tools
Lions' Commentary on Unix
TCP/IP Illustrated
Finance/Econ/Business:
Liar's Poker
Investor Z (Manga)
Trading & Exchanges
Dynamic Hedging: Managing Vanilla and Exotic Options
Python for Finance: Mastering Data-Driven Finance
Never Split the Difference: Negotiating as if Your Life Depended on it
Alpha Masters
Fooling Some of the People All of Time
Dark Pools
When Genius Failed
Advances in Financial Machine Learning
Algorithmic Trading
Other:
Getting Things Done: The Art of Stress-Free productivity
Mythology: Timeless Tales of Gods and Heroes
Chaos: Making a New Science
Networks, Crowds, and Markets: Reasoning about a Highly Connected World
Data and Reality: A Timeless Perspective on Perceiving and Managing Information in Our Imprecise World