Download Elements of Programming by Alexander Stepanov, Paul McJones, This book applies the deductive method to programming by affiliating programs with the abstract mathematical theories that modify them to work. Specification of these theories, algorithms written in terms of these theories, and theorems and lemmas describing their properties are conferred along. Download the pdf from below to explore all topics and start learning.


1 Foundations
2 Transformations and Their Orbits
3 Associative Operations
4 Linear Orderings
5 Ordered Algebraic Structures
6 Iterators
7 Coordinate Structures
8 Coordinates with Mutable Successors
9 Copying
10 Rearrangements
11 Partition and Merging
12 Composite Objects