- We develop algorithms for structured problem solving. We discover patterns, which reveal the structure in the data. We create models as structured copies of the problem. We apply mathematics as the science of structure. We use modeling as a tool for structure creation. And, for all of this, we write software as the tool for structure discovery and exploitation.