Algorithmics : the spirit of computing - Harel, David (Pearson Education, 2004)