Updated to follow the recommendations put forth by the ACM/SIGCSE 2001 task force, Analysis of Algorithms raises awareness of the effects that algorithms have on the efficiency of a program and develops the necessary skills to analyze general algorithms used in programs. The text presents the material with the expectation that it can be used with active and cooperative learning methodology, based on the premise that students learn more effectively and retain more information longer when they are active participants in the learning process. To accomplish this, the chapters are clear and complete to encourage students to prepare by reading before class, and the text is filled with exciting examples and exercises that look at the efficiency of various algorithms to solve a problem. The author is well known for workshops that he presents on the active learning model. He has written an instructor's manual that helps instructors understand how to present the material in an active way.