The theory of computer science a programming approach - Brady, J. M. (Chapman and Hall, 1977)