inkl. MwSt., ggf. zzgl. Versandkosten
ready to ship
ready to ship
Man lernt Programmierung nur, wenn es man es praktiziert. Aus diesem Grund bin ich froh, dass ich auf dieses Buch gestoßen. Es ist mir schwer gefallen, mir selber welche auszusuchen. Besonders gut gefallen haben mir die unterschiedlichen Schwierigkeitsgraden. Ich kann dieses Buch uneingeschränkt empfehlen.
Ich bin zwar kein Programmieranfänger im eigentlichen Sinn, aber nach dem Studium gab es eine sehr lange Pause. Jetzt benötige ich ein paar kleine Anwendungen wollte aber keine Grundlagenliteratur wälzen sondern wollte ich mit ein paar Fingerübungen und mit einer mir neuen Sprache (Python) einen Einstieg ins Programmieren wagen.
Das Buch ist ideal für einen Wiedereinstieg für jemanden, der die Grundlagen kennt trainieren will wieder in Fahrt zu kommen.
Ein gutes Buch um das Programmieren zu Lernen. Viele der Aufgaben kannte ich als Übungsaufgaben im Informatik Studium. Für Anfänger eine klare Kaufempfehlung. Es ist ein ehrer Praxisorientiertes buch was die Theorie ein bischen vernachlässigt. Processing habe ich selber leider nicht als erste Sprache gelernt gehabt, fand aber schon damals besser Kreise zu animieren und ein visuelles Feedback zuhaben als Matheformeln nach zu programmieren.
Das Buch Programmieren trainieren richtet sich primär an Programmieranfänger, wobei entweder Basis-Grundlagen in einer Programmiersprache vorhanden sein sollten, um die Aufgaben überhaupt bearbeiten zu können; oder man sich beim Erlernen einer neuen Programmiersprache mit diesem Buch interessante Übungsaufgaben geben lassen kann.
Das Buch ist mit insgesamt 892 Seiten sehr umfangreich. Das Buch ist so strukturiert, dass die ersten 272 Seiten den mehr als 150 Übungsaufgaben gewidmet sind, während am Ende des Buches die Lösungen präsentiert werden. Besonders positiv ist zum einen, dass zu den Aufgaben auch Testfälle mitgeliefert werden, mit denen sich die eigenen Lösungen verifizieren lassen; zum anderen, dass die Lösungen sowohl in Java als auch in Python bereitgestellt werden. Dies ist eine gute Wahl, da dies beide Programmiersprachen aktuell zu den populärsten zählen. Zudem können sich Leser, die bereits mit C, C++ oder C# vertraut sind, schnell in die Java-Lösungen einfinden, was die Zugänglichkeit weiter erhöht.
Die Aufgaben im Buch sind so konzipiert, dass sie auf ein bis zwei Seiten beschrieben werden, was eine klare Fokussierung auf die jeweilige Problemstellung ermöglicht. Dabei werden auch Punktesysteme zu Schwierigkeit, Zeitaufwand und Kreativität eingesetzt, so dass man sich besser orientieren kann. Anstelle von Syntax- oder Grammatikfragen einer Programmiersprache liegt der Schwerpunkt auf dem Lösen kleiner, praxisnaher Probleme und dem zugrundeliegenden Denkprozess. Besonders hervorzuheben ist, dass die Aufgaben nicht auf die oft üblichen mathematischen Algorithmen abzielen, die man aus vielen Lehrbüchern kennt. Stattdessen stehen praxisorientierte Szenarien im Mittelpunkt, wie etwa das Umsetzen von Leetspeak, das Verarbeiten von IMDB-Einträgen, das Erstellen eines Barcode-Generators oder das Programmieren eines Schrittzählers. Ich denke das motiviert gerade Einsteiger sehr.
Bei der Nutzung des Tools Processing bin ich hin- und hergerissen. Auf der einen Seite wünschte ich mir eigentlich generische Aufgaben, die sich ohne ein zusätzliches Tool lösen lassen, da man sich sonst in eine Abhängigkeit zu ebenjenem Tool begibt. Auf der anderen Seite bietet Processing grafische Ausgaben, die insbesondere Programmieranfängern eine größere Motivation bieten können, als rein in der Konsole zu arbeiten. Zudem ist der Umgang mit Drittanbieter-Tools und -Frameworks etwas, auf das man sich ohnehin später einlassen muss.
Kritisch sehe ich das Kapitel über die Implementierungsvererbung. Diese Form der Vererbung, wie sie im Kapitel 10 behandelt wird, bringt oft mehr Probleme als Vorteile mit sich, insbesondere wenn sie zu einem Designziel der objektorientierten Programmierung erklärt wird. An dieser Stelle wäre es besser gewesen, das Kapitel entweder komplett auszulassen oder auf alternative Techniken wie Objektkomposition, Interfaces und Polymorphismus einzugehen. Letztere Konzepte wären jedoch erklärungsintensiver und möglicherweise schwieriger für Anfänger verständlich. Man könnte ja noch ein zweites Buch mit fortgeschrittenen Konzepten auflegen ;-)
Insgesamt ist Programmieren trainieren eine wertvolle Ressource für Programmieranfänger, die vor allem durch praxisnahe Aufgaben und die Verfügbarkeit von Lösungen in zwei wichtigen Programmiersprachen punktet. Ein paar kleinere Schwächen, wie die Implementierungsvererbung und die Abhängigkeit von einem Tool, schmälern den positiven Gesamteindruck jedoch nur geringfügig.
Das Buch beinhaltet Übungsaufgaben, wie der Titel schon verrät. Die Aufgaben sind nach Themen geordnet. Die Aufgabenbeschreibung ist kurz und präzise. Weiterhin gibt es immer einige Tipps zur Herangehensweise. Zu allen Aufgaben gibt es Lösungen in der PDF-Version des Buchs, sowie zusätzlich als Download.
Ich persönlich finde die Zusammenstellung der Aufgaben sehr gelungen. Die Lösungen sind gut kommentiert, aber ohne ausführlichen Text, was meiner Meinung auch nicht notwendig ist.
Für wen ist das Buch geeignet? Für Anfänger und Fortgeschrittene, die einzelne Themen trainieren und vertiefen möchten. Das Buch vermittelt keine theoretische Einführung, d.h. das eigentlichen Lernen der theoretischen Konzepte findet ausserhalb statt. Das Buch hilft, das anderweitig angelesene Wissen in die Praxis umzusetzen und so zu vertiefen.
Für wen ist das Buch nicht geeignet? Lernende, die eine Einführung in die Konzepte und APIs erwarten. Im Buch geht es allein um Übungsaufgaben.
"Programmieren Trainieren" ist wie der Titel schon sagt, ein Buch mit Trainingsaufgaben um sein Basiswissen der Programmierung strukturiert zu vertiefen. Es bietet sehr viele Übungen welche, wie andere Lehrmittel zum Thema der Programmierung auch, auf den einzelen Programmierelementen aufbauen. Für jedes Thema sind jede Menge Übungen vorhanden, angefangen von sehr einfachen, für welche man nicht mal eine Programmierumgebung benötigt, bis zu tatsächlich schwierigen und zeitintensiven Aufgaben.
Mit diesem Buch und der darin beschriebenen Entwicklungsumgebung "Processing" kann man sich in der Progrmmierung der Sprachen Java und Python weiterentwickeln.
Man darf als Neuling jedoch nicht erwarten, dass man ohne Kenntnisse starten kann und das Buch die Details in der Tiefe erklärt. Man wird immer wieder auf die offizielle Dokumentation der Programmierumgebung verwiesen und muss sich dort schlau machen, wie die Mechanik der jeweiligen Funktionen strukturiert und anzuwenden ist. Das mag am Anfang für Neulinge relativ mühsam sein, zeigt jedoch sehr gut auf wie ein Programmierer zu arbeiten hat. Zudem lernt man so, wie man mit Dokumentationen zu Biblioteken umzugehen hat, was das tägliche Brot eines Programmierers ist.
Für jemanden, der geführter lernen möchte, wie die einzelnen Elemente der Programmierung im Detail funktionieren empfehle ich andere Lehrbücher. Ideal ist auch das App "Playgrounds" von Apple mit dem man in als absoluter Neuling in diese Welt eingeführt wird, jedoch in der Sprache SWIFT.
Das Buch „Programmieren trainieren“ richtet sich an Programmieranfänger, es eignet sich meiner Meinung nach aber auch für Personen, die bereits Erfahrung in einer der beiden Sprachen (Java oder Python) haben und die jeweils andere Sprache erlernen möchten. Es bietet 159 abwechslungsreiche Übungsaufgaben, die nach Schwierigkeitsgrad sortiert sind, mit Lösungen in beiden Sprachen. Die Kapitel umfassen grundlegende Programmierkonzepte wie Kontrollstrukturen, Arrays und Objektorientierung, wobei die Einführungen eher knapp gehalten sind. Für Leser ohne Vorkenntnisse empfiehlt sich daher die zusätzliche Nutzung eines Lehrbuchs.
Das Buch verwendet die Programmierumgebung Processing, die einfache grafische Befehle bereitstellt. Dadurch sind sind Übungen wie das Zeichnen einer Wurfparabel oder eines springenden Balls leicht zu bewältigen. Allerdings werden die Funktionen von Processing im Buch nicht im Detail erklärt, sondern der Leser wird auf die Referenzdokumentation verwiesen. Es wird also erwartet, dass sich der Leser selbst anhand der Dokumentation mit den Funktionen vertraut macht. Ein kleiner Nachteil von Processing ist, dass das Debugging nur im Java-Modus möglich ist.
Die Lösungen zu den Aufgaben sind sehr gut kommentiert und es werden für alle Übungen Testfälle mitgeliefert, was den Lernprozess deutlich erleichtert. Insgesamt führt das Buch gezielt von einfacheren zu anspruchsvolleren Aufgaben, was zu einer soliden Lernkurve beiträgt. Besonders gut gefallen mir die praxisnahen Übungen, die über einfache Aufgaben hinausgehen, wie z.B. die Erstellung eines Bildfilters zur Entfernung von Störpixeln oder einer Autovervollständigung.
Insgesamt eignet sich „Programmieren trainieren“ gut als Ergänzungsbuch für das vertiefende Training von Programmierfähigkeiten. Es ist weniger für absolute Anfänger ohne Vorkenntnisse geeignet, bietet aber einen idealen Einstieg für Programmierinteressierte, die ihre Fähigkeiten ausbauen und verschiedene Programmierkonzepte in Java und Python verstehen möchten.
Ich finde da Buch "Programmieren trainieren" von Luigi Lo Iacono, Stephan Wiefling und Michael Schneider eine sehr gute Zusammenstellung von Aufgaben.
Vor allem finde ich es gut, dass dem Neuling Lösungsvorschläge unterbreitet werden (kann man downloaden, somit sind Tippfehler ausgeschlossen). Kommt man mal nicht weiter, wird aufgezeigt, wie man es machen könnte.
Auch der Ansatz, dass zwei unterschiedliche Sprachen parallel abgearbeitet werden, finde ich nachahmenswert.
Somit kann der geneigte Leser sich auf die Sprache einlassen, die er gerne vertiefen würde.
Wie meine Vorredner bereits beschreiben haben, ist jedes Kapitel gleich aufgebaut. Nach einem kurzen Intro, werden diverse Übungen/Aufgaben definiert, die das Thema vertiefen.
Für einen absoluten Neuling empfehle ich allerdings mindestens ein zusätzliches Buch, welches die einzelnen Inhalte vertieft beleuchtet. Dies wird aber im Intro entsprechend erwähnt. Hier gibt es im Fundus des Hanser Fachbuchverlages sehr gute Beispiele (z.B. https://www.hanser-fachbuch.de/fachbuch/artikel/9783446454699).
Ich kann mir nicht vorstellen, dass zum Beispiel ein absoluter Neuling in der Programmierung das Konzept "Objektorientiert Programmierung (OOP)" nach dem Lesen der 3 Seiten Warm_up verstanden hat. Dies verstehe ich aber keinesfalls als Kritikpunkt, sondern eher als Anregung an den Leser.
Die einzelnen Aufgaben inkl. kostenloser IDE finde ich toll. Damit kann Frau/Mann sofort ein entsprechendes Erfolgserlebnis inkl. grafischen Ausgabe verbuchen und motiviert sicher zur Durcharbeitung der einzelnen Kapitel.
Ich gratuliere dem Autorenteam für die sehr gute Zusammenstellung und für die Erweiterung mit neuen Aufgaben.
Programmieren trainieren.
Mit über 150 Workouts in Java und Python
Das Buch bietet eine interaktive Herangehensweise, bei der der Leser aktiv in den Lernprozess eingebunden wird. Durch das tatsächliche Programmieren wird der Stoff auf eine intensivere Weise verarbeitet.
Jeder Abschnitt des Buches beginnt mit einem „Warm-Up“, das sowohl Java als auch Python abdeckt. Anschließend folgen verschiedene Übungsaufgaben, die als „Workouts“ bezeichnet werden. Das Buch ist thematisch strukturiert, und zu jedem Thema gibt es mehrere Aufgaben. Für alle Aufgaben werden zudem Musterlösungen bereitgestellt.
Das Besondere an diesem Konzept ist, dass sowohl die Java- als auch die Python-Syntax in den Beispielen parallel dargestellt wird. Dadurch können die Aufgaben in der bevorzugten Programmiersprache des Lesers bearbeitet werden. Dies hebt das Buch von anderen ab, die sich meist nur auf eine Sprache konzentrieren.
Das Buch ist so gestaltet, dass das Lernen Spaß macht und die Übungen dazu beitragen, in der gewählten Programmiersprache (Java oder Python) noch tiefer einzutauchen. Dabei bleibt es jedoch klar ein Trainings- und Übungsbuch. Es vermittelt grundlegende Fähigkeiten und Fertigkeiten, legt aber nicht den Fokus darauf, den Leser in spezifischen Bereichen tiefgehend weiterzubilden. Die nächsten Schritte für eine vertiefte Auseinandersetzung mit bestimmten Themenbereichen müssen außerhalb dieses Buches unternommen werden. Das Ziel des Buches ist es, eine solide Basis zu schaffen und die grundlegenden Programmier-Skills zu stärken.
Das Buch „Programmieren trainieren“ richtet sich an motivierte Programmiereinsteiger, die bereit sind, sich aktiv mit dem Thema Programmieren zu beschäftigen. Gleich zu Beginn wird aber festgehalten, dass es dieses Buch nicht zum Ziel hat, die jeweiligen „Basics“ einer Sprache ausführlich darzustellen. Jedoch wird jedes Kapital mit einem Warm-up begonnen, das die Übungsschwerpunkte des jeweiligen Themas kurz und prägnant darstellt. Für weitergehende Einblicke wird zum Selbststudium angeregt. Schön ist, dass die Autoren dafür Links zu lesenswerten Webseiten zur Verfügung stellen.
Die Autoren setzen didaktisch auf die open-source Programmierumgebung „Processing“, die für alle gängigen Betriebssysteme zur Verfügung steht. Hier werden zwei Vorteile dieser Umgebung genutzt. Erstens muss keine Programmiersprache aufwendig installiert werden und zweitens verfügt die Umgebung über eingebaute grafische Funktionen, die das Zeichnen von diversen geometrischen Figuren ermöglicht. Letztes ist Basis von vielen Programmieraufgaben in diesem Buch. Es wird zwar im Anhang auf eine mögliche Umsetzung mittels einer grafischen Python-Bibliothek hingewiesen, die aber die Lösung der Aufgaben deutlich erschwert und nicht alle Funktionen von Process anbietet.
Die Nutzung dieser Umgebung ist für Einsteiger gut geeignet und ermöglicht die Erzeugung einfacher bis komplexerer grafischer Darstellungen. So bestehen gerade die ersten Aufgaben aus der Programmierung von zusammengesetzten grafischen Objekten aus einzelnen Grundelementen.
Wer nun aber gezielt seine Kenntnisse in Java und Python erweitern möchte, wird von diesen zahlreichen Aufgaben enttäuscht sein. Ob eine Aufgabe auch ohne Processing lösbar ist, wird aber jeweils zu Aufgabenbeginn dargestellt.
Die Trainingsaufgaben werden thematisch in einzelne Kapitel untergliedert, die von der Einführung in die Programmierung über Variablen, Datentypen, Kontrollstrukturen, Funktionen, Arrays , Strings, Objektorientierung, Referenzdatentypen bis zur Vererbung reichen. Motivierend ist dabei, dass hier besonders Wert auf praktische Aufgaben gelegt wird. So wird ein IBAN-Generator, ein E-Mail-Checker oder das Spiel „Mastermind“ programmiert.
Die jeweiligen Aufgaben sind immer gleich aufgebaut. Zunächst wird die Aufgabe in einem Punktesystem von 0 bis 4 hinsichtlich Schwierigkeit, Zeitaufwand und Kreativität bewertet. Es folgen die Themen, die die Aufgabe im Kern trainieren soll. Danach wird die Aufgabe beschrieben und das Ziel festgelegt. Eine Gute Idee sind die danach folgenden Testfälle zur Überprüfung der Programmierlösung. Zum Schluss folgen algorithmische Tipps, die helfen, wenn der Programmierende bei der Lösungssuche ins Stocken gerät.
Die Lösungen sind sowohl auf GitHub und Hanser Plus sowie im E-Book zu finden.
Fazit: Das Buch ist ein sehr guter Begleitung für den praktischen Start ins Programmieren. Die Aufgaben sind praxisnah und motivierend. Die Vorbereitungen für den Start sind minimal. Die mehr als 150 Aufgaben sollten lange Zeit beschäftigen. Lediglich für Fortgeschrittene, die gezielt die sprachspezifischen Eigenarten von Python oder Java lernen möchten, sollten eventuell zu einem anderen Lehrbuch greifen, da es hier um die grundsätzlichen Themen der Programmierung geht.
"Programmieren Trainieren" ist ein kurzweiliges Buch für blutige Anfänger. Es glänzt mit einer guten didaktischen Struktur, bei der immer wieder verschiedene Bereiche der Softwareentwicklung in Warm-Ups angenehm lesbar umrissen werden im Anschluss der Sprung in verschiedene praktische Aufgaben folgt.
Das ist erstmal super. Allerdings gibt es natürlich auch Verbesserungspotenziale:
Die vorgeschlagenen Lösungen sind dem jeweiligen Kenntnisstand entsprechend trivial. Hier fände ich es gut, später gezielt die gleichen Aufgaben nochmal aufzugreifen, um die Lernenden mit dem neuen Wissen im Gepäck früh an ein Refactoring zu gewöhnen.
Mir persönlich ist das Buch aber in sich ein wenig zu sehr geschlossen. Gerade gegen Ende sollten die angehenden Entwickler inspiriert werden, wie sie die nächsten Schritte gehen, wo sie zum Beispiel die Javadocs finden um sich kopfüber in die nächsten Herausforderungen zu stüzen.
Im Kapitel "Buch-Aufgaben ohne Processing lösen" wird zuerst mal in aller Tiefe Processing beschrieben. Das fand ich etwas irritierend und wäre vielleicht im Kapitel zur Installation von Processing besser aufgehoben gewesen.
Beim Kopieren von Code aus dem PDF über Seitenumbrüche hinweg erhält man immer wieder die Seitenzahl und den Kapitelnamen als jeweilige Kopfzeile mit kopiert. Hier wäre es gut den Seitenkopf in eine andere Ebene zu packen oder ein im PDF unsichtbares Kommentarzeichen in den Kopf aufzunehmen, um das schnelle Kopieren zu ermöglichen.
Nichts desto totz kann ich das Buch jedem empfehlen der die ersten Schritte in der Softwareentwicklung gehen möchte.
Das inklusive E-Book ist ein weiterer Vorteil dieses Buches. Es ermöglicht den Lesern, die Inhalte digital zu nutzen und jederzeit darauf zuzugreifen. Dies ist besonders nützlich für Studierende und Berufstätige, die flexibel lernen möchten. Das E-Book enthält alle Inhalte des gedruckten Buches und bietet zusätzliche interaktive Elemente, die das Lernen unterstützen.
Programmieren trainieren: Mit über 150 Workouts in Java und Python von Luigi Lo Iacono, Stephan Wiefling und Michael Schneider ist ein exzellentes Trainingsbuch für Programmierer aller Erfahrungsstufen. Mit seiner praxisnahen Herangehensweise und den umfangreichen Übungseinheiten bietet es eine wertvolle Ressource für das Erlernen und Vertiefen von Programmierkenntnissen in Java und Python. Der didaktische Aufbau und das inklusive E-Book machen es zu einem flexiblen und effektiven Werkzeug für das Selbststudium und die berufliche Weiterbildung. Für alle, die ihre Programmierfähigkeiten verbessern und anwenden möchten, ist dieses Buch eine unverzichtbare Ressource, rund herum zu Empfehlen!
Prof. Dr. Luigi Lo Iacono ist lehrt und forscht am Fachbereich Informatik der Hochschule Bonn-Rhein-Sieg und leitet dort das Institut für Cyber Security&Privacy. Seine Forschungs- und Entwicklungsinteressen liegen im Bereich sicherer verteilter Softwaresysteme.
Dr. Stephan Wiefling forscht am Institut für Cyber Security&Privacy der Hochschule Bonn-Rhein-Sieg. Seine Expertise hat er bereits in mehrere der 500 weltweit größten Unternehmen eingebracht.
Michael Schneider ist Softwarearchitekt hochflexibler und komplexer Softwaresysteme für die Fondsindustrie in Frankfurt/Main und zertifizierter Enterprise Application Developer für das .NET-Framework.
Prof. Dr. Luigi Lo Iacono ist lehrt und forscht am Fachbereich Informatik der Hochschule Bonn-Rhein-Sieg und leitet dort das Institut für Cyber Security&Privacy. Seine Forschungs- und Entwicklungsinteressen liegen im Bereich sicherer verteilter Softwaresysteme.
Dr. Stephan Wiefling forscht am Institut für Cyber Security&Privacy der Hochschule Bonn-Rhein-Sieg. Seine Expertise hat er bereits in mehrere der 500 weltweit größten Unternehmen eingebracht.
Michael Schneider ist Softwarearchitekt hochflexibler und komplexer Softwaresysteme für die Fondsindustrie in Frankfurt/Main und zertifizierter Enterprise Application Developer für das .NET-Framework.