Much of the material taught these days under the guise of computer science could be more accurately called software engineering, and a great deal of programming is more about gluing together widgets rather than coming up with brand new widgets that work better or do something weird and new. However, there are some clever people who have incorporate ideas from math and/or science in order to make very interesting software programs that can dominate their field. A good example of this is the Monte Carlo simulation for Evidence Based Scheduling in FogBugz that Joel Spolsky writes about here:
Another example of scientific influence on software is the PageRank search engine algorithm from Google that is based on authoritative sources, which is an idea that's existed in academia for a while. Searching a database for things that are similar to a query is a Big Problem that has general applicability in lots of scientific fields, and I think that the academic research done by Brin and Page at Stanford from which Google ultimately arose owes a great debt to the scientific research on the topic of Database Search. Put in business terms, I think that one reason that Google has been so successful is that they leveraged the transfer of technology from academia into industry better than anyone else has done in their field. They did the same thing with MapReduce.
Perhaps the most obvious example of scientific thought is understanding algorithms and data structures and when/where they are appropriate. Anecdotally programmers who have a good math, algorithm and science background tend to be good programmers and to use good data algorithms, because they can understand the math of why a particular implementation is good or bad.
What do people in general think about the role of scientific reasoning in making awesome software? Are these science-based features simply features from a specific demographic, or are they somehow special? Is science a tool for telling you about how algorithms and data structures that you use can be situationally stupid (or brilliant)? More specifically, is it an advantage for programmers understand science and scientific thinking, and will having a scientific/mathematical knowledge lead to better programs?
This is a topic that I think about. I'm a graduate student working on a PhD, and the inverse question about how better software engineering helps scientific discovery was brought up. In the interests of full disclosure, I'm a scientist who loves programming to solve problems, and my answer to my own question is that scientific thought is tremendously useful in how I program.