Funktionen: Code organisierenAktivitäten & Unterrichtsstrategien
Funktionen strukturieren Code und machen ihn überschaubar – das ist besonders für Lernende wichtig, die gerade erste Schritte in der Programmierung machen. Aktive Methoden wie Pair Programming oder Kleingruppenarbeit helfen den Schülern, die Unterschiede zwischen Definition, Parameter und Aufruf direkt zu erleben und nicht nur theoretisch zu verstehen.
Lernziele
- 1Erklären Sie die Vorteile der Modularisierung von Code durch Funktionen zur Verbesserung der Lesbarkeit und Wartbarkeit von Programmen.
- 2Definieren und unterscheiden Sie die Syntax für die Deklaration und den Aufruf einer Funktion in einer Programmiersprache.
- 3Analysieren Sie, wie Parameter die Flexibilität von Funktionen erhöhen, indem Sie Beispiele für Funktionen mit und ohne Parameter vergleichen.
- 4Erstellen Sie eine einfache Funktion, die eine spezifische Aufgabe in einem größeren Programm ausführt, und rufen Sie sie korrekt auf.
Möchten Sie einen vollständigen Unterrichtsentwurf mit diesen Lernzielen? Mission erstellen →
Pair Programming: Addierfunktion bauen
Paare definieren eine Funktion, die zwei Zahlen addiert, und rufen sie mit verschiedenen Werten auf. Sie erweitern sie um Parameter und testen mit Eingaben vom Benutzer. Abschließend vergleichen sie den modularisierten Code mit einer wiederholten Version.
Vorbereitung & Details
Begründen Sie die Vorteile der Verwendung von Funktionen für die Strukturierung von Programmen.
Moderationstipp: Während der Pair Programming Übung 'Addierfunktion bauen' achten Sie darauf, dass beide Partner abwechselnd die Tastatur bedienen und die Schritte Definition, Parameter und Aufruf nacheinander besprechen.
Setup: Präsentationsbereich im vorderen Teil des Raumes oder mehrere Lernstationen
Materials: Themen-Zuweisungskarten, Vorlage zur Unterrichtsplanung, Feedbackbogen für Mitschüler, Materialien für visuelle Hilfsmittel
Small Groups: Spiel modularisieren
Gruppen zerlegen ein einfaches Ratespiel in Funktionen wie 'Zahl generieren' und 'Eingabe prüfen'. Sie definieren, parametrieren und rufen diese auf. Gemeinsam debuggen sie und präsentieren die Vorteile.
Vorbereitung & Details
Erklären Sie den Unterschied zwischen der Definition und dem Aufruf einer Funktion.
Moderationstipp: In der Kleingruppenarbeit 'Spiel modularisieren' geben Sie den Gruppen konkrete Aufgaben, z.B. eine Bewegung des Spielers in eine eigene Funktion auszulagern, um die Struktur zu verdeutlichen.
Setup: Präsentationsbereich im vorderen Teil des Raumes oder mehrere Lernstationen
Materials: Themen-Zuweisungskarten, Vorlage zur Unterrichtsplanung, Feedbackbogen für Mitschüler, Materialien für visuelle Hilfsmittel
Whole Class: Parameter-Challenge
Die Klasse programmiert gemeinsam eine Funktion für Formeln, z. B. Flächenberechnung, und ruft sie mit wechselnden Parametern auf. Jeder Schüler schlägt eine Erweiterung vor, die Klasse stimmt ab und implementiert.
Vorbereitung & Details
Analysieren Sie, wie Parameter die Flexibilität und Wiederverwendbarkeit von Funktionen erhöhen.
Moderationstipp: Bei der 'Parameter-Challenge' im Plenum lassen Sie die Schüler ihre Lösungen an der Tafel oder am Beamer vorstellen, um die verschiedenen Parameter-Kombinationen direkt zu vergleichen.
Setup: Präsentationsbereich im vorderen Teil des Raumes oder mehrere Lernstationen
Materials: Themen-Zuweisungskarten, Vorlage zur Unterrichtsplanung, Feedbackbogen für Mitschüler, Materialien für visuelle Hilfsmittel
Individual: Refactoring-Aufgabe
Jeder Schüler erhält redundanten Code und wandelt ihn in Funktionen um. Sie testen mit eigenen Testfällen und notieren Vorteile in einem Logbuch.
Vorbereitung & Details
Begründen Sie die Vorteile der Verwendung von Funktionen für die Strukturierung von Programmen.
Moderationstipp: Für die individuelle 'Refactoring-Aufgabe' bereiten Sie Code-Beispiele vor, die bewusst Redundanzen enthalten, damit die Schüler die Vereinfachung durch Funktionen selbst erleben.
Setup: Präsentationsbereich im vorderen Teil des Raumes oder mehrere Lernstationen
Materials: Themen-Zuweisungskarten, Vorlage zur Unterrichtsplanung, Feedbackbogen für Mitschüler, Materialien für visuelle Hilfsmittel
Dieses Thema unterrichten
Funktionen lehren wir am besten durch das Prinzip der 'geteilten Verantwortung': Zuerst wird die Struktur klar (Definition, Parameter, Aufruf), dann wird die Funktion mit Leben gefüllt. Vermeiden Sie Frontalunterricht zu Parametern – lassen Sie die Schüler stattdessen selbst Parameter ausprobieren und deren Wirkung beobachten. Nutzen Sie analoge Methoden wie 'Schritt-für-Schritt-Anleitung auf Papier' vor dem ersten Codeversuch, um das Konzept zu festigen.
Was Sie erwartet
Am Ende sollen die Schülerinnen und Schüler Funktionen selbstständig definieren, mit Parametern versehen und gezielt aufrufen können. Sie erkennen Code-Wiederholungen und können diese durch Funktionen ersetzen, ohne dass der Ablauf des Programms gestört wird.
Diese Aktivitäten sind ein Ausgangspunkt. Die vollständige Mission ist das Erlebnis.
- Vollständiges Moderationsskript mit Lehrkraft-Dialogen
- Druckfertige Schülermaterialien, bereit für den Unterricht
- Differenzierungsstrategien für jeden Lerntyp
Vorsicht vor diesen Fehlvorstellungen
Häufige FehlvorstellungWährend Pair Programming 'Addierfunktion bauen' beobachten Sie, dass einige Schüler annehmen, die Funktion würde automatisch nach der Definition ausgeführt.
Was Sie stattdessen lehren sollten
Fordern Sie die Paare auf, nach der Definition einen Testaufruf mit konkreten Zahlen zu schreiben. So sehen sie sofort, dass der Code erst nach dem Aufruf arbeitet.
Häufige FehlvorstellungWährend der Kleingruppenarbeit 'Spiel modularisieren' vermuten Schüler, Parameter seien wie globale Variablen, die überall gelten.
Was Sie stattdessen lehren sollten
Geben Sie den Gruppen vor, dieselbe Funktion mit unterschiedlichen Werten aufzurufen und die Ausgaben zu vergleichen. So wird der lokale Charakter der Parameter deutlich.
Häufige FehlvorstellungWährend der individuellen 'Refactoring-Aufgabe' glauben einige Schüler, Funktionen könnten nicht ineinander aufgerufen werden.
Was Sie stattdessen lehren sollten
Zeigen Sie vor der Aufgabe ein Beispiel mit verschachtelten Funktionen und lassen Sie die Schüler diese in ihrem eigenen Code anpassen.
Ideen zur Lernstandserhebung
Nach der Pair Programming Übung 'Addierfunktion bauen' geben Sie jedem Schüler ein Blatt mit zwei Codeblöcken. Der erste Block ist für die Funktionsdefinition (z.B. 'def begruessung(name):'), der zweite für den Aufruf. Die Schüler sollen die Funktion schreiben und aufrufen. Überprüfen Sie, ob Definition und Aufruf korrekt getrennt sind.
Während der Kleingruppenarbeit 'Spiel modularisieren' zeigen Sie ein Codefragment an der Tafel, das eine Funktion definiert und aufruft. Fragen Sie: 'Welche Zeile definiert die Funktion, und welche ruft sie auf?' und 'Welchen Wert hat die Variable 'ausgabe', wenn der Parameter 'zahl' 3 ist?'
Nach der individuellen 'Refactoring-Aufgabe' teilen Sie die Klasse in Kleingruppen auf. Geben Sie jeder Gruppe ein Programm ohne Funktionen. Lassen Sie sie diskutieren, wie sie den Code durch Funktionen vereinfachen würden. Jede Gruppe präsentiert eine Idee, die Sie am Ende zusammenfassen.
Erweiterungen & Unterstützung
- Fordern Sie schnelle Schüler auf, eine Funktion zu schreiben, die zwei Zahlen miteinander multipliziert und das Ergebnis als Text ausgibt, z.B. 'Das Ergebnis ist 15.'
- Für Schüler, die unsicher sind, bereiten Sie eine Schritt-für-Schritt-Anleitung mit leeren Code-Lücken vor, die sie ausfüllen müssen.
- Vertiefen Sie mit einer Aufgabe, bei der Funktionen ineinander verschachtelt werden, z.B. eine Funktion für die Fläche eines Kreises, die eine Funktion für den Radius aufruft.
Schlüsselvokabular
| Funktion | Ein benannter Block von Code, der eine bestimmte Aufgabe ausführt und bei Bedarf mehrmals aufgerufen werden kann. |
| Funktionsdefinition | Der Teil des Codes, der den Namen, die Parameter und die Anweisungen einer Funktion festlegt. |
| Funktionsaufruf | Die Anweisung, die eine definierte Funktion ausführt und ihren Codeblock zur Laufzeit ausführt. |
| Parameter | Variablen, die in der Funktionsdefinition angegeben werden, um Werte entgegenzunehmen, die beim Aufruf der Funktion übergeben werden. |
| Argument | Der tatsächliche Wert, der beim Aufruf einer Funktion an einen Parameter übergeben wird. |
Vorgeschlagene Methoden
Planungsvorlagen für Digitale Welten Gestalten: Informatik
Mehr in Algorithmen und Programmierung: Von der Logik zum Code
Was ist ein Algorithmus?
Die Schülerinnen und Schüler definieren Algorithmen und identifizieren deren Eigenschaften anhand von Alltagsbeispielen.
2 methodologies
Sequenzen: Schritt für Schritt
Die Schülerinnen und Schüler erstellen einfache sequentielle Algorithmen und setzen diese in einer visuellen Programmierumgebung um.
2 methodologies
Verzweigungen: Entscheidungen treffen
Die Schülerinnen und Schüler implementieren bedingte Anweisungen (if/else) zur Steuerung des Programmflusses.
2 methodologies
Schleifen: Wiederholungen effizient nutzen
Die Schülerinnen und Schüler nutzen Schleifen (for/while) zur Automatisierung wiederkehrender Aufgaben und zur Reduzierung von Code-Redundanz.
2 methodologies
Variablen: Daten speichern
Die Schülerinnen und Schüler deklarieren und initialisieren Variablen, um Werte im Programm zu speichern und zu manipulieren.
2 methodologies
Bereit, Funktionen: Code organisieren zu unterrichten?
Erstellen Sie eine vollständige Mission mit allem, was Sie brauchen
Mission erstellen