TL;DR: Want your kids to learn how to code and have a job? Incentivize it with some cool hardware, and let them run wild. Not every student learns the same way, and not every single one will write perfect code every step of the way. But they are smarter than you think, and you can learn logic and critical thinking on your own. (Though a good teacher wouldn’t hurt)

TL;DR: Want better teachers??
Raise their salaries and respect them professionally, like some countries in southeast Asia and Japan do. Don’t let parents tell teachers that the teacher should have given them a perfect A+, and their corn-flake special child is perfect and isn’t understood by the rest. Teacher, after all, are professionals trained in the art of education, child psychology, etc. Reduce the amount of bureaucracy, or completely reboot the public school system by some disruptive measure.

-- My full arguments here
I think your arguments are on the right track, and I agree that (very) critical thinking should definitely be part of a school's (heck, even federal) curriculum, but in practice, I think mayor's De Blasio's program (http://www1.nyc.gov/office-of-the-mayor/education-vision-201...) is a good policy to effect the kind of change we want to see.

As someone who has gone through the public education system in the United States, Argentina, and Israel, whose parents are (still) high school teachers, whose wife was a public school teacher, I can tell you first-hand that most school teachers get paid a really crappy salary; in New York City (see charts http://schools.nyc.gov/nr/rdonlyres/eddb658c-be7f-4314-85c0-... and http://www.uft.org/files/attachments/secure/teacher-schedule... ), the starting salary is $45,000 annual, and the current ABSOLUTE MAXIMUM (22 years of experience with a bachelors and a masters degree) is $100,049. There are some ridiculous things about this chart, including the fact that it's set UNTIL freakin' 2018.

Teacher often barely get a 1% salary raise (on a good year), and, to make things worse, are the only professionals in the US where the government tells them exactly what they should teach each day, every day, only so kids could pass some standardized national test (see: the No Child Left Behind act that Bush gave us).

Don't forget that these are just salaries, in New York city, which are unusually high for the rest of the United States. Look up Texas -- the starting salary is $27,540 (http://tea.texas.gov/Texas_Educators/Salary_and_Service_Reco...), which is hovering near the poverty line in the United States. And yes, some schools actually give teachers these salaries (usually in more rural areas). Compare that to the average threshold of poverty(https://www.census.gov/hhes/www/poverty/about/overview/measu...) in the US, and you will be embarrased to live in this country, and awed.

That means that, those really smart people you want to be teaching your future children are going to, by an large, opt-out and become lawyers, doctors, or, case-in-point software developers, but not teachers.

I have seen this at every step of my education, where my teachers often told me that I had a lot of potential, but they often failed to really challenge and in the math and logic department.
(e.g.: If it hadn't been for my middle-school physics class in Argentina (Jesuit schools for the win), I would have failed college physics, because my public US high school teacher couldn't really teach it.)

This is why private and charter schools exist. The US public school system is cyclical with its policy (more testing, 10 years pass, do less testing), slow to move, inefficient, beaurocratic, and by and large broken. Even Zuckerberg tried to donate some money recently, and I believe it didn't really work out very well in that regard.

But hey, some of us made it out of there and did okay.

On the flipside: English teachers (in my experience) generally do a good job at teaching critical thinking and writing because there is a large number of people with degrees in the language arts, so there's plenty of healthy competition there. Not so many CS graduates go straight into teaching.

-- Arie Litovsky, Co Founder of Teaching Table [@arie_speaks](https://twitter.com/arie_speaks)**