An der Hochschule für Technik (HFT) Stuttgart wurde im Rahmen eines Pilotprojektes versucht, Jugendliche spielerisch in die Programmierung unter Android einzuführen. Die Projektleiter Prof. Heusch und Prof. Knauth berichten über ihre Erfahrungen.
Informatik hat in etwa so viel mit Computern zu tun wie Astronomie mit Teleskopen. Dennoch ist der Computer entscheidend für ein tieferes Verständnis der Informatik, schließlich lebt diese als naturwissenschaftlich, technische Wissenschaft ganz entscheidend vom Experiment beziehungsweise Versuch. Nur durch die tatsächliche Umsetzung lässt sich die Gültigkeit von Annahmen prüfen oder eben widerlegen. Und trotz aller Bemühungen, die Informatik durch Einsatz symbolischer Darstellungen zu visualisieren, führt bei der Realisierung von Informatiksystemen nach Meinung der Autoren kein Weg an der klassischen Programmierung und somit auch einer Programmiersprache vorbei.
Kriterien der Projektauswahl
Da an vielen Hochschulen die Programmiervorlesungen auf Basis von Java gehalten werden, erschien es naheliegend, für Schülerinnen und Schüler eine Einführung in Java anzubieten. Es war von Anfang an klar, dass für ein solches Projekt mehr als ein Tag zu veranschlagen war. Aus diesem Grunde wurde die Pfingstwoche gewählt, welche in Baden-Württemberg schulfrei ist. Neben der Einführung in die eigentliche Programmiersprache sollte natürlich auch ein möglichst interessantes Projekt umgesetzt werden, das gleichzeitig unterhaltsam, aber in Bezug auf die Realisierung nicht zu anspruchsvoll sein durfte. Die Wahl fiel daher auf die Programmierung grafischer Anwendungen, bei denen das Programm selbst Zeichenoperationen auf einer Benutzeroberfläche ausführt. Diese Themenstellung bietet drei für die Einführung relevante Vorteile: –– Der Quellcode benötigt wenige Kontrollstrukturen und Datentypen. –– Die Programmfehler sind – im wahrsten Sinne des Wortes – sichtbar. –– Das Ergebnis lässt sich zu Hause oder bei Freunden gut vorzeigen. Insbesondere der letzte Punkt erschien wichtig, daher wurde neben der Entscheidung für eine grafische Benutzeroberfläche auch festgelegt, dass zumindest eines der Programme ein Smartphone-Spiel sein sollte. Aufgrund der Verbreitung von Android als Betriebssystem wurde dieses Betriebssystem als Zielplattform definiert. Die Projektwoche war in zwei Teile unterteilt. Im ersten Teil wurde Java eingeführt. Hierbei wurden grundlegende Konzepte wie elementare Datentypen, Kontrollstrukturen (if, while), Methoden und als einzige höhere Datenstruktur die Liste eingeführt. In dieser Phase erstellten die Teilnehmenden eine analoge Uhr mit Stunden-, Minuten- und Sekundenzeiger. Natürlich kam es bei der Programmierung der Uhr zu vielen lehrreichen Fehlern. Dabei wurden Themen wie Parallelität angesprochen, also die Reaktion auf Benutzereingaben.
Ping, der Spieleklassiker
In der zweiten Wochenhälfte wurden die bisherigen Erkenntnisse schließlich für die Programmierung eines Smartphone-Spiels verwendet: Das bereits 1972 veröffentlichte Spiel Pong, allerdings in einer Variante für nur eine Person. Hierzu wurde zunächst die Definition von Benutzeroberflächen unter Android eingeführt. Danach die eigentliche Spiellogik programmiert, welche aufgrund der Einfachheit des Spiels keinen großen Aufwand beinhaltet, allerdings mit Fragestellungen wie der Berechnung der Ballflugbahn (Einfallswinkel = Ausfallswinkel) durchaus einige Fallstricke aufwies. Auch mussten die Teilnehmenden hier den ersten Entwurf des Spiels für eine gute Spielbarkeit optimieren. Die Projektwoche hat großen Anklang gefunden. Das didaktische Konzept ging auf, den Gesamtzusammenhang und konkrete Umsetzungen zu erarbeiten, aber Details wie die Rahmenstruktur einer Android App als gegeben hinzunehmen. Ein solches Herangehen entspricht in vielen Bereichen den Entwicklungsmodellen der angewandten Informatik in Unternehmen. Besonders motivierend war es, dass die umgesetzten Programme direkt auf dem eigenen Smartphone zum Herumzeigen mitgenommen werden konnten.
Prof. Dr. Peter Heusch
Prof. Dr. Stefan Knauth