Principles of computer science. - Schaffer, Cullen