Algorithmics the spirit of computing - Harel (Addison-Wesley, 2004)