Richard E. Pattis
Department of Computer Science, University of Washington, Seattle, WA
Abstraction and specification in program development
Building Pascal programs
Princples of Computer Programming