I'm not sure how addressable that is. While math could be modeled as a DAG globally, I think it is inherently linear locally (no smooth function pun intended) and incremental. Sure you could jump around, but I think at the end of day, if a student is going to progress to advanced math, they can't dodge tricky concepts.
But maybe I'm misinterpreting your point. Do you have links to what you've written?
I mean this about the typical subject matter of high school (which is what this branch of the comment thread concerns). Nobody needs to learn how to graph accurate ellipses and the various facts about congruent triangles before doing calculus. You also don't need excellence in algebra to do geometry. There are some fundamentals, like being able to work with fractions, but largely high school education is a lot of parallel topics that they make you think are linearly dependent (no linear algebra pun intended).
Advanced math, on the other hand, is a different matter. And as far as HS education is concerned I believe the focus should be on building mathematical thinking skills and not worrying about preparing students for a particular subject they're unlikely to ever use.
For example, here is a lecture that I give to HS math students on graph theory [1]. You'll notice there's no algebra, no geometry, no calculus, almost nothing is required except the idea of a function (and even that is technically not required, and I tell them not to worry if it's confusing). What is in this talk is a whole lot of mathematical thinking, and I do believe (though this sounds like bravado) that if I were to put my mind to it I could model a year's worth of HS education around developing this kind of mathematical thinking. It would also have some highly nonlinear components to it, organized instead primarily around proof techniques.
I just browsed your post, and it looks beautifully written!
So you're saying there's nothing fundamental about the typical HS math sequence. I agree. But I also don't think there's that much of a compelling reason to change it, because there are going to be difficult portions no matter how you arrange it.
But I think it's not exactly true that ellipses and congruent triangles have nothing to do with calculus. Graphing ellipses is meant to help understand functional thinking, which is crucial to calculus. Those miscellaneous facts about triangles are as examples to motivate understanding of mathematical logic -- also crucial.
In other words, most of what we learn in math are really intended to illustrate underlying mathematical concepts with some level of concreteness. Otherwise, we'd just start with category theory in kindergarten and derive all other math from that :)
I can certainly understand the perception that these things are often taught solely as ends in and of themselves. I think that part of the challenge is that there is a tradeoff between taking the time to provide a concrete motivation for every math concept upfront versus saving time by dealing with math concepts in their own world to cover more ground. For instance, the seven bridges problem serves as a great motivator for graph theory (and is used very often for this purpose), but can we really afford to find a similar motivating problem for every single graph theoretical concept?
I think if everyone agreed that the goal is to teach critical thinking skills, and have the factual knowledge be a byproduct (and elementary facts are very easy to pick up if you have critical thinking skills), then it would make a world of difference.
As to the motivations, after the students get going they don't need more real world motivation. They seem to be interested enough to ask their own questions about graphs, try to answer them, or come up with their own relations to the real world. This is where I think a lot of the critical thinking happens, not in learning facts about graphs. The facts (what degree means, what planar graph means, etc) come as a byproduct of following these paths of thought.
Touche. Do they teach polar coordinates in high schools these days? I vaguely remember fiddling around with the option on my calculator and plotting cardiods. Speaking of which, I got a nontrivial amount of programming experience by totally ignoring my math lectures and trying to write programs on my calculator.