Cet ouvrage est une introduction à l'algorithmique et à la programmation impérative et orientée objets. L'auteur met l'accent sur les notions de validité et de fiabilité en s'appuyant sur des notations formelles. Tous les algorithmes et les structures de données sont traduits et présentés en Java. Cette quatrième édition rend compte de la version 8 de Java et ajoute des mises à jour sur les interfaces graphiques avec Swing et sur les lambda expressions.