Home | Amazing | Today | Publishers | Account | Support
How to Think About Algorithms

Buy
There are many algorithm texts that provide lots of well-polished code and proofs of correctness. This book is not one of them. Instead, this book presents insights, notations, and analogies to help the novice describe and think about algorithms like an expert. By looking at both the big picture and easy step-by-step methods for developing algorithms, the author helps students avoid the common pitfalls. He stresses paradigms such as loop invariants and recursion to unify a huge range of algorithms into a few meta-algorithms. Part of the goal is to teach the students to think abstractly. Without getting bogged with formal proofs, the book fosters a deeper understanding of how and why each algorithm works. These insights are presented in a slow and clear manner accessible to second- or third-year students of computer science, preparing them to find their own innovative ways to solve problems.

Rather than provide lots of well-polished code and proofs of correctness, this book presents insights, notations, and analogies to help the novice describe and think about algorithms like an expert. It stresses paradigms such as loop invariants and recursion to unify a huge range of algorithms into a few meta-algorithms.

About the Author

Jeff Edmonds received his Ph.D. in 1992 at University of Toronto in theoretical computer science. His thesis proved that certain computation problems require a given amount of time and space. He did his postdoctorate work at the ICSI in Berkeley on secure multi-media data transmission and in 1995 became an Associate Professor in the Department of Computer Science at York University, Canada. He has taught their algorithms course thirteen times to date. He has worked extensively at IIT Mumbai, India, and University of California San Diego. He is well published in the top theoretical computer science journals in topics including complexity theory, scheduling, proof systems, probability theory, combinatorics, and, of course, algorithms.

(HTML tags aren't allowed.)

97 Things Every Programmer Should Know: Collective Wisdom from the Experts
97 Things Every Programmer Should Know: Collective Wisdom from the Experts

Programmers have a lot on their minds . Programming languages, programming techniques, development environments, coding style, tools, development process, deadlines, meetings, software architecture, design patterns, team dynamics, code, requirements, bugs, code quality. And more. A lot. There is an art, craft, and science to programming that...

Algorithms and Programming: Problems and Solutions (Modern Birkhäuser Classics)
Algorithms and Programming: Problems and Solutions (Modern Birkhäuser Classics)
Somebody once said that one may prove the correctness of an algorithm, but not of a program. One of the main goals of this book is to convince the reader that things are not so bad.

A well-known programmer, C.A.R. Hoare, said that the beauty of a program is not an additional benefit but a criterion that separates success from failure.
...
C# 4.0 in a Nutshell: The Definitive Reference
C# 4.0 in a Nutshell: The Definitive Reference

What people are saying about C# 4.0 in a Nutshell

"C# 4.0 in a Nutshell is one of the few books I keep on my desk as a quick reference. It is a book I recommend." --Scott Guthrie, Corporate Vice President, .NET Developer Platform, Microsoft Corporation

"A must-read for a concise but thorough...


Effective UI: The Art of Building Great User Experience in Software
Effective UI: The Art of Building Great User Experience in Software

People are beginning to demand a higher standard of user experience (UX) quality from the software systems they use in their business and personal lives, and companies are looking to UX to help drive business value and increase brand strength. Effective UI provides a complete roadmap to building groundbreaking software centered on...

Accelerated C# 2010
Accelerated C# 2010

Visual C# .NET (C#) is relatively easy to learn for anyone familiar with another object-oriented language. Even someone familiar with Visual Basic 6.0, who is looking for an object-oriented language, will find C# easy to pick up. However, though C#, coupled with the .NET Framework, provides a quick path for creating simple applications, you...

Secrets of the JavaScript Ninja
Secrets of the JavaScript Ninja

There is nothing simple about creating effective, cross-browser, JavaScript code. In addition to the normal challenge of writing clean code you have the added complexity of dealing with obtuse browser complexities. To counter-act this JavaScript developers frequently construct some set of common, reusable, functionality in the form of JavaScript...

©2010 LearnIT (support@pdfchm.net) - Privacy Policy