Our objective in writing this book is similar with the ICPC vision: To further improve humanity by training current students to be more competitive in programming contests. The possible long term effect is future Computer Science researchers who are well versed in problem solving skills.

Target audience: The reader must have some background knowledge in basic data structures,
algorithms, and programming languages. Typically, a 2nd year Computer
Science students in a University (who have passed a kind of “programming
methodology” and “basic data structures and algorithms” modules) or
selected high school students who are preparing for National or
International Olympiad in Informatics (and thus have done self-study on year-1 University CS curriculum) should have the necessary
background. We use both C++ and Java
code to illustrate the algorithmic concepts, i.e. we dislike vague pseudo-code commonly found in many other Computer Science textbooks.

Once a while, Lulu offers promotion (COUPON) code.