# Programming and Mathematical Thinking: A Gentle Introduction to Discrete Math Featuring Python

Programming and Mathematical Thinking: A Gentle Introduction to Discrete Math Featuring Python by Allan M. Stavely
English | Apr. 29, 2014 | ISBN: 1938159004 | 260 Pages | PDF | 3 MB

Concepts of discrete mathematics can help clarify a programmer's thinking about software design problems and can make many solutions obvious. Starting at an elementary level, this book teaches about fundamental structures of discrete mathematics and many simple but powerful programming techniques using those structures.
This book is to encourage programmers to think mathematically as they develop programs. This idea is nothing new to programmers in science and engineering fields, because much of their work is inherently based on numerical mathematics and the mathematics of real numbers. However, there is more to mathematics than numbers. Some of the mathematics that is most relevant to programming is known as “discrete mathematics”. This is the mathematics of discrete elements, such as symbols, character strings, truth values, and “objects” (to use a programming term) that are collections of properties. Discrete mathematics is concerned with such elements; collections of them, such as sets and sequences; and connections among elements, in structures such as mappings and relations. In many ways discrete mathematics is more relevant to programming than numerical mathematics is: not just to particular kinds of programming, but to all programming.