The problem for me is identifying where exactly in my mathematical fundamentals things fall apart (like with prime numbers, some basic arithmetic, geometry) that makes higher-level math a struggle conceptually. It's always felt like there were holes in my fundamentals. I suspect the only way to figure this out is to go back and do everything again either through Khan Academy or books. Does anyone else have this issue?
When it comes to math, I try to avoid self-diagnosing with dyscalculia or with poor working memory. Instead, I think I've gone so long with math being an anxiety-inducing subject that any time I need to solve math under the tiniest amounts of pressure, I fall apart.
Try Khan Academy. The exercises (especially with how they focus on mastery), coupled with the videos will help you root out your weak points and even master them. Do not be ashamed in starting with the kindergarten math topics and moving upwards from there. If you are able to power through it, good on you. If you get stuck on something, even better -- now is your chance to master it.
KA helped me go from hating math in high school to double majoring in Math & CS in college, and graduating with honors. I donate to KA now.
For books on strong fundamentals, you can try the Art of Problem Solving series [0]. They suggest a curriculum to start with prealgebra, move to algebra, then counting & probability, then geometry, then precalculus, and finally to calculus (though a regular calculus book like Thomas Calculus/Stewart Calculus/even Spivak/Apostol would work fine).
The main advantage of these books are its focus on building intuition by visualizing shapes or immediately rephrasing notation (e.g. 4/2 is better understood as 4*(1/2), which better explains why you should avoid cases where you divide by zero; I also found their exponent rules easier to understand, because it encourages visualization instead of just memorizing the rules).
The downside is that they're time-consuming due to a large number of exercises (I'm currently still trying to slowly work through them when I can, but if you need higher-level math in the short-term, it's probably better to start there). They're also not a free resource.
For free lecture videos, I've found Professor Leonard's lectures to be excellent, and equivalent to lectures at a university classroom [1].
Try ALEKS. It's basically an online grind session that identifies which underlying concepts you've got wrong or haven't got, and builds you toward them organically. I recently used it to get myself sufficiently intimate with trigonometry that I don't have to stop and look things up all the time "just in case." It's not free but it works well: https://www.aleks.com
"Mathematical fundamentals" is a sliding scale. You have to define your end goal. What do you want to understand, that you are currently unable to understand due to your incapacity with mathematics?
If you want to understand computational complexity theory, for instance, you need a different set of "fundamentals" than you do if you want to understand high-school physics. It'll be a different thing if you want to read econ papers, and a different thing if you want to study machine learning.
Within the intersection of all these fundamentals is probably basic arithmetic and algebra. Those tools are basic requirements for everything else. Beyond that, you need to define your goal before you decide what math to learn.
Schaum's Outlines are like that "Learn X in Y Minutes" site for school subjects. They give the clearest, most bare bones explanation so you can quickly identify gaps. I had the college algebra book for the required math class in technical school. Between that and YouTube, I was able to pass the class.
Okay. Been there. Done that. Learned a
lot of it. Got a Ph.D. in it. Taught it.
Applied it. Published peer-reviewed
original research in it. Had a good
career applying it. Am using it as an
advantage in the core of my startup.
Broadly, for a career in computing, at
times math can be an advantage, one that
might be significant, e.g., get you
founder's stock in a startup that becomes
successful.
Math and computing can be a career
one-two punch: With some math you might
find an application, maybe a valuable one,
and then with some computing you get to do
the associated programming. Maybe then
you can show up at work one morning, maybe
after doing an all-nighter, and show the
final, useful, maybe quite valuable
results -- done deal, no waiting,
meetings, project approvals, etc.
This is a great time for both math and
computing, no doubt unique in all of
history. We are awash in what is in
historical terms just astounding
computing, and part of that is that a lot
of math is just a few clicks away at
Wikipedia, YouTube, in PDF files from word
processing with TeX, etc.
The first thing in math is arithmetic. Of
course, current computing eats arithmetic
problems much faster than Godzilla eats
fish.
You should know basic arithmetic for whole
numbers and fractions.
Then you should know the basics of ratios,
proportions, percentages, square roots and
exponents, logarithms, compound interest,
areas, and volumes. E.g., on my instance
of Windows 10 Home Edition (that I have as
a result of a sad situation, long story),
the key in the upper right corner of the
keyboard runs (opens, launches -- maybe
computing will think of more silly
synonyms) a version of an old
scientific-engineering pocket calculator
that has a lot of such arithmetic and
math.
Uh, that software is harder to learn to
use than the math it does! If you can
find out how to use such software in less
than a few hours of clicking guesses, you
can also learn the associated math!
Then on to algebra: That subject is
just doing arithmetic with symbols instead
of specific values, and that should be
really easy for anyone who can write math
expressions in a computer language.
Then on to plane geometry: The most
important idea there is triangles,
especially ones with one angle 90 degrees
-- right triangles. Then, sure, the
biggie result is the Pythagorean theorem
-- it gets applied throughout our economy
and has surprisingly far reaching
generalizations. For a proof, take 4 of
the right triangles and arrange them so
that they form a square where each side of
the square is the longest side of one of
the triangles and all the triangles are
inside the square. Then will also see a
square in the middle. Then write out the
area of the squares and, presto, bingo,
get the theorem. There are also 149 or so
other proofs.
For a while, I taught trigonometry (about
triangles) at Indiana University. The
best student in the class was a pretty
girl, and later I dated and married her --
see, math can be useful!
Then there is second year algebra where
learn some more, e.g., about, say,
(x + y)^n
for numbers x and y and a positive integer
n. From that can learn a lot about how
many HEADS might get if flip a fair coin
1000 times and can understand the math
shown in the baseball movie Moneyball.
Also that way can start to understand the
bell curve of Gauss and the powerful
law of large numbers.
Might study solid geometry, that is,
planes, lines perpendicular to planes,
spheres, circles on spheres, etc.
Next up, calculus: As you already know,
in a car the speedometer is the rate of
change of the odometer. The rate of
change of the speedometer is
acceleration. From Newton's law of
motion F = ma, that is, force is mass
times acceleration, in a car you feel the
force as you are pressed back in your seat
when your Tesla does 0 to 60 MPH in less
than 4 seconds! Going around in a circle
is also acceleration, and that's why when
you make a fast left turn the sack of
groceries slides to the right. So, rate
of change -- that is the first half of
calculus.
Given all the speedometer readings, should
be able to reconstruct the odometer
readings, and you can: That is the second
half of calculus and also is the way both
to define and to find the lengths of
curved lines (e.g., that the Webb
telescope is following), areas and volumes
of spheres, cylinders, etc.
How to learn calculus? Long story short,
I was not permitted to take calculus yet
so got a good calculus book and dug in.
Went to a better school and started on
their second year calculus and did fine.
So, I never took first year calculus --
learned it, taught it, applied it,
published research in it, learned math
analysis (that calculus is part of) far
beyond calculus, but never took a course
in it.
How to learn calculus: Get a good book.
At each section, (1) study the text and
examples and (2) work at least half the
exercises, especially the more difficult
ones, and check your work with the answers
in the back of the book. Don't go for
pre-calculus, high school calculus, or
high school advanced placement calculus.
Instead, just get a good book in CALCULUS.
Or get several such books. Then get a quiet
place, good light, big chair, clipboard
with a sharp, soft mechanical pencil, big,
soft eraser and dig in. Since calculus
has not changed much in 50+ years, you
don't need a recent book. Instead just do
an Internet search of used book sites.
I learned mostly from
Richard E. Johnson and Fred L.
Kiokemeister, Calculus with Analytic
Geometry.
It is VERY well written, even polished,
and with an unusually good collection of
exercises. When I used it, it was also
used at Harvard. You may be able to get a
used copy in very good condition for less
than $10.
For on-line sources, my opinion is that
nearly none of them are good. I've seen a
lot of the on-line video sources, and I
never saw a good one. E.g., last time I
looked at Khan Academy, I concluded that
they didn't understand calculus very well.
To learn calculus, or nearly anything in
math, whether you are in a course or not,
essentially you still need to study as I
have outlined. Learning math is not a
spectator sport.
If you have taught yourself to be good at
C++ and Win32, then you should have NO
trouble learning calculus QUITE WELL!
Of COURSE you can teach yourself calculus
and nearly anything in math: To keep up,
that is what college professors and anyone
applying math as a professional do.
If you do much with computer graphics you
will encounter matrix theory. That takes
you into linear algebra; next to
calculus it is likely the most useful
math. Evidence: There are a lot of
downloads of LINPACK.
Can start a course in linear algebra by
considering solving several equations in
several unknowns. The standard technique
is Gauss elimination, and can program
that in about one page of code. Linear
algebra is a good start on curve fitting
in statistics and the math of quantum
mechanics.
If you want to understand more about
cryptography and error correcting codes,
you should study abstract algebra. Here
I would suggest that you actually take a
course (a) to help you get through that
quite different world of thought and (b)
especially to learn how to write proofs.
And for (b), take a course where the prof
is really good and also carefully reads
and comments on your proofs. Abstract
algebra is the easy place to learn to
write proofs.
Somehow long, maybe still, knowledge of
both math and computing can be welcome and
lucrative in parts of US national
security. That was the case early in my
career when my annual salary was 6+ times
the cost of a new high end Camaro.
Soon FedEx had what their founder, COB,
CEO called their "most important problem"
-- fleet scheduling. The BoD was
concerned, and crucial funding was at
risk. I typed furiously, wrote some
software, the output "solved" the problem,
enabled the funding, and saved FedEx.
There, sure, needed to calculate great
circle distances so used the law of
cosines for spherical triangles -- solid
geometry can be good stuff! Also had to
handle wind vectors -- linear algebra can
be powerful stuff. Then I went off to do
much more, integer linear programming set
covering where can discover much of the
motivation for currently the most
important problem in computer science, P
versus NP.
Later the BoD wanted some revenue
projections. I did a little with some
calculus and got a nice answer. Long
story short, that work saved FedEx a
second time.
For another long story -- I needed to be
better at office politics -- I just missed
out on some FedEx stock that should be
worth ~$500 million now.
The US Navy was collecting ocean wave data
at sea, and I was in a software house
bidding on writing some software to
analyze the data. One customer engineer
wanted (a) to know the power spectrum of
the ocean waves (that is, what
frequencies have the power) and, then,
(b) to generate synthetic, random
ocean waves with that power spectrum. I
quickly read a book by Blackman and Tukey,
typed in some software, showed the
engineer the results on how to find the
power spectra (with an important point
about handling low frequencies) and how to
generate the synthetic waves, and our
company got "sole source" on the software
work.
Later at IBM's Watson research lab, we
were doing AI for monitoring of server
farms and networks. I thought of another
way, for some of the monitoring much more
powerful than the AI, based on some
original math, and published the results.
Net, some math, especially through
calculus and linear algebra, can at times
be an important career advantage. For
more, get good with probability theory, if
you can, the version based on the subject
measure theory. Then learn some about
stochastic processes. E.g., once the US
Navy wanted an evaluation of the
survivability of the US SSBN (missile
firing submarines) fleet under a special
scenario of global nuclear war limited to
sea -- in two weeks. From some old work
by B. Koopman, I saw a continuous time,
discrete state space Markov process
subordinated to a Poisson process, wrote
some software, and was done on time. My
work got reviewed by a famous
mathematician, and he questioned how my
software could "fathom the enormous state
space". I answered, at each time, the
number of SSBNs surviving is a real valued
random variable. It is positive and not
greater than the number of submarines to
begin with so is bounded and has an
expectation and a finite variance. Then
the law of large numbers applies. So,
generate 500 independent sample paths,
average them, and get the expectation
"within a gnat's ass nearly all the time".
He agreed. I passed the review!
If you go for a Ph.D., then understand
that, in the US, academic positions at the
better universities are about three
things, research, research, and research,
especially because that leads to grant
money. The operational definition of
research is that it got published in a
peer-reviewed journal. If you publish,
say, 3 papers a year, then likely people
will stay off your case and you will
likely make progress to tenure. People
making the promotion and/or funding
decisions will rarely look at the papers
and, instead, just count them. Papers
that result in prizes are usually quite
powerful for a career. Generally, though,
academics is not very promising for
providing a good standard of living and
good financial security for you and your
family and these days can't hope to
compete with what is available in
computing, the Internet, etc.
Then the math? It can be an advantage.
The "advantage" can have you push ahead,
maybe by a little or a lot, useful
technology, economic productivity, and
civilization. Such progress happens,
actually fairly regularly, but is rarely
easy. So, if want to push civilization
ahead, (a) don't expect that the work will
be easy but (b) math can be one of the
most powerful advantages.
Now you know some of what I wish I'd known
at the beginning of my career. I want a
do-over -- where can I apply?
I have the same problem as you, I just don't know the fundamentals at math. So I decided to start from the beginning with basic arithmetic. You probably should ignore book recomendations like Spivak for now. The books that I use right now are "Arithmetic for the practical man" by "J. E. Thompson" and "The Number Devil: A Mathematical Adventure" by "Hans Magnus Enzensberger" which is a childbook.
There can be quite a few techniques, theorems, and facts at play while working through any given problem.
For those who are uninitiated all of these tools can be difficult to remember (long-term) and correctly apply (sometimes creatively) to arrive at a solution.
Dyscalculia and poor working memory can be issues if your aim is speed and conciseness which is critical during an exam but not as necessary if your goal is to simply understand at a deep level.
When it comes to math, I try to avoid self-diagnosing with dyscalculia or with poor working memory. Instead, I think I've gone so long with math being an anxiety-inducing subject that any time I need to solve math under the tiniest amounts of pressure, I fall apart.
Mind naming what book you used?