In From Mathematics to Generic Programming, Alexander Stepanov (creator of C++ STL) and Daniel Rose introduce math that can make any serious programmer more effective -- and they do so in an engaging and accessible fashion, revealing how this math was first discovered, how programmers recognized its value, and the many surprising ways they have applied it. The perfect complement to Stepanov's classic Elements of Programming, From Mathematics to Generic Programming journeys through three key algorithms: multiplication; division with remainder; and adding 1. Those algorithms may sound pretty basic -- even "elementary school" basic. But the authors show how they have played a profound role in the development of mathematics -- and how, at a much deeper level, they are still essential to the work of today's programmers. In exploring these case studies, Stepanov and Rose show how to implement and read algorithms of all kinds, how to generalize them to the broadest possible set of applications, and how to define programming interfaces based on them.