I definitely support the notion that everyone should learn problem solving skills, but people can take different paths than programming: mathematics, natural sciences, and even chess, for example.
As Richard Rusczyk, founder of Art of Problem Solving, says, “We use math to teach problem solving because it is the most fundamental logical discipline. Not only is it the foundation upon which sciences are built, it is the clearest way to learn and understand how to develop a rigorous logical argument. [...] This is not to say that those who cannot do math cannot solve problems. There are many paths to strong problem solving skills. Mathematics is the shortest.” [1]
And there have been many studies on the relationship between chess and problem solving, including this one by Ferreira and Palhares [2].
[1] http://www.artofproblemsolving.com/Resources/Papers/ProblemS... [2] http://www.math.umt.edu/tmme/vol5no2and3/TMME_vol5nos2and3_a...