There is a great deal of interest in improving STEM education in this country.  

For this post, I will just focus on the question of teaching software programming, aka coding. I do it because I’m particularly passionate about that and if that’s on the table. I tend to rant.  In fact, before I put it aside, hear me out.  I can’t believe that we still require calculus and two years of algebra for good colleges but don’t require programming.  Look, if a measure of a useful education is whether a course enhances your understanding of the world and creates knowledge or skills that you will use in the future. Or the measure is whether it creates a perspective that will stay with you. In any case, I’ve worked now for 35 years and I’ve never thought about or used any of my quadratic algebra or precalculus or algebra.  However, many many times every day I wonder about how something is programmed or should be programmed. A good coding course will, for many people, teach a lot more mental discipline and precision of thought and abstract reasoning than those math courses and it teaches useful skills and creates an appreciation for the world around us.