Skip to content
Informatik · Klasse 8

Ideen für aktives Lernen

Funktionen: Code organisieren

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.

KMK BildungsstandardsKMK: Sekundarstufe I - Strukturieren und ModellierenKMK: Sekundarstufe I - Implementieren
20–35 Min.Partnerarbeit → Ganze Klasse4 Aktivitäten

Aktivität 01

Lernen durch Lehren25 Min. · Partnerarbeit

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.

Begründen Sie die Vorteile der Verwendung von Funktionen für die Strukturierung von Programmen.

ModerationstippWä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.

Worauf zu achten istGeben Sie jedem Schüler ein Blatt mit zwei leeren Codeblöcken. Der erste Block ist für eine Funktionsdefinition (z.B. 'def gruss(name):'). Der zweite Block ist für einen Funktionsaufruf. Bitten Sie die Schüler, eine Funktion zu schreiben, die eine einfache Begrüßung ausgibt, und diese dann aufzurufen. Überprüfen Sie, ob die Definition korrekt ist und der Aufruf den richtigen Parameter übergibt.

VerstehenAnwendenAnalysierenErschaffenSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 02

Lernen durch Lehren35 Min. · Kleingruppen

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.

Erklären Sie den Unterschied zwischen der Definition und dem Aufruf einer Funktion.

ModerationstippIn 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.

Worauf zu achten istZeigen Sie ein kurzes Programmfragment, das eine Funktion definiert und aufruft. Stellen Sie folgende Fragen: 'Was ist der Unterschied zwischen Zeile X (Definition) und Zeile Y (Aufruf)?' und 'Welchen Wert wird die Variable 'ergebnis' nach Ausführung dieses Codes haben, wenn der Parameter 'zahl' den Wert 5 hat?'

VerstehenAnwendenAnalysierenErschaffenSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 03

Lernen durch Lehren30 Min. · Ganze Klasse

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.

Analysieren Sie, wie Parameter die Flexibilität und Wiederverwendbarkeit von Funktionen erhöhen.

ModerationstippBei 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.

Worauf zu achten istTeilen Sie die Klasse in Kleingruppen auf. Geben Sie jeder Gruppe ein kleines Programm, das noch keine Funktionen verwendet und Code wiederholt. Bitten Sie die Gruppen, das Programm zu analysieren und zu diskutieren, wie sie durch die Einführung von Funktionen den Code vereinfachen und wiederverwendbar machen könnten. Lassen Sie jede Gruppe ihre Lösungsidee kurz vorstellen.

VerstehenAnwendenAnalysierenErschaffenSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 04

Lernen durch Lehren20 Min. · Einzelarbeit

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.

Begründen Sie die Vorteile der Verwendung von Funktionen für die Strukturierung von Programmen.

ModerationstippFür die individuelle 'Refactoring-Aufgabe' bereiten Sie Code-Beispiele vor, die bewusst Redundanzen enthalten, damit die Schüler die Vereinfachung durch Funktionen selbst erleben.

Worauf zu achten istGeben Sie jedem Schüler ein Blatt mit zwei leeren Codeblöcken. Der erste Block ist für eine Funktionsdefinition (z.B. 'def gruss(name):'). Der zweite Block ist für einen Funktionsaufruf. Bitten Sie die Schüler, eine Funktion zu schreiben, die eine einfache Begrüßung ausgibt, und diese dann aufzurufen. Überprüfen Sie, ob die Definition korrekt ist und der Aufruf den richtigen Parameter übergibt.

VerstehenAnwendenAnalysierenErschaffenSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Vorlagen

Vorlagen, die zu diesen Informatik-Aktivitäten passen

Nutzen, bearbeiten, drucken oder teilen.

Einige Hinweise zum Unterrichten dieser Einheit

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.

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.


Vorsicht vor diesen Fehlvorstellungen

  • Während Pair Programming 'Addierfunktion bauen' beobachten Sie, dass einige Schüler annehmen, die Funktion würde automatisch nach der Definition ausgeführt.

    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.

  • Während der Kleingruppenarbeit 'Spiel modularisieren' vermuten Schüler, Parameter seien wie globale Variablen, die überall gelten.

    Geben Sie den Gruppen vor, dieselbe Funktion mit unterschiedlichen Werten aufzurufen und die Ausgaben zu vergleichen. So wird der lokale Charakter der Parameter deutlich.

  • Während der individuellen 'Refactoring-Aufgabe' glauben einige Schüler, Funktionen könnten nicht ineinander aufgerufen werden.

    Zeigen Sie vor der Aufgabe ein Beispiel mit verschachtelten Funktionen und lassen Sie die Schüler diese in ihrem eigenen Code anpassen.


In dieser Übersicht verwendete Methoden