Presents a collection of more than one hundred programming challenges along with information on key theories and concepts in computer programming.[...]