Pascal, an Introduction to the Art and Science of Programming
With expanded coverage of abstract data types (ADTs), this book builds critical structured problem-solving techniques through a proven algorithm development approach. The book's integrated coverage of software engineering topics, extensive exercises, over 40 case studies, and special programming and problem-solving tips give programmers the necessary skills to write efficient, well-structured programs.