Ich habe dieses Buch als Geschenk für meinen Neffen gekauft, der Interesse am Programmieren hat. Ich selbst kann bereits programmieren, und um sicherzugehen, dass das Buch auch meiner Meinung nach für Einsteiger und Programmierneulinge geeignet ist, habe ich es zuerst selbst vollständig durchgearbeitet.
Im Großen und Ganzen gefällt mir das Buch. In der Regel wird das notwendige "Handwerkszeug" gut und verständlich erklärt, die Aufgaben sind bis auf Ausnahmen nicht zu schwer und die Idee der zugrunde liegende Geschichte ansprechend. Jedoch:
- kommt die Geschichte zu kurz, besser wäre eine viel stärkere Verwebung der Geschichte mit den Aufgaben, so dass der Leser die Geschichte unbedingt weiterlesen möchte, sie jedoch nicht verstehen kann, ohne vorher die Aufgaben gelöst zu haben. Das motiviert, auch die schwereren Aufgaben zu lösen und einfach "dran" zu bleiben.
- sind einige wenige Aufgaben (z.B. Kapitel 9, Übung 6) für einen Neuling deutlich zu schwer, wenn er dafür keine Hilfestellung bekommt. Die Musterlösung gilt hier als Hilfestellung nicht. Ein Blick in die Musterlösung ist nämlich nicht dienlich, weil der Lerneffekt nicht eintritt, wenn der Neuling an der Lösung der Aufgabe schon von Anfang an verzweifelt.
- ist der ständige Wechsel zwischen den "Käfer"-Aufgaben (in denen man einen Käfer über einen Weg führen muss, ohne dass er am Rand runterfällt) und den Zeichnen-Aufgaben (in denen man geometrische Formen zeichnet und mit Farben spielt, um Spielfelder z.B. für Mastermind oder Galgenmann zu erstellen) wie eine ständige Unterbrechung der Geschichte. Man verliert zum Ende hin die Lust daran. Es wäre auch hier schön, wenn die beiden Handlungsstränge der Geschichte aufeinander abgestimmt und miteinander verwoben würden.
- ist gerade das letzte Kapitel für einen Neuling ein Overkill. Klassen werden zwar noch erklärt, aber in der Anwendung lernt der Neuling nichts: die Programmierung des Galgenmann- und des Mastermind-Spiels erfordert vom Leser keinen Grips, sondern lediglich Abschreibarbeit. Das vorher gelernte kann von ihm also nicht angewendet werden. Ich hätte hier erwartet, dass der Leser die beiden Spiele selbst erstellen muss und dabei sinnvoll geführt wird.
- ist Windows leider Voraussetzung für das Lernen mit diesem Buch. Schön wäre gewesen, wenn es auch etwas für Linux- und MacOSX-Benutzer gegeben hätte.
Die Methodik, spielend und mit "sichtbaren" Erfolgen in die Programmierung einzuführen, finde ich sehr schön und vor allem auch sinnvoll. Sie erinnert mich an das Java-Hamster-Modell, zu dem es ebenfalls hervorragende Bücher gibt.
Daher gefällt mir das Buch insgesamt, trotz der oben angemerkten Mängel.