This book is designed to serve as a textbook for an algorithm course focusing on programming as well as a programming course focusing on algorithms.
The book is specially designed to train students to participate in competitions, especially the ACM International Collegiate Programming Contest.