Programmieren trainieren: Mit über 120 Workouts in Java und Python Buch-Vorstellung

Die Grundlagen der Programmierung sind meist schnell erlernt - Variablen, Bedingungen, Schleifen. Doch dann ist meist auch Schluss, an große Projekte traut man sich noch nicht und die paar vorhandenen Lernbeispiele kennt man schon auswendig. In diese Lücke will nun das Buch „Programmieren Trainieren“ von Luigi Lo Iacono, Stephan Wiefling und Michael Schneider stoßen. Schon der Untertitel „Mit über 120 Workouts in Java und Python“ verspricht viele spannende Coding-Sessions, um das Gelernte in der Praxis umzusetzen. Was euch in „Programmieren Trainieren“ erwartet, erfahrt ihr in der nachfolgenden Buchvorstellung.

Inhalt

Niemand geringeres als Dirk Louis, seines Zeichens selbst Fachbuchautor von zahlreichen Grundlagenbücher zum Erlernen von Programmiersprachen wie C oder Java, schreibt im Vorwort, warum die Grundlagenbücher nur ein erster Schritt sind und so ein spezielles Übungsbuch überhaupt von Nöten ist:

“[…] Viele Lehrformate gehen hier nicht weit genug. Die falsche Annahme ist dabei häufig, dass ein Beispiel und eine Übungsaufgabe zum Verständnis ausreichen. Weit gefehlt. Es fängt schon damit an, dass nicht jeder mit dem gegebenen Beispiel oder der gestellten Übungsaufgabe etwas anfangen kann. Hier schafft das vorliegende Buch Abhilfe, und es gehört damit in die „Einstieg in die Programmierung“-Ecke deines Bücherregals. […]

Die Autoren beschreiben den Zweck des Buchs im Einleitungsartikels etwas nüchterner:

[…] Unserer Ansatz ist deshalb, durch viele spannende Programmieraufgaben das nötige Material zum Trainieren bereitzustellen. Du wirst in diesem Buch im Wesentlichen Aufgabenstellungen von uns bekommen, an denen du Aufgabe für Aufgabe alle relevanten Programmierkonzepte üben kannst. […]

Die Aufgaben gehen dabei weit über die bekannten „Lehrbuchaufgaben“ hinaus und orientieren sich teilweise an praktischen Anwendungsszenarien. Statt abstrakte Mathematikaufgaben versprechen die Autoren Aufgaben die etwas Nützliches tun oder einfach nur schön anzusehen sind. Ab und an, wird man sich dann aber doch auch noch in die Welt der Mathematik stürzen dürfen.

Inhaltlich sind alle Grundkonzepte der Programmierung vorhanden. Die Autoren hangeln sich dabei an der schon etablierten Struktur von Einführungslehrbüchern voran. So geht es nach einer ersten Einführung in die Programmierung, im dritten Kapitel mit Aufgaben zu Variablen, Datentypen, Operatoren und Ausdrücke los. Es folgen im vierten Kapitel Aufgaben zu Kontrollstrukturen, im Kapitel fünf Aufgaben zu Funktionen, das sechste Kapitel bietet Herausforderungen zu Arrays, während das siebte Kapitel Strings und Stringverarbeitung behandelt. Die letzten drei Kapitel behandeln mit Aufgaben rund um Objektorientierung, Referenzdatentypen und Vererbung schon Programmierkonzepte für fortgeschrittene Programmierer.

Vom zweiten Kapitel, das sich um die Einführung in die Programmierung dreht, darf man sich übrigens nicht irritieren lassen. Grundkenntnisse in den Programmiersprachen Java oder Python muss man schon vor dem Durcharbeiten des Buchs besitzen. Die Basics werden hier nicht mehr beigebracht. Es werden lediglich vor jedem Kapitel noch einmal in einem Warmup das Thema kurz angeschnitten und grundlegend auf ein, zwei Seiten erklärt. Dies soll zur Gedächtnisstütze beitragen, im Grunde sollte man aber schon so weit sein, dass man diese Einführung überspringen und direkt an die Aufgaben gehen kann.

Aufbau

Wie schon angesprochen, beginnt jedes Kapitel mit einem kleinen Warmup, in dem das behandelte Programmierkonzept noch einmal kurz beleuchtet wird. Anschließend folgen auch schon die verschiedenen Aufgaben.

Über jeder Aufgabe stehen die drei Kategorie: Schwierigkeit, Kreativität und Zeitaufwand. Die Aufgaben sind dabei je Kategorie in einer vierstufigen Skala eingeteilt und aufsteigend sortiert. So findet man zu Beginn jedes Kapitels immer die Aufgaben, die einen einfachen Schwierigkeitsgrad haben und wenig Zeit und Kreativität benötigen. Wer sich schon relativ sicher im Umgang mit der Programmiersprache fühlt, kann diese Aufgaben einfach überspringen und sich größere Herausforderungen stellen.

Ausschnitt aus dem Buch Programmieren Trainieren

Neben der Einordnung in die genannten Kategorie wird bei jeder Aufgabe noch eine Einordnung in den behandelten Themen vorgenommen, ehe die Aufgabenbeschreibung und anschließend die Aufgabenstellung folgt. Damit man sein geschriebenes Programm auch testen kann, folgen anschließend Testfälle. Falls es einmal stocken sollte, gibt es am Ende jeder Aufgabe noch ein paar algorithmische Tipps, die bei der Aufgabenlösung helfen sollen, ohne das sie gleich die komplette Lösung enthüllen.

Wer noch keine Entwicklungsumgebung auf dem eigenen PC am Laufen hat, dem empfehlen die Autoren das frei und kostenlos verfügbare Tool Processing. Mit diesem Tool kann man sich auf das Wesentliche konzentrieren und man erspart sich den Frust, wenn man das erste Mal eine professionelle Programmierumgebung installieren und einrichten müsste.

Die Lösungen findet man am Ende des Buchs. Sowohl für die Programmiersprache Java als auch für die Programmiersprache Python. Wer die Lösungen digital haben möchte, der findet auf Github die Quelltexte zum Buch, damit erspart man sich das Abtippen, wenn man nicht selbst auf die Lösung gekommen ist und das Programm ausprobieren möchte.

Fazit

Wer schon die Übungsaufgaben im Programmierunterricht in der Schule oder Uni gemocht hat, der wird „Programmieren Trainieren“ lieben. Auch alle andere, die bereits ein Grundlagenbuch der Programmiersprache Java oder Python ihr eigenen nennen dürfen und nun das Gelernte weiter vertiefen wollen, kann das Buch nur ans Herz gelegt werden. Sauber gegliedert, bietet „Programmieren Trainieren“ 120 Aufgaben, die übersichtlich dargestellt sind und so dabei helfen die unterschiedlichen Programmierbestandteile spielerisch zu festigen. Eine Leseprobe findet man auf der Website des Hanser Fachverlags, der "Programmieren Trainieren" verlegt.

Die Buch-Vorstellung wurde am 03.06.2018 veröffentlicht.