Dieses Buch zeigt Ihnen von Grund auf, wie man Software systematisch entwickelt. Es ist sowohl für den Unterricht als auch zum Selbststudium geeignet. Als Programmiersprache wird Java verwendet, eine moderne objektorientierte Sprache, die auch als die Sprache des Internets bezeichnet wird. Das Buch beschränkt sich jedoch nicht auf Java-Details, sondern vermittelt allgemeine Techniken des Programmierens, die auch in anderen Sprachen Gültigkeit haben. Dazu gehören:
Algorithmisches Denken. Wie formuliert man Algorithmen? Wie wählt man die richtigen Datenstrukturen und Anweisungsarten? Wie führt man systematische Korrektheitsüberlegungen durch?
Systematischer Programmentwurf. Wie zerlegt man komplexe Aufgaben systematisch in kleinere Teilaufgaben, die dann als Bausteine (Pakete, Klassen und Methoden) einfach zu implementieren und modular zusammenzusetzen sind?
Moderne Softwarekonzepte. Wie setzt man Rekursion, dynamische Datenstrukturen, Datenabstraktion, Vererbung, dynamische Bindung, Ausnahmebehandlung oder Parallelität ein, um Probleme zu lösen?
Programmierstil. Wie schreibt man Programme, so dass sie nicht nur korrekt, sondern auch elegant, effizient und lesbar sind?
Die Reihenfolge und der Umfang der Kapitel entspricht einer zweistündigen Vorlesung über ein Semester. Jedes Kapitel enthält zahlreiche Übungsaufgaben, an Hand derer das Gelernte vertieft werden kann. Im Anhang findet sich die vollständige Java-Grammatik sowie eine einfache Bibliothek für die Ein- und Ausgabe.