Swift Playgrounds im Selbstversuch: Spielend programmieren lernen

Es gibt inzwischen etliche Möglichkeiten im Internet einfach und kostenlos programmieren zu lernen: Angefangen bei vollwertigen Uni-Kursen (sogenannte MOOC – Massive Online Open Courses), die komplett online absolviert werden können bis hin zu optimierten und interaktiven Lernangeboten wie Codecademy. Im Herbst 2016 wird Apple zusammen mit der neusten Version von iOS eine eigene Möglichkeit zum Lernen seiner Programmiersprache Swift vorstellen: Eine App namens „Playgrounds“. Wir probieren die Anwendung in der aktuellen iOS-10-Beta schon seit einigen Wochen aus.
Playgrounds: Ein weißes Blatt Papier für Code-Schnipsel
Apple tut viel, um seine eigene Programmiersprache Swift für neue Entwickler so attraktiv wie möglich zu machen. Eine von vielen Maßnahmen ist die Einführung der Playgrounds-App für iPads mit der kommenden Betriebssystem-Version iOS 10. In Apples Entwicklungsumgebung Xcode auf dem Mac gibt es Playgrounds schon lange: Ein Playground erlaubt es, kleine Code-Abschnitte zu schreiben, ohne gleich ein ganzes Projekt aufsetzen müssen. Genau dieser Vorgang ist nämlich für viele Neulinge sehr kompliziert. Ein solcher Playground hat keine Einstellungen und ist metaphorisch einfach nur ein weißes Blatt Papier, auf dem Entwickler sofort loslegen und sich dem Wichtigsten widmen können: der Programmiersprache.
Mit der neuen, kostenlosen App lassen sich einerseits neue Playgrounds auf dem iPad erstellen, andererseits auch mit dem Mac erstellte Code-Abschnitte auf dem Tablet ausführen. Playgrounds ist quasi eine Mini-Entwicklungsumgebung für das iPad. Und für diese Entwicklungsumgebung bietet Apple auch vorgefertigte Swift-Tutorials an. Bisher sind zwei solcher Kurse verfügbar. Sie heißen „Learn to Code 1: Fundamentals of Swift“ und „Learn to Code 2: Beyond the Basics“ und können über die Startseite der Playgrounds-App heruntergeladen werden.

Momentan bietet Apple zwei Swift-Kurse in Playgrounds an. Hoffentlich folgen bald weitere Einheiten. (Screenshot: t3n)
Ziel: Eine Spielfigur muss durch eine 3D-Welt bewegt werden
Das Setting beider Tutorials ist gleich: Der Bildschirm ist in zwei Hälften geteilt. Auf der einen Seite finden sich die Anweisungen zur aktuellen Übung und darunter der Quellcode, der entweder komplett selber geschrieben oder nur verändert werden muss. Auf der anderen Seite befindet sich eine virtuelle 3D-Welt, in der die Änderungen des Quellcodes sichtbar werden: Der Nutzer muss mit seinem Code eine lustige Spielfigur durch eine kleine Welt steuern. Dabei muss der Charakter in jedem Level Edelsteine aufsammeln oder Schalter umlegen und so seinen Weg zum jeweiligen Objekt finden.

Die Schwierigkeit der Level steigt stetig an. (Screenshot: t3n)
Die Swift-Tutorials sind explizit für Coding-Einsteiger gedacht.
Diese Tutorials richten sich explizit an Nutzer ohne Programmierkenntnisse. Dementsprechend ist auch der Aufbau beider Übungen gestaltet worden. Der erste Kurs besteht aus sieben Kapiteln, die sich jeweils aus sechs bis zehn Übungen/Levels zusammensetzen. Jedes Kapitel beginnt mit einer kleinen Erklärung in Form von wenigen animierten Folien, die das Prinzip der neuen Übungsbestandteile erklären.
Didaktischer Aufbau: Objektorientierung erst im zweiten Teil
Didaktisch wählt Apple einen sehr einfachen Verlauf der Kurse: Es beginnt mit der Einführung von Funktionsaufrufen und eigenen Funktionsdefinitionen und arbeitet sich dann über for-Schleifen und Conditions weiter zu logischen Operatoren sowie while-Schleifen vor und schließt mit der Einführung des Algorithmus-Begriffs im ersten Teil ab. Alle Inhalte im ersten Kurs sind also sehr allgemein und können in jeder Programmiersprache verwendet werden (von kleinen Syntax-Unterschieden abgesehen). Im ersten Teil der Tutorials werden die Nutzer also auch noch nicht mit Objektorientierung konfrontiert.
Das erfolgt erst im zweiten Teil, dort heißen die Themen Variablen, Typen, Initialisierung und Parameter. Außerdem geht man im zweiten Kurs dazu über, auch die Level zu modifizieren und nicht nur die Spielfigur zu steuern.

Die Inhalte des ersten Kurses sind allgemeingültig und können in jeder Programmiersprache angewendet werden. (Screenshot: t3n)
Schwierigkeit steigt innerhalb eines Kapitels an
Die Komplexität steigt innerhalb eines Kapitels von Übung zu Übung an. Die erste Übung ist meistens innerhalb von ein bis zwei Minuten und mit wenigen Befehlen zu lösen. Die letzten Übungen eines Kapitels sind deutlich komplexer und fordern die Nutzer mehr. Die Übungen im zweiten Kurs sind durchaus auch für Leute mit Informatik-Grundwissen amüsant und teilweise herausfordernd. Im Gegensatz zu den Online-Kursen bei Codecademy werden einzelne Teilbereiche deutlich stärker eingeübt. Gegen Ende eines Kapitels kann einen das aktuelle Thema schon ein bisschen nerven.
Vorteil gegenüber Browser-Kursen: Die kluge iOS-Tastatur
Die Quicktype-Tastatur und die optimierte Bedienoberfläche sind bestens für Touchscreens geeignet.
Eines der größten Argumente für Swift Playgrounds und gleichzeitig ein Alleinstellungsmerkmal gegenüber anderen Online-Kursen im Browser ist die perfekt angepasste Benutzeroberfläche: In der Quicktype-Leiste oberhalb der Tastatur, dort wo sonst Wort-Vervollständigungen angezeigt werden, sieht man immer komfortable Möglichkeiten zur Code-Vervollständigung. Dort finden sich alle verfügbaren Methoden-Aufrufe, Objekte und Variablen – auch solche, die vom Nutzer selbst definiert wurden. Außerdem sind die Vorschläge kontextsensitiv: Befindet sich der Cursor gerade im Kopf einer while-Schleife, weiß die Tastatur, dass nun eine Condition folgen muss und passt die Quicktype-Vorschläge an, indem zum Beispiel die logischen Operatoren && (AND) bzw. || (OR) angezeigt werden.
Aber auch das Hinzufügen von ganzen Code-Blöcken funktioniert extrem komfortabel über ein eigenes Menü am oberen Bildrand. Ebenso wurde das Editieren von Code elegant gelöst – Nutzer müssen den Textcursor fast nie buchstabengenau positionieren. Ein Klick auf die umgebende Struktur oder einen Bezeichner reicht aus, um ihn zu bearbeiten oder zu verschieben.

Die meisten Level können komplett mit Hilfe der Quicktype-Leiste am unteren Bildrand gelöst werden. Größere Code-Blöcke können ebenfalls komfortabel hinzugefügt werden. (Screenshot: t3n)
Durch die gute Code-Vervollständigung finden sich Anfänger schnell zurecht, das Programmieren auf einem Touchscreen wird sehr angenehm gemacht. Gleichzeitig ist das aber nicht zuträglich für die Syntax-Kenntnisse der Nutzer. Jemand, der die Playgrounds-Tutorials absolviert hat, könnte sich beim Schritt in eine richtige Entwicklungsumgebung schwer tun, weil die Auto-Vervollständigung dort nicht so umfangreich funktioniert.
Fazit: Ein guter Einstieg in Informatik-Themen
Die Swift-Playgrounds-App von Apple ist ein toller Weg, Leuten ohne Programmierkenntnisse einen Einstieg in Themen und Denkweisen der Informatik zu vermitteln. Die Konzeption der beiden ersten Kurse ist einsteigerfreundlich. Liebevoll gestaltete Level und Spielfiguren machen die einzelnen Übungen interessant und abwechslungsreicher als klassische Hallo-Welt-Konsolenprogramme. Deswegen eignen sich die Playground-Tutorials für alle Nutzer: Egal ob IT-Nerd oder totaler Anfänger, egal ob Rentner oder Schüler. Durch die hervorragende Benutzeroberfläche und die Quicktype-Tastatur funktionieren die Playgrounds-Tutorials auch super mit dem Touchscreen und damit auch im Flugzeug oder in der Bahn. Alle diese Maßnahmen klingen für Entwickler wie Spielereien, senken aber die Hürde für Einsteiger deutlich – und genau das ist enorm wichtig für unsere Gesellschaft. Beide Tutorials können mit ein bisschen Ehrgeiz innerhalb weniger Tage durchgearbeitet werden. Am Ende sind die Nutzer keinesfalls fertige Entwickler, sondern kennen lediglich elementare Grundlagen der Informatik. Aber vielleicht wird in ihnen genug Interesse geweckt, anschließend auf eine richtige Entwicklungsumgebung und größere Projekte umzusteigen.