Algorithmics by David Harel