Da ich nun die zweite Phase meiner Unterrichtssequenz abgeschlossen habe, will ich euch wie versprochen an meinen Erfahrungen teilhaben lassen. Der Übergang zum „echten Programmieren“ finde ich, gelingt mit dieser Methode besser. Davon mehr im Beitrag. Den ersten Teil findet ihr hier: Programmieren mit Ipads und Python (1)

Ausgangssituation: In der Jahrgangsstufe 10 haben wir in Informationstechnologie das Modul: Modellierung und Codierung von Algorithmen. Dieses Modul habe ich bisher mit der visuellen Programmiersprache scratch als Einstieg und anschließend mit Python gestaltet.

Für alle die sich mit dem Thema Programmieren Lernen noch nicht beschäftigt haben ist zunächst mal interessant wie man beginnt. Das denke ich kommt immer auf die Altersstufe an, aber in jedem Fall würde ich eine visuelle Programmiersprache wie Scratch oder Swift Playgrounds bevorzugen. Dabei müssen die Kinder oder Jugendlichen am Anfang keine Codeblöcke schreiben, sondern sie müssen sie mit einer Art Steckbaukasten einfach zusammensetzen. Diese Hilfen gibt es auch im Gebiet der Robotik. Die Ausgabe bzw. das Ausführen des Codes erzeugt direkt eine sichtbare Reaktion. Im Fall von Scratch kann das eine Katze sein, die sich über die Oberfläche bewegt. Im Fall von Swift Playgrounds ist es eine Figur, die sich in einer virtuellen Umgebung bewegt. 

Jetzt zu meiner Unterrichtssequenz. Im ersten Teil haben die Schüler mit Hilfe von Swift Playgrounds  die Begriffe Befehl, Sequenz, Debugging, Funktion, For-Schleife, While-Schleife, Bedingte Anweisung,... spielerisch erlernt. Die Schüler arbeiteten in der Regel selbstständig, nur am Anfang und am Ende der Stunde wurden Ziele besprochen bzw. Wissen gesichert. Eine Differenzierung war durch optionale Aufgaben in jedem Kapitel gegeben. Eine große Stütze war dabei das Lehrerhandbuch, das auch viele Ideen und Übungen ohne Ipads enthielt.

Nachdem die Schüler in dieser ersten Phase die wichtigsten Begriffe erlernt und verstanden hatten, wechselten wir in die Programmsprache Python. Dabei nutzte ich die Seite www.learnpython.org und einige Ideen meines Kurses bei www.codecademy.com. Als Entwicklungsumgebung benutzten wir die Seite www.repl.it/langugages/python3 die sich als sehr stabil und praktisch erwiesen hat.

Der Wechsel zu einer „echten“ Programmsprache war zunächst ernüchternd für die Schüler, weil trotz Debugging und Codevorschlägen jeder Tippfehler oder jedes fehlende Zeichen eine Fehlermeldung erzeugten und man nicht so einfach ein Ergebnis erhielt. Schüler die bei der visuellen Programmsprache regelrecht vorangesprescht sind, hatten nun teilweise erste Schwierigkeiten. Aber es war ganz klar erkennbar, dass sich die gezielte Arbeit in Playgrounds gelohnt hatte. Auch wenn die Umstellung nicht jedem leicht fiel, so mussten Begriffen wie for-Schleifen oder bedingte Anweisungen nicht mehr erklärt werden. D.h. die Schüler hatten wirklich verstanden wie Programmieren und Logik funktioniert und mussten jetzt nur noch die Sprache lernen. Für mich der wichtigste Punkt und viel mehr kann Schule auch nicht leisten. 

Mittlerweile  mussten die Schüler in einem Test zeigen, was Sie können. Und es zeigte sich, dass alle Schüler das Prinzip verstanden haben. Die abgelieferten Leistungen zeigten die natürliche Streuung und echte Programmierprofis zeigten ihr erstes Können. Hier ein paar Codebeispiele, damit ihr euch eine Vorstellung vom Schwierigkeitsgrad machen könnt. Und für die Experten: Wir haben auch Funktionen gemacht und diese anschließend verwendet für den Rechner. 

Fazit: 

Für meine Altersstufe hat sich der Umstieg gelohnt. Die Einstiegssequenz mit Playgrounds war eine gezielte Vorbereitung ohne dabei ihren spielerischen Aspekt zu verlieren. Der Umstieg auf eine „echte“ Programmsprache gelang in Sachen Algorithmen, Problemlösung und Codeelemente. Warum ich nicht bei Swift geblieben bin, hat den einfachen Grund, dass Python universell einsatzbereit ist und mir von Armin Hanisch empfohlen wurde. Sie ist sehr einfach (wenige Zeichenvorschriften) und gewährleistet so eine unabhängige Ausbildung. M Vergleich zu meiner alten Sequenz wurden „gute“ Schüler  hier besser gefordert und konnten ihr Können ausprobieren.

Was würde ich anders machen? Eigentlich fällt mir nicht direkt was ein. Will man auf den Ipads weiterarbeiten empfehle ich eine App wie Pythonista, denn die Brosweranwendung funktioniert hier nicht optimal. Jedoch hatte die Arbeit am PC den Vorteil, dass die Schüler leichter im Zweifenstermodus arbeiten konnten auf den großen Bildschirmen und die Befehle mit einer Tastatur besser eingegeben werden können. 

 

Impressum und Datenschutzerklärung