Principles of Algorithmic Problem Solving

Principles of Algorithmic Problem Solving is a book designed to teach you how to solve difficult computational problems using programming.

From the ground up

This book teaches you everything from the ground up. For readers without prior algorithmic knowledge, it includes the relevant background to get you up to speed.

Based on teaching practice

The book is based on lecture notes from a course aimed at mathematically gifted high school students, which has helped complete programming beginners qualify for the Swedish high school olympiad team.

Online exercises

The book links to online exercises on the judging system Kattis to give the best opportunities to solve real problems. Many of them are custom designed for this book.

Written for true understanding

Problem solving is half knowledge and half intuition. This book makes sure you develop both, instead of focusing on rote memorisation of algorithms.

By an experienced author

The author Johan Sannemo competed in problem solving for many years as a founding member of one of Europe's top university teams, Omogen Heap.