I think it would be interesting to see the same concept applied in the reverse; i.e. have a programming requirement for math classes.
At my university, there's always an embarrassing number of Algebra 1 sections under the math dept every semester (I'd even say that just the Algebra 1 & 2 offerings make up about 30-40% of their total sessions some semesters). And if I hadn't seen some of my friends tutoring student's in those classes, I wouldn't have really believed there was a necessity for so many sections, but now I do.
People just seem to have a really hard time extracting the concept of 'thinking mathematically', from the act of doing math itself, and I'd say it's because it is so abstract; once you go past basic money/counting scenarios, the real life analogs start to break down for most people, and all they see is numbers, symbols, and mysterious rules.
Programming on the other hand, while still pretty tough to grasp if you're new to that way of thinking, seems like it might be a gentler intro to me. Not only does it tend to have a culture of more intuitive naming schemes than math, and have a faster feedback mechanism (i.e. a REPL/compiler checks your code as opposed to a math teacher), it also makes modeling more real world systems really easy early on (so people won't feel bounded to just money or whatever as their anchor back to reality), especially if the course goes into OOP at all before it's over.