
It just teaches algorithmic problem solving via math, but unlike mathy algorithmic books like CLRS, you only need algebra for this one.
I like how the book, IIRC, starts with invariants, providing the reader the foundational skill needed to notice underlying patterns and to decompose problems.
https://www.amazon.co.uk/Algorithmic-Problem-Solving-Roland-...
I really liked it.
I also liked R. Backhouse's approach to it, encapsulated in two books:
1) less playful: http://www.amazon.com/Program-Construction-Calculating-Imple...
2) more playful: http://www.amazon.com/Algorithmic-Problem-Solving-Roland-Bac...
If you are looking for motivation, you might also like: http://research.microsoft.com/en-us/um/people/lamport/pubs/p...
-----------------
I found Dijkstra's stuff to be easier to read after I had read books by Hehner/Backhouse, even though chronologically, Dijkstra came first.