I recall a programming language book purporting to teach basic programming that had as an exercise in the first chapter an assignment to write a program finding convex hulls. It was like exercise 1.2, 1.1 being basic arithmetic.
As someone who attempts to teach intro-level programming, I completely understand why this happens. It is really, really difficult to muster enough self-awareness to consciously acknowledge all of the steps that exist “between” the big topics. And even if you manage to do so, the quantity of information someone might require in order to truly understand a given topic is enormous, much too large to include in a single book or set of lectures.
That being said, if people had more respect for teaching as a profession we might be able to get past some of these problems. Good teachers often make a world of difference because they’re able to better understand what their students don’t or won’t understand and adjust their explanations accordingly. George Polya recognized this decades ago.
But so long as being a great teacher is seen as a minor accomplishment we will continue to have textbooks that go from arithmetic to calculus in three pages and MOOCs by elite professors who think that “learn linear algebra” is a reasonable task for an average person to accomplish on a lazy Sunday afternoon.
As for myself, I’m a mediocre teacher despite trying pretty hard. But luckily (for everyone) I don’t do it very often.