I was thinking about this very issue about a week ago. I saw some sad statistic about high school math skills and it got me thinking about what the problem is.
One thing that I've thought about recently is: are the right things being tought in elementary school? It seems that the cirriculum is very antiquated.
One example: long division. Is this really a necessary skill for people in modern times? (See sidebar below) Part of the problem with teaching long division (in my opinion) is the
law of primacy kicks in and screws people up once they get to fractions. You'd be shocked at how many high school students (as well as people beyond high school) that I talk to that still don't understand that a fraction means division. After elementary school, the concept of ratio, proportion, and fractions account for 99%+ of all division applications, yet people are screwed by primacy by learning long division first. Just watch the youtube video of the woman trying to explain miles per hour as a great example.
It seems that a lot of the curriculum is antiquated and the early part of math education could be replaced to better prepare students for algebra and problem solving. I'm not yet sure what the solution is.
Sidebar: There is only one application in the modern world for long division that I am aware of: checksum computation (as a part of polynomial division). In this case, shouldn't it be tought in classes about checksums or in an algebra class? Once you get to that age and level of math, you can learn long division in a matter of minutes. Is it really necessary that elementary students spend cumulative months on learning it? It seems the time would be better spent elsewhere. Not to mention that primacy would then ingrain in people's heads that division = fraction and long division is a special case (instead of the other way around).