Este libro es una introducción al diseño metodológico de programas en la que se incide en el uso de los tipos de datos que dichos programas manipulan para representar el dominio de los problemas que resuelven.
En concreto, la aproximación al diseño de programas seguida en este libro es la denominada Programación Orientada a Objetos, usa Java como lenguaje vehicular, incluye los tópicos habituales de un curso de programación a pequeña escala y hace de la eficiencia el criterio último de diseño de programas y tipos de datos.