This book is written for programmers. A good programmer must know everything that has been written before him, only then will he write good programs.
The chapters in this book deal with the most attractive aspect of the programming profession: the gems of programming born outside of work, in the realm of imagination and creativity. They cover: problem setting, algorithm theory, data structures, code efficiency issues, and program verification and testing.