Much more important than which text you use is your attitude, and a willingness to really walk through and understand the proof of a theorem, and a willingness to work through problems. Having said that, here’s what I did:
Go through the chapter in Feynman Lectures on Physics, Volume I, where he starts with integers and goes through trigonometry until he winds up at Euler’s Theorem. Do this, and you’ll really understand numbers (as well as algebra and trig).
Then I went through the appendices of my college calculus textbook to pick up some algebra tricks I had never really learned. (This is a recurring theme, BTW: you learn a fundamental idea, and then there a bunch of tricks around the fundamental idea that enable you to actually solve problems. So, to really “get” math, you need to truly understand the most important fundamental ideas, and you need to learn some of the problem-solving tricks.)
From here, the school route is to press on to calculus. What’s more practical is to actually learn and understand some probability and statistics. Especially Bayesian reasoning (http://yudkowsky.net/bayes/bayes.html). Understanding statistics and probability will actually improve your everyday life. But assuming you still want to press on to calculus…
You need to learn about limits. Actually work through some limit problems. And then you need to read through the definition of a derivative, and compute some derivatives by hand, computing the limits. And then you’ll really understand derivatives.
(By the way, when you understand derivatives, you also understand differential equations. When people take differential equations classes, they’re just learning the bag of tricks used to solve different patterns of differential equations.)
Now read through the proof of the mean-value theorem until you get it. This will enable you to understand the fundamental theorem of calculus. And so now you understand integrals. There’s a bag of tricks around solving integrals which you can learn. At this point you could also start toying around with Mathematica; you now know just enough to begin appreciating how cool it is.
Once here, most math courses take a little detour and teach some numerical methods. I wouldn’t sweat it too much, although it’s a good trick to know that you can express a lot of different functions (e.g., y = the sine of x) as algebraic series, because it lets you approximate solutions to problems).
Now learn about vectors and simple vector algebra, which is just enabling you to generalize your understanding to multiple variables (e.g., z = x^2 + y^2). This will introduce different flavors of derivatives, as well as some different flavors of integrals. Just go get the book “Div, Grad, Curl and All That”. You’ll need to read a different book to read and understand the theory, but reading Div, Grad, Curl will give you an intuitive feel, which can be a big hurdle to getting multivariable calculus.
Before, during, or after your study of “Div, Grad, Curl…”, you might want to learn about matrices, which is a short hand for writing systems of equations that transform one vector space into another vector space. This is worth knowing if you really want to understand 3D graphics programming.
And now you know as much math as your average physics or engineering student, although you should learn about Fourier analysis, because it’s fun, and then you’ll understand how your CD player works.
You could quit at this point, and you’d be in pretty good shape, but everything you’ve done up to now falls under the heading of “applied math”. If you want to get a taste of what most mathematicians do, you’ll need to look at what’s called “abstract algebra”. This is actually a ton of fun – just think of it as a big ol’ puzzle: what if you tried doing “math” with stuff other than numbers? The most general notion is that of a set. And then you can learn about “groups”, which are sets with a little more structure, if you will. And then you go on to “rings”. And then “fields”. For all this stuff, go get Herstein’s “Topics in Algebra”. It’s far and away the best text.