Stand: 29.04.2009
Zeitrichtwert: 18 Unterrichtsstunden
| Inhaltliche Schwerpunkte | Bemerkungen |
|---|---|
Vorbemerkung
Diese Unterrichtsreihe setzt die Unterrichtsreihe
Als Programmiersprache nutzen wir Python.
Die
Die folgende Unterrichtsreihe ist problemorientiert angelegt. Im Mittelpunkt steht der Problemkontext
|
|
Variablen (2)
|
Zum Einstieg wird das Verschlüsselungsverfahren nach Caesar erarbeitet. Anschließend wird Python als Werkzeug zur Verschlüsselung einzelner Zeichen eingeführt: Mit Variablen und Zuweisungen können einfache Zeichenumwandlungen interaktiv vorgenommen werden. Dabei wird ein erster Umgang mit der Programmierumgebung von Python erlernt. |
Programme (2)
|
Das interaktive Ausführen von Anweisungen ist mühevoll, da man die Anweisungen immer wieder neu eintippen muss. Im nächsten Schritt erfahren die Schülerinnen und Schüler, wie man Programme, die beliebig oft ausgeführt werden können, zur Durchführung von Anweisungsfolgen nutzt. Zudem lernen Sie Möglichkeiten kennen, Benutzereingaben zu verarbeiten und auszugeben und Programme entsprechend dem EVA-Prinzip zu strukturieren. |
Datentypen (2)
|
Schnell stößt man auf das Problem, dass Operationen mit bestimmten Daten nicht ausgeführt werden können, wenn der Datentyp nicht passt. Dies ist Anlass, sich etwas intensiver mit Datentypen zu beschäftigen. Die im Problemkontext benötigten Datentypen werden intensiver besprochen, weitere Datentypen werden nur kurz angesprochen. |
Fallunterscheidungen (2)
|
Zunächst wird ein Problem gelöst, bei dem Anweisungen nur unter einer bestimmten Bedingung durchgeführt werden:
Beim Die Schülerinnen und Schüler kennen Fallunterscheidungen als Kontrollstruktur zur adäquaten Beschreibung einer Problemlösung. Zur Umsetzung in Python benötigen sie nur Informationen darüber, wie Fallunterscheidungen hier dargestellt werden. Inwieweit bei dieser Gelegenheit noch einmal wesentliche Aspekte der Kontrollstruktur Fallunterscheidung angesprochen und geübt werden müssen, hängt von der Lerngruppe ab. |
Wiederholungen (3)
|
Zunächst wird ein konkretes Problem gelöst, bei dem Anweisungen wiederholt durchgeführt werden müssen: Beim Verschlüsseln eines Textes nach der Caesar-Methode muss wiederholt jedes Zeichen einzeln codiert werden. Die Schülerinnen und Schüler kennen Wiederholungen als Kontrollstruktur zur adäquaten Beschreibung einer Problemlösung. Zur Umsetzung in Python benötigen sie nur Informationen darüber, wie Wiederholungen hier dargestellt werden. Inwieweit bei dieser Gelegenheit noch einmal wesentliche Aspekte der Kontrollstruktur Wiederholung angesprochen und geübt werden müssen, hängt von der Lerngruppe ab. |
Bedingungen (1)
|
Das Vorbereiten von Texten (Umwandlung von Umlauten, ...) ist Anlass, sich mit komplexeren Bedingungen
auseinanderzusetzten. Hierbei werden die logischen Grundoperatoren |
Unterprogramme (6)
|
Wir gehen hier davon aus, dass Unterprogramme noch nicht im Rahmen der Unterrichtsreihe
Ausgangspunkt bildet die Analyse umfangreicher Programme zum Vorbereiten und Verschlüsseln von Texten. Durch einen Vergleich eines additiv aus vielen Anweisungen zusammengesetzten Programms und eines mit Unterprogrammen strukturierten Programms werden die Vorteile dieser Art der Strukturierung erarbeitet. Schwerpunkt der weiteren Erarbeitung bildet dann das Funktionskonzept und dessen Implementierung in Python. Das Funktionskonzept ist von besonderer Bedeutung, da es die EVA-Sichtweise (Eingaben werden verarbeitet und als Ausgaben zur weiteren Verarbeitung zurückgegeben) unterstützt. Prozeduren als Unterprogramme ohne Rückgaben bilden einen Spezielfall, der nur dann zum Tragen kommt, wenn das Unterprogramm Seiteneffekte (wie Ausgaben auf dem Bildschirm) produziert. Die Übergabe von Daten mit Hilfe von Parametern wird von Beginn an genutzt und thematisiert. Im Wahlfach reicht es, ein erstes Verständnis für das Unterprogrammkonzept zu entwickeln. Auf spezifische Probleme wie Seiteneffekte, Sichtbarkeit von Variablen, Parameterübergabemechanismen ... sollte man nur bei Bedarf eingehen.
Die Verwendung von Funktionen (und Prozeduren) muss vielfältig geübt werden.
Die betrachteten Beispiele sollten gut gewählt werden und als Muster für
weitere Programmierversuche dienen können.
Es bietet sich auch an, Algorithmen, die bereits in der Unterrichtsreihe |