ILV INFORMATIK (HG, SG, MUG, SWG), JGST. 10 - ISB BAYERN

Die Seite wird erstellt Linus-Maximilian Gebhardt
 
WEITER LESEN
ILV INFORMATIK (HG, SG, MUG, SWG), JGST. 10 - ISB BAYERN
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                    Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                  Stand: Mai 2021

ILV Informatik (HG, SG, MuG, SWG), Jgst. 10

Der folgende Vorschlag einer inhaltlichen Gestaltung der ersten beiden Seminarsitzungen greift auf die visuelle Programmierumgebung Snap!
des Massachusetts Institute of Technology (MIT) zurück. Diese Programmierumgebung mit eigener Programmiersprache vermeidet auf der
einen Seite syntaktische Fehler, gleichzeitig lässt sie aber auch die Implementierung von anspruchsvollen Algorithmen zu. Snap! besitzt einen
objektorientierten Ansatz. So lassen sich beliebig viele graphische Elemente erstellen, die jeweils für sich eigene Programme (Skripte) besitzen,
die durch ein Ereignis (z. B. Tastendruck oder Interaktion mit einem anderen Grafikobjekt) gestartet werden können. Im Folgenden werden die
Begriffe Programm und Skript gleichwertig verwendet.
Snap! lässt sich entweder direkt im Browser (https://snap.berkeley.edu/snap/snap.html) oder als eigenständiges Programm offline verwenden.
Die Speicherung von Programmen erfolgt entweder im Browser (Web Storage) in einem eigenen Cloudspeicher von Snap! oder durch den
Export im XML-Format. In der Cloud gespeicherte Programme können einfach veröffentlicht werden. Die Links zu den Aufgaben verwenden
diese Möglichkeit.
Weitere mögliche Werkzeuge und Programmiersprachen zur Behandlung der Algorithmik werden am Ende des Dokuments kurz aufgeführt.

                                                                                                                                       Seite 1/26
ILV INFORMATIK (HG, SG, MUG, SWG), JGST. 10 - ISB BAYERN
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                     Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                      Stand: Mai 2021

Seminarsitzung 1:
Didaktische Überlegungen:
In der ersten Seminarsitzung sollen die Schülerinnen und Schüler zurückgreifend auf ihr Wissen des NuT-Unterrichts aus der Jgst. 7 die algorithmischen
Grundstrukturen wiederholen. In Vorbereitung zu dieser Stunde wäre z. B. auch das Selbststudium von Onlinekurse wie z. B. code.org möglich.
Im zweiten Teil der Seminarsitzung soll das Variablenkonzept eingeführt werden. Unabhängig von der eingesetzten Programmiersprache werden dabei die
Definition und Wertzuweisung von Variablen thematisiert. Auch bei nicht typisierten Programmiersprachen wie Snap! und Python soll die Problematik von
Datentypen behandelt werden.
Die folgenden Aufgaben zeigen eine mögliche Progression der Seminarsitzung. Neue Inhalte und Konzepte werden dabei in geeigneter Form von der
Lehrkraft eingeführt.

                                                                                                                                            Seite 2/26
ILV INFORMATIK (HG, SG, MUG, SWG), JGST. 10 - ISB BAYERN
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                    Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                     Stand: Mai 2021

1. Stunde:
    • Vorstellung der verwendeten Programmierumgebung (https://snap.berkeley.edu/snap/snap.html).
    • Test einzelner Anweisungen zum Bewegen von Objekten, Speichern von Dateien

                                                                                                         Seite 3/26
ILV INFORMATIK (HG, SG, MUG, SWG), JGST. 10 - ISB BAYERN
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                  Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                        Stand: Mai 2021

•   Sequenz als Folge von Anweisungen

    Aufgabe 1:
        a) Erstellen Sie ein Programm, das ein Quadrat beginnend mit der unteren linken Ecke mit einer Seitenlänge von 100 Pixeln zeichnet und dann
           den Stift auf die rechte untere Ecke setzt.
        b) Ergänzen Sie das Programm aus Teilaufgabe a, sodass der Bildschirm zu Beginn gelöscht wird.
        c) Verändern Sie das Programm aus Teilaufgabe b, sodass ein Quadrat mit der Seitenlänge von 50 Pixeln gezeichnet wird.
    Lösungsvorschlag zu Teilaufgabe b:

    → https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_01_sequenz

    Lösungshinweis zu Teilaufgabe c: ersetze „gehe 100 Schritte“ durch „gehe 50 Schritte“

                                                                                                                                           Seite 4/26
ILV INFORMATIK (HG, SG, MUG, SWG), JGST. 10 - ISB BAYERN
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                 Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                      Stand: Mai 2021

•   Wiederholung mit fester Anzahl

    Aufgabe 2:
       a) Teile des obigen Programms (Aufgabe 1) wiederholen sich. Nutzen Sie den Wiederholungsblock, um das Programm zu verkürzen.
       b) Verändern Sie das Programm aus Teilaufgabe a, sodass ein Quadrat mit der Seitenlänge von 150 Pixeln gezeichnet wird. Beschreiben Sie,
          welcher Vorteil sich aus der Verwendung von Wiederholungen ergibt.
    Lösungsvorschlag:

           → https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_01_wdh_feste_Anzahl

       c) Erstellen Sie ein Programm aus möglichst wenigen Blöcken, das den folgenden Stern zeichnet.

                                                                                Lösungsvorschlag:

                                                                                                                                        Seite 5/26
ILV INFORMATIK (HG, SG, MUG, SWG), JGST. 10 - ISB BAYERN
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                 Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                       Stand: Mai 2021

•   einfache Verschachtelungen von Wiederholungen mit fester Anzahl

    Aufgabe 3:
       a) Erstellen Sie ein Programm, das 10 Quadrate mit einer Seitenlänge von 20 Pixeln nebeneinander zeichnet.
       b) Verändern Sie das Programm aus Teilaufgabe a, sodass ein Gitternetz mit einer bestimmten Spalten- und Zeilenanzahl gezeichnet wird.
    Lösungsvorschläge:

      → https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_01_verschachtelung_wdh_&editMode&noRun

                                                                                                                                         Seite 6/26
ILV INFORMATIK (HG, SG, MUG, SWG), JGST. 10 - ISB BAYERN
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
            Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                               Stand: Mai 2021

Ergänzungen und Variationen:

  → https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_01_verschachtelung_wdh_b&editMode&noRun

                                                                                                                            Seite 7/26
ILV INFORMATIK (HG, SG, MUG, SWG), JGST. 10 - ISB BAYERN
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                 Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                                   Stand: Mai 2021

•   bedingte Wiederholung

    Aufgabe 4:
       a) Erstellen Sie zwei neue Objekte, die einen Pfeil bzw. einen Ball darstellen.
       b) Schreiben Sie für das Objekt des Pfeils ein Skript, bei dem sich der Pfeil solange nach rechts bewegt, bis er auf den Ball trifft.
    Lösungsvorschlag:

           → https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_01_bedingte_wdh

•   bedingte Anweisung

    Aufgabe 5:
       a) Öffnen Sie das folgende Projekt:
          https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_01_bedingte_anweisung&editMode&noRun
          Erstellen Sie ein Programm, bei dem sich das ellipsenförmige Objekt geradeaus bewegt und sich um 90° nach links dreht, wenn es auf eine
          blaue Linie trifft.
       b) Ergänzen Sie das Programm aus Teilaufgabe a, sodass sich das ellipsenförmige Objekt um einen zufälligen Winkel dreht, wenn er auf eine
          blaue Linie trifft.
       c) Fügen Sie im Hintergrundbild schwarze kurze Linien ein, die Schmutz auf der Zeichenfläche (Bühne) darstellen sollen. Ergänzen Sie Ihr
          Programm, sodass das bewegte Objekt beim Überfahren der schwarzen Pixel diese weiß färbt (Saugroboter).

                                                                                                                                                    Seite 8/26
ILV INFORMATIK (HG, SG, MUG, SWG), JGST. 10 - ISB BAYERN
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
             Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                               Stand: Mai 2021

Lösungsvorschlag zu den Teilaufgaben a und b:

Lösungsvorschlag zur Teilaufgabe c:

   → https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_01_bedingte_anweisung_c&editMode&noRun

                                                                                                                                Seite 9/26
ILV INFORMATIK (HG, SG, MUG, SWG), JGST. 10 - ISB BAYERN
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                     Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                             Stand: Mai 2021

2. Stunde:
    • Variablenkonzept
           o Variable (Bezeichner, Wert)
           o Arten von Variablen (Parameter, lokale Variable)
           o Wertzuweisung

       Aufgabe 6 (Definition und Wertzuweisung von Variablen):

           a) Erstellen Sie im Menü               eine neue Variable mit dem Namen zähler.
           b) Erstellen Sie ein Skript, das beim Starten sekundenweise von 10 bis 0 herunterzählt.
           c) Verändern Sie Ihr Skript aus Teilaufgabe b, sodass zu Beginn die Anzahl der Sekunden eingegeben werden kann.
       Lösungsvorschlag zu Teilaufgabe c:

          → https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_02_variablen

                                                                                                                                 Seite 10/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
         Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                          Stand: Mai 2021

d) Im mittleren Teil des Snap-Programmfensters kann in der Registerkarte Kostüme die Grafik des Objekts (Kostüm) verändert werden. Erstellen
   Sie als neue Objektgrafik einen waagrecht verlaufenden Balken und benennen Sie die Grafik geeignet um (z. B. Zeitbalken).

   Die Anweisung

   gibt eine Grafik (Kostüm) des erstellen Balkens mit entsprechendem Größenverhältnis zurück. Untersuchen Sie, welche Wirkung die folgende
   Anweisung auf die Größe des Balkens hat.

   Ergänzen Sie Ihr Programm, so dass die verbleibende Zeit durch die Breite des Balkens visualisiert wird.
   Tipp: Erzeugen Sie eine Variable, in der zunächst die prozentuale Veränderung der Balkenbreite pro Sekunde je nach Anzahl der eingestellten
   Sekunden berechnet wird.

                                                                                                                                   Seite 11/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
             Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                              Stand: Mai 2021

Lösungsvorschlag:

  → https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_02_variablen_c&editMode&noRun

Alternativen und Variationen:

       → https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_02_polygon_mit_eingabe
                                                                                                                          Seite 12/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                 Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                               Stand: Mai 2021

•   Datentypen (ganze Zahl, Dezimalzahl, Zeichenkette, Wahrheitswerte)

    Aufgabe 7 (interne Umwandlung von Datentypen und deren Folgen):
       a) Öffnen Sie folgendes Snap-Dokument:
          https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_02_datentypen&editMode&noRun

           Starten Sie die drei Skripte durch Anklicken und beobachten Sie jeweils den Inhalt der Variablen var1.

       b) Interpretieren Sie Ihre Beobachtung und suchen Sie nach einer Erklärung für das Verhalten der Variablen var1.

                                                                                                                               Seite 13/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
             Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                              Stand: Mai 2021

   c) Erstellen Sie ein Programm, das als Eingabe nur eine natürliche Zahl akzeptiert und überprüft, ob diese eine Quadratzahl ist.

Lösungsvorschlag:

       → https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_02_datentypen_lsg&editMode&noRun

                                                                                                                                          Seite 14/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                      Stand: Mai 2021

    weitere Ideen und Ausblicke:
•   Bewegung von Objekten mithilfe der Methode der kleinen Schritte

    mögliche Umsetzung:

      → https://snap.berkeley.edu/snapsource/snap.html#present:Username=lpkinfo&ProjectName=ilv_05_methode_der_kleinen_schritt

•   Programmierung eines Spiels unter Verwendung verschiedener Strukturelemente und Variablen (z. B. Pong mit Variablen für die
    Ballgeschwindigkeit und der Anzahl der erreichten Balltreffer (Spielpunkte). Siehe auch Aufgabenvorschlag b für die folgende Studierzeit.

      → https://snap.berkeley.edu/snapsource/snap.html#present:Username=lpkinfo&ProjectName=ilv_02_pong&editMode&noRun

                                                                                                                                     Seite 15/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
             Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                          Stand: Mai 2021

Aufgaben für die Studierzeit:
   a) Erstellen Sie ein Programm, das eine Variable primzahl mit dem Startwert 2 definiert und beim Drücken der Leertaste jeweils die nächsthöhere
      Primzahl berechnet und der Variablen zuweist.
Lösungsvorschlag:

       → https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_02_primzahlen

   b) Informieren Sie sich über Pong, eines der ersten Computerspiele. Implementieren Sie eine Variante des Spiels, bei dem die Bewegung der
      beiden Schläger durch Tasten erfolgt. Der Punktestand der beiden Spieler sowie die Spieldauer soll auf dem Bildschirm dargestellt werden.
      Zusatzaufgabe:
      Erweitern Sie das Spiel, indem Sie dem Spielfeld weitere Objekte hinzufügen, die bei Ballberührung die Ballgeschwindigkeit oder die Größe
      des Schlägers zeitweise verändern.
   c) Bearbeiten Sie auf der Seite code.org den Kurs 4, Level 14: https://studio.code.org/s/course4/stage/14/puzzle/1.

                                                                                                                                       Seite 16/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                    Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                       Stand: Mai 2021

Seminarsitzung 2:
1. Stunde:
    • Methodendefinition ohne Parameter und Rückgabewert, zugehöriger Aufruf

       Aufgabe 1:
           a) Fassen Sie die Anweisungen, die ein Quadrat der Kantenlänge von 50 Pixeln zeichnen, mithilfe einer eigenen Methode Quadrat50Px
              zusammen.
       Lösungsvorschlag:

           b) Schreiben Sie ein Programm, das drei Reihen mit jeweils vier Quadraten zeichnet. Nutzen Sie dazu die Methode Quadrat50Px.
       Lösungsvorschlag:

                                                                                                                                          Seite 17/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                 Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                       Stand: Mai 2021

•   Methodendefinition mit Parameter

    Aufgabe 2:
    Die Anweisung Quadrat50Px zeichnet ein Quadrat mit fester Seitenlänge. Es wäre günstiger, wenn die Seitenlänge beim Aufruf der Anweisung
    (Methode) frei gewählt werden könnte.

       a) Erstellen Sie eine Methode, die bei Aufruf einen Parameter (Ganzzahl) für die Seitenlänge übergeben bekommt.
    Lösungsvorschlag:

       b) Testen Sie die Methode aus Teilaufgabe a mit verschiedenen Parameterwerten.
       c) Erstellen Sie folgendes Programm und beobachten Sie die Wirkung des Programms bei seiner Ausführung. Verändern Sie einzelne
          Zahlenwerte und versuchen Sie, vor dem Starten des Programms jeweils die sich ergebende Zeichnung vorherzusagen.

                                                                                                                                        Seite 18/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                 Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                        Stand: Mai 2021

•   Methoden mit mehreren Parametern

    Aufgabe 3:
       a) Erstellen Sie eine Methode zum Zeichnen eines Polygons, die bei Aufruf zwei Parameter für Seitenlänge und Anzahl der Ecken erwartet.
    Lösungsvorschlag:

       b) Erstellen Sie ein Programm, das die Methode aus Teilaufgabe a mit verschiedenen Parameterwerten verwendet.

    Variationen, Ergänzungen:
       c) Implementieren Sie eine Methode raster, die in Abhängigkeit der übergebenen Parameter a und b ein Gitter mit a × b Feldern zeichnet.
       d) Implementieren Sie eine Methode stern, die die Parameter größe und anzahlEcken besitzt und einen Stern mit der angegebenen Eckenanzahl
          zeichnet. Der Parameter größe gibt dabei den Abstand zweier verbundener Ecken des Sterns an.

                                                                                                                                        Seite 19/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                   Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                        Stand: Mai 2021

2. Stunde:
    • Methoden mit Rückgabewert

      Aufgabe 4:
          a) Erstellen Sie eine Methode istPrim, die als Parameter eine Ganzzahl erwartet und genau dann den Wahrheitswert wahr zurückgibt, wenn es
             sich um eine Primzahl handelt.
          b) Erstellen Sie eine Methode gibNächstePrimzahl, die als Parameter eine Ganzzahl erwartet und die nächstgrößere Primzahl zurückgibt. Nutzen
             Sie dazu die Methode istPrim aus Teilaufgabe a.
          c) Erstellen Sie eine Methode istPalindrom, die für einen gegebenen Text überprüft, ob dieser ein Palindrom ist, und einen entsprechenden
             Wahrheitswert zurückgibt.
      Lösungsvorschlag zu Aufgabe a und b:

      Bemerkung: Das Einfassen der Primzahlbestimmung in den Block Warp sorgt dafür, dass die Berechnung ohne Verzögerung bei der Ausführung der
      einzelnen Anweisungen erfolgt.

         → http://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_02_methoden_mit_rueckgabe&editMode&noRun

                                                                                                                                           Seite 20/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
             Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                              Stand: Mai 2021

Lösungsvorschlag zu Aufgabe c:

  → https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_02_palindrommethoden&editMode&noRun

                                                                                                                            Seite 21/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                       Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                        Stand: Mai 2021

Vorschlag für Seminarsitzungen 3-5 :

In den ersten beiden Seminarsitzungen haben die Schülerinnen und Schüler das Variablenkonzept sowie die Definition von Methoden mit Parametern und
Rückgabewert sowie den Aufruf von Methoden kennengelernt. Im Folgenden lernen sie die Datenstruktur Liste kennen und wenden diese zur Speicherung
und zum Abruf von Daten gleichen Typs an.
In den folgenden Seminarsitzungen vertiefen sie ihre Kenntnisse und Kompetenzen anhand von ausgewählten Beispielen und Aufgaben. Dabei werden
Variablen und Listen verwendet und Algorithmen erstellt, die auch mehrfach verschachtelte Kontrollstrukturen beinhalten. Gleichzeitig werden Programmteile
mit Hilfe von Methoden sinnvoll strukturiert und modularisiert.

Mögliche Ideen:
   •   Implementierung eines Algorithmus zur Caesar-Verschlüsselung (nach Behandlung des Themas in Seminarsitzung 8)
       Lösungsvorschlag:

                  → https://snap.berkeley.edu/snap/snap.html#present:Username=lpkinfo&ProjectName=ilv_07_caesarverschluesselung&editMode&noRun

                                                                                                                                              Seite 22/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                 Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                         Stand: Mai 2021

•   Erstellung einer Simulation von zweidimensionalen Bewegungen (→Ph 8) mit Variation von Startwerten
•   Implementierung eines Spiels unter Verwendung von Listen, z. B. zur Verwaltung von Highscores oder gleichartigen grafischen Objekten
•   Simulation bekannter technischer Geräte aus dem Alltag (Uhr, Automat, Staubsaugerroboter)

                                                                                                                                           Seite 23/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                      Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                           Stand: Mai 2021

Weitere Programmiersprachen und Programmierumgebungen zur Behandlung der Algorithmik
Die Behandlung der Algorithmik stellt an die eingesetzte Programmiersprache mit einer Programmierumgebung folgende Anforderungen:

    •   Umsetzung des Variablenkonzepts ohne explizite Typsicherheit
    •   Möglichkeit der Implementierung von Methoden mit einem und mehreren Parametern und einem Rückgabewert
    •   Verfügbarkeit in einer Offlineversion als eigenständiges Programm

Folgende Aspekte sollten bei der Auswahl einer geeigneten Programmiersprache und einer Programmierumgebung Berücksichtigung finden:

    •   Verfügbarkeit der Programmierumgebung und notwendige Installation in der Schule und zuhause für die häusliche Arbeit (online, als portable Version
        eines Programms, als Installation mit evtl. weiteren notwendigen Programmmodulen)
    •   Vorkenntnisse der Schülerinnen und Schüler (visuelle oder textuelle Programmiersprache, geeignete Programmierumgebung mit der Möglichkeit des
        Verbergens unnötiger Funktionalitäten)

Die folgenden Programmiersprachen mit den zugehörigen Programmierumgebungen zeigen eine Auswahl von geeigneten Werkzeugen für die unterrichtliche
Umsetzung.

Snap!
Im Gegensatz zu Scratch, das häufig in der Sekundarstufe I zur Einführung in die Programmierung eingesetzt wird, verfügt diese visuelle blockbasierte
Programmiersprache über sehr viele weitere Möglichkeiten, wie die Definition von Methoden mit Rückgabewert und eigenen Kontrollstrukturen. Außerdem
stellen Listen die Speicherung von beliebigen Objekten (in Snap Sprites genannt) zur Verfügung. Snap! wird wegen der umfangreichen Funktionalität und
Erweiterbarkeit teilweise auch zur Lehre an Hochschulen eingesetzt. Snap! kann im Browser oder mit Hilfe eines eigenständigen Programms verwendet
werden.
Programme werden in Snap! ereignisorientiert gestartet und sind nebenläufig. Dies ermöglicht eine besonders einfache Realisierung von interaktiven Spielen.
    •   Homepage: https://snap.berkeley.edu/
    •   Beispiel des Spiels „Simon“: https://snap.berkeley.edu/project?user=bromagosa&project=Simon

                                                                                                                                                 Seite 24/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                     Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                      Stand: Mai 2021

Python
Python ist eine höhere Programmiersprache, die auch ohne Objektorientierung die Implementierung von Algorithmen zulässt. Die Skriptsprache Python ist
nicht typsicher und wird im Gegensatz zu anderen Programmiersprachen nicht durch Klammern, sondern durch Einrückungen des Programmtextes gegliedert.

Für Python stehen eine Reihe von Programmbibliotheken zur Erzeugung von Grafiken und GUIs zur Verfügung. Vor allem bei der Datenanalyse wird Python in
Lehrbüchern häufig verwendet.

Als Programmierumgebung eignen sich z. B. Jupyter Notebook, Thonny oder Pycharm. Python kann auf einigen Internetseiten auch online programmiert
werden.

   •   Python: https://www.python.org/
   •   Jupyter Notebook: https://jupyter.org/
   •   Thonny: https://thonny.org/
   •   PyCharm: https://www.jetbrains.com/de-de/pycharm/
   •   Jupyter Notebook (online): https://jupyter.org/try
   •   WebTygerJython (online mit Turtlegrafiken): https://webtigerjython.ethz.ch/

   Grafiken unter Verwendung von selbst definierten Methoden mit WebTygerJython

                                                                                                                                           Seite 25/26
Module der Individuellen Lernzeitverkürzung (ILV) – Vorschlag für die ersten Module
                      Gymnasium, Informatik (HG, SG, MuG, SWG), Jahrgangsstufe 10                                                          Stand: Mai 2021

Java und BlueJ
Als eine der meist verwendeten Programmiersprachen spielt Java auch im gymnasialen Informatikunterricht eine zentrale Rolle. Zusammen mit der
didaktischen Programmierumgebung BlueJ und der vereinfachten Syntax von Stride wird der Einstieg in die textuelle Programmierung vereinfacht.
Algorithmen können jedoch nur als Methoden von Klassen implementiert werden, die dafür zunächst definiert werden müssen.

   •   BlueJ: https://www.bluej.org/
   •   Informationen zu Stride: https://stride-lang.net/

Processing
Processing ist eine objektorientierte Programmiersprache, die Java sehr ähnelt. Sie gestattet eine einfache Erstellung und Animation von Grafiken und eignet
sich für Programmieranfänger. Darüber hinaus bietet Processing auch die Möglichkeit, Programme als App auf ein Android-Gerät zu übertragen.

   •   Processing-Homepage: https://processing.org/
   •   Processing und Android: https://android.processing.org/tutorials/index.html

einfaches Programm mit Mausinteraktion

                                                                                                                                                Seite 26/26
Sie können auch lesen