A comprehensive training and practice manual for both students and instructors for the prestigious ACM International Computer Programming Contest, USA Computing Olympiad and International Olympiad in Informatics. Over 100 programming problems have been carefully selected and presented to instruct and challenge anyone interested in developing understanding and skills for modern programming techniques.