This work prepares students for the world of computing by giving them a solid foundation in the science of computer science, algorithms. By taking an algorithm-based approach to the subject, this introductory text seeks to help students grasp overall concepts, rather than bogging them down in specific syntax detail of a programming language that can become obsolete quickly.