However, the learning itself has to occur bottom-up. Especially in math. Math is a skill hierarchy, and if you cannot execute a lower-level skill consistently and accurately, you will not be able to build more advanced skills on top of it.
However, the learning itself has to occur bottom-up. Especially in math. Math is a skill hierarchy, and if you cannot execute a lower-level skill consistently and accurately, you will not be able to build more advanced skills on top of it.
For software, the tooling and the abstractions are so powerful that you can make incredible software without knowing what's really happening under the surface. Imagine an "abstraction ladder", with each level building on the previous level. Frequently in software development, you only need to understand a single level n, and maybe a little of n-1, to make great software. So the advice of "just jump in" is often great advice because you're jumping into a "shallow pool".
(P.S, I love the work you're doing with MathAcademy, though I wish there was discounted price for "casual" learners that only have an hour or two a month)
Thanks for the kind words about Math Academy! It's true that we focus on students who are trying to acquire math skills to the highest degree possible -- we teach math as if we were training a professional athlete or musician. We maximize learning efficiency in the sense that we minimize the amount of work required to learn math to the fullest extent.
I realize that there are many learners who only want to devote an hour or two per month, but, at least right now, such learners would be better served elsewhere. It's a totally different optimization problem -- maximize surface-level coverage subject to some fixed, miniscule amount of work -- and as a result it would require different different curriculum and possibly different training techniques (or at least, differently calibrated techniques).
But it's definitely an idea to think about in the future. :)
Then the bottom-up part happens as you actually start learning them, methodically, building back up toward those high-level skills.
To be frank, I am only a math hobbyist and studying CS. I haven't taken any proof based courses (only calc 3, linear algebra).
However, it is my experience that once you get the initial proof based stuff down and are familiar with common proof writing techniques, you can pretty much learn anything.
I often start on an nLab page for a mathematical structure and just click on links in the definition till I see something I know. I then try and make sense of it and go back up the chain. I try to solve some problems and see some invariants. If I want to go more in depth I watch lectures on youtube and then read a book about it and do some more problems.
I'm not really sure if this is a top down or bottom up process, but it seems more top down to me. Of course, if I encounter a whole field I don't know then I need to start from scratch and go bottom up. This is also for essentially a late-undergrad math major understanding of topics at most.