In the USA their is 3 "tiers" of schooling that is mandatory.
Elementary school - This is kindergarten through the 4th grade, If I remember correctly you start kindergarten around the age of 5? (I'm probably off a bit). This is where you learn basic math, history, geography, reading, writing, all the basics.
|All from one teacher (another issue with adding programming into the curriculum).|
That is false, at least from every school I have heard of in the USA (Though I am sure there are some very rural parts that might have this).
Middle school - Which is 5th grade to 8th grade. You start to learn more advance subjects in math, science, biology, reading, writing, and all the basic courses.
High school - 9th grade to 12th grade. This is where you get into the advance subjects of math (Geometry, algebra, Trig, ect), Different languages like Spanish or french, chemistry, science, they also offer classes like woodworking, metal workings, other "trades". In my school they had a class that dealt with learning CAD.
In my opinion programming should be added at least as a class that you can choose to take. It will help teach students to think logically which is the main benefit of it, and lets face it more and more people are using computers these days and they should know how computers work.