Introduction to computer science an algorithmic approach - Trembley (McGraw-Hill, 1989)