. . . "Covers such topics as choosing the algorithm, making estimates, and optimizing your code." .