Einstieg ins Programmieren mit Python

Teile uns

Informatik-Unterricht hält langsam aber sicher Einzug in den Schulzimmern. Im neuen Lehrplan 21 wird Informatik schon auf Primar- und Sekundar-Stufe unterrichtet. Und auch an Sek II-Schulen wird aller Voraussicht nach ein obligatorischer Programmier-Unterricht für alle eingeführt. In welcher Programmiersprache soll das geschehen? Gibt es eine geeignete Entwicklungsumgebung? Dieser Post ist ein Plädoyer für Python sein. Als Lehrmittel wird tigerjython.ch vorgeschlagen.

Will man Programmieren unterrichten, ist die wichtigste Frage: In welcher Programmiersprache? Der Entscheid für die Prorgammiersprache bestimmt teilweise über den Erfolg eines Kurses. Sind die Schülerinnen und Schüler schnell in der Lage, selbst Programme zu schreiben, die erstens laufen und die sie zweitens verstehen, bleiben sie konzentriert und motiviert, sich weiterhin mit der Materie zu beschäftigen. Ist umgekehrt der Initialaufwand zu gross, um ein lauffähiges Programm selbst zu schreiben, fühlen sich die Lernenden schnell überfordert, und die Motivation lässt nach. Bei einem obligatorischen Fach Informatik muss damit gerechnet werden, dass nicht alle Schülerinnen und Schüler intrinsisch motiviert sind, sich mit der Materie zu befassen. Es ist also von grösster Wichtigkeit, dass der Einstieg ins neue Fach so gestaltet ist, dass alle schnell zu einem Erfolgserlebnis kommen. Dafür ist Python hervorragend geeignet.

Schneller Einstieg

Ich setze im Ergänzungsfach Informatik zum ersten Mal auf Python. Der Entscheid hat sich bereits gelohnt. Denn so einfach wie mit Python war der Einsteig ins Programmieren noch nie. Obwohl es Ergänzungsfach heisst, ist die Situation in der Regel nämlich so, dass die allermeisten Schülerinnen und Schüler noch überhaupt keine Erfahrung im Programmieren haben. Mit Java – der Sprache, die ich bisher verwendet habe – gelang es den Schülern zwar auch nach kurzer Zeit, ein Programm zu schreiben. Aber viele Teile des Codes blieben für die Lernenden geheimnisvoll. Beispielsweise der Grund für die Typisierung der Variablen, die zwingend nötigen Funktionen (public static void main() zum Beispiel), die Grundstruktur der Klasse etc. war den Lernenden oft nicht klar. Bei Python ist das ganz anders. Jede Zeile Code ist auch für Anfängerinnen und Anfänger nachvollziehbar. Bereits nach zehn Minuten sind sie in der Lage, ein eigenes Programm zu schreiben, das sie auch verstehen. Das wirkt motivierend.

Aktuell

Python ist auch im industriellen Umfeld auf dem Vormarsch. Insbesondere im Bereich Data Science und Statistik ist Python derzeit sehr angesagt. Dadurch erhalten die Schülerinnen und Schüler nicht nur die Möglichkeit, eine für Anfänger einfache Sprache zu erlernen, sondern sie lernen auch eine relevante Programmiersprache. Anders als beispielsweise Logo, das eigentlich fast nur zu edukativen Zwecken eingesetzt wird, ist Python eine „echte“ Programmiersprache, die nicht in erster Linie für Lernende konzipiert ist. 

Dies belegt auch der stets aktualisierte Tiobe Index, der eine Übersicht über die beliebtesten Programmiersprachen zeigt (siehe Bild). In diesem Index sind die jahrelangen Leader Java und C auf dem absteigenden Ast. Dahinter etabliert sich langsam aber sicher Python. 

Breit einsetzbar

Ein grosser Vorzug von Python ist sein breites Einsatzgebiet. So lassen sich nicht nur elementare Algorithmen für Programmieranfänger mit Python umsetzen, sondern auch komplexe Datenanalysen, klassische Algorithmen, grafische Programmierung oder Datenbankanwendungen sind mit Python einfach umsetzbar. Entscheidend für den Unterricht ist meiner Ansicht nach aber auch, dass sowohl Legoroboter und der 50-Franken-Computer Raspberry Pi mit Python programmiert werden können.

Anders gesagt: Die Schülerinnen und Schüler lernen eine einzige Programmiersprache und sind damit in der Lage so weit zu gehen, wie es ihrem Können und Vorwissen entspricht. Es gibt kein Ende und keine Einschränkung beim Einsatz von Python, auch wenn es vielleicht für spezifische Anwendungen, wie etwa Simulationen oder Arduino-Programmierung, geeignetere Programmiersprachen gibt.

Einfacher Editor

In meinem Ergänzungsfach setze ich tigerjython von Tobias Kohn zusammen mit dem entsprechenden Lehrmittel als Entwicklungsumgebung ein. Der Grund für diesen Entscheid ist die Integration aller Libraries, die im Lehrmittel tigerjython.ch verwendet werden. Zudem ist tigerjython in Java geschrieben und kommt als ausführbares jar-File daher. Damit ist es auf jedem Betriebssystem ausführbar, sofern eine Java-Runtime-Environment installiert ist. Tigerjython braucht auch nicht installiert zu werden, was den Gebrauch auf Schulrechnern sehr unkompliziert macht. Schade ist nur, dass der Editor auf Python 2.7. Die neuen Python 3-Features sind damit noch nicht nutzbar.

Der Editor sieht sehr einfach aus, bietet aber dennoch viele Features, die man von einem Editor erwartet. Insbesondere macht er Code-Vorschläge, bietet die Möglichkeit, Programme zu starten und hat eine sehr gute Debug-Funktion, bei der jederzeit sämtliche Variablen und deren Werte sichtbar sind. Die Schülerinnen und Schüler finden sich im Nu zurecht. Erklärungen von Lehrerseite sind kaum nötig.

Lehrmittel: tigerjython.ch

Als Lehrmittel setze ich im Ergänzungsfach tigerjython.ch ein. Es ist online verfügbar und frei nutzbar für den Unterricht. Es ist in Kapiteln aufgebaut, von denen jedes ein grundlegendes Konzept oder ein Anwendungsbereich abdeckt. 

Ein Problem, dem man in jedem Programmierunterricht begegnet, sind die unterschiedlichen Kenntnisstände der Schülerinnen und Schüler. Hier leistet tigerjython.ch gute Unterstützung. Während man mit den Anfängern die Grundlagen der Programmierung erarbeitet, arbeiten sich die Fortgeschrittenen völlig selbständig durch die anspruchsvolleren Fragestellungen durch. Jeder Themenbereich ist mit einem erläuternden Text versehen, der ins Thema einführt. Zudem werden die Programmierkonzepte mit lauffähigem Code veranschaulicht und schliesslich in den Aufgaben vertieft und gefestigt. 

Fazit

Die ersten Erfahrungen mit dem Lehrmittel sind sehr gut. Die Lernenden stürzen sich auf die Aufgaben und vertiefen sich von alleine in die Fragestellungen. Dabei nutzen sie die vom Lehrmittel angebotenen Code-Beispiele, um diese zu erweitern, abzuändern und zu abstrahieren. Auch jene Schülerinnen und Schüler, die schon über Programmierkenntnisse verfügen, finden schnell Fragestellungen, die sie ansprechen und herausfordern.

Ich bin gespannt, wie sich der Unterricht mit Python weiter entwickelt. Ich bin allerdings sehr zuversichtlich, dass sich die guten Erfahrungen fortsetzen werden. 

 

Posts, die sie auch interessieren könnten:

3 Kommentare

  1. Pingback: Einstieg ins Programmieren mit Python | quisquilia
  2. Lieber Emil

    Ich kann deine Erfahrungen nur teilen und bestätigen: Die Kursteilnehmer im EF INF sind super konzentriert bei der Arbeit und die Fortschritte in kurzer Zeit hätte ich nicht für möglich gehalten. Das Lehrmittel finde ich total durchdacht und baut sehr schön auf. Die einzelnen Kapitel sind gute Einheiten, die nicht zwingend jeweils alle bearbeitet werden müssen…

  3. Am Montag, 28.2.23 bin ich zum 5. Mal Grossvater geworden. Der Python Script, welcher das Alter in Tagen bestimmt, sieht folgendermassen aus:

    import datetime
    today = datetime.date.today()
    birthday = datetime.date(2023, 02, 28)
    diff = today – birthday
    print(diff.days)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert