Jeff Edmonds is Professor in the Department of Electrical Engineering and Computer Science at York University, Canada.
'Jeff Edmonds' How to Think about Algorithms offers a fresh perspective, placing methodical but intuitive design principles (pre- and post-conditions, invariants, 'transparent' correctness) as the bedrock on which to build and practice algorithmic thinking. The book reads like an epic guided meditation on the vast universe of algorithms, directing the reader's attention to the core of each insight, while stimulating the mind through well-paced examples, playful but concise analogies, and thought-provoking exercises.' Nathan Chenette, Rose-Hulman Institute of Technology 'With a good book like this in your hands, learning about algorithms and getting programs to work well will be fun and empowering. Anybody who wants to be a good programmer will get a great deal from this surprisingly readable book. Its approach makes it perfect for reading on your own if you want to enjoy learning about algorithms without being distracted by heavy maths. It has lots of exercises that are worth doing. Most importantly, How to Think about Algorithms does just that: it shows you how to think about algorithms and become a better programmer. Knowing how to think about algorithms gives you the insights and skills to make computers do anything more reliably and faster. The book is also ideal for any taught university course, because it is self-contained and systematically sets out the essential material, but most importantly because it empowers students to think for themselves.' Harold Thimbleby, Swansea University