Skip to content
Informatik · Klasse 11

Ideen für aktives Lernen

Modularisierung mit Funktionen

Aktive Methoden zeigen Schülern direkt, wie Modularisierung mit Funktionen ihren Alltag als Programmierer vereinfacht. Indem sie Teilaufgaben isolieren und testen, erleben sie selbst, wie klar strukturierte Funktionen Fehlerquellen eingrenzen und Teamarbeit erleichtern. Ohne Praxis bleibt das Konzept oft abstrakt, obwohl es die Grundlage für professionelle Softwareentwicklung bildet.

KMK BildungsstandardsKMK: Sekundarstufe II - Strukturieren und ModellierenKMK: Sekundarstufe II - Kommunizieren und Kooperieren
20–45 Min.Partnerarbeit → Ganze Klasse4 Aktivitäten

Aktivität 01

Lernen durch Lehren30 Min. · Partnerarbeit

Pair Programming: Funktion erstellen

Paare erhalten eine Aufgabe wie 'Berechne Flächeninhalt'. Sie definieren Parameter, implementieren die Funktion und testen sie mit verschiedenen Eingaben. Abschließend tauschen sie Funktionen und integrieren sie in ein Hauptprogramm.

Wie hilft die Kapselung von Code dabei, Fehler in großen Systemen zu finden?

ModerationstippWährend des Pair Programming sollte ein Partner zunächst eine Teilaufgabe formulieren und der andere die Funktion umsetzen, bevor die Rollen getauscht werden.

Worauf zu achten istGeben Sie den Schülern ein kleines Code-Snippet, das eine einzelne, aber etwas zu komplexe Funktion enthält. Bitten Sie sie, auf einem Zettel zu notieren: 1. Welche zwei Hauptaufgaben erfüllt diese Funktion? 2. Wie könnte man sie in zwei kleinere, fokussiertere Funktionen aufteilen? 3. Nennen Sie einen Vorteil dieser Aufteilung.

VerstehenAnwendenAnalysierenErschaffenSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 02

Lernen durch Lehren45 Min. · Kleingruppen

Small Groups: Code refactorisieren

Gruppen analysieren einen unstrukturierten Codeblock. Sie identifizieren Teilaufgaben, lagern diese in Funktionen aus und dokumentieren Schnittstellen. Die Gruppen präsentieren ihre modularisierten Versionen.

Was macht eine gute Schnittstelle zwischen zwei Programmteilen aus?

ModerationstippBeim refactorisieren in Kleingruppen müssen Sie darauf achten, dass die Schüler nicht nur Code umschreiben, sondern auch die Funktionsnamen und Parameter gezielt anpassen, um die Schnittstelle zu verbessern.

Worauf zu achten istTeilen Sie die Klasse in Kleingruppen auf. Jede Gruppe erhält eine Aufgabe, die sie mit einer Funktion lösen soll. Nach der Implementierung tauschen die Gruppen ihre Funktionen aus. Die empfangende Gruppe bewertet die Funktion des Partners anhand von zwei Kriterien: Ist die Funktion gut benannt? Erfüllt sie nur eine einzige Aufgabe? Die Gruppen geben sich gegenseitiges Feedback.

VerstehenAnwendenAnalysierenErschaffenSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 03

Lernen durch Lehren20 Min. · Ganze Klasse

Whole Class: Schnittstellen-Review

Die Klasse diskutiert in Plenum Beispiele guter und schlechter Schnittstellen. Jeder Schüler schlägt Verbesserungen vor, die Klasse stimmt ab und passt Code live an.

Begründen Sie, warum Funktionen idealerweise nur eine einzige Aufgabe erfüllen sollten.

ModerationstippBeim Schnittstellen-Review in der Klasse können Sie gezielt Funktionen mit unklaren Parametern oder Rückgabewerten hervorheben und die Gruppe gemeinsam verbessern lassen.

Worauf zu achten istStellen Sie während des Unterrichts die Frage: 'Warum ist es sinnvoll, eine Funktion zu schreiben, die nur die Fläche eines Kreises berechnet, anstatt diese Berechnung direkt an mehreren Stellen im Programm durchzuführen?' Sammeln Sie Antworten, um das Verständnis für Wiederverwendbarkeit zu prüfen.

VerstehenAnwendenAnalysierenErschaffenSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 04

Lernen durch Lehren25 Min. · Einzelarbeit

Individual: Funktionstests

Jeder Schüler schreibt Unit-Tests für vorgegebene Funktionen. Sie führen Tests aus, notieren Fehler und schlagen Korrekturen vor.

Wie hilft die Kapselung von Code dabei, Fehler in großen Systemen zu finden?

Worauf zu achten istGeben Sie den Schülern ein kleines Code-Snippet, das eine einzelne, aber etwas zu komplexe Funktion enthält. Bitten Sie sie, auf einem Zettel zu notieren: 1. Welche zwei Hauptaufgaben erfüllt diese Funktion? 2. Wie könnte man sie in zwei kleinere, fokussiertere Funktionen aufteilen? 3. Nennen Sie einen Vorteil dieser Aufteilung.

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

Erfahrene Lehrkräfte beginnen mit handlungsorientierten Beispielen, die direkt an die Erfahrungswelt der Schüler anknüpfen. Vermeiden Sie abstrakte Erklärungen zur Theorie – stattdessen lassen Sie die Schüler selbst entdecken, warum isolierte Funktionen Vorteile bieten. Wichtig ist es, früh auf klare Namensgebung und Parameterübergabe zu achten, da diese später die Wartbarkeit beeinflussen. Forschung zeigt, dass Schüler modularen Code schneller verstehen, wenn sie ihn selbst in kleinen Einheiten entwickeln und testen.

Am Ende der Einheit können Schüler selbstständig Funktionen mit klaren Schnittstellen erstellen, kleine Programme durch refactoring modularisieren und Schnittstellen gezielt nach dem Single-Responsibility-Prinzip bewerten. Sie begründen ihre Entscheidungen mit konkreten Vorteilen für Wartbarkeit und Fehlersuche.


Vorsicht vor diesen Fehlvorstellungen

  • Während der Pair-Programming-Aktivität beobachten Sie, dass Schüler sagen: 'Funktionen sind nur für sehr lange Programme nötig.'

    Nutzen Sie die Gelegenheit, gemeinsam ein kurzes, aber unübersichtliches Code-Snippet zu modularisieren und demonstrieren Sie, wie die Fehlersuche in den getrennten Funktionen plötzlich trivial wird. Lassen Sie die Schüler den Nutzen selbst erkennen, indem sie beide Versionen vergleichen.

  • Während der Code-Refactoring-Aktivität in Kleingruppen hören Sie: 'Funktionen dürfen mehrere Aufgaben übernehmen, um Code kurz zu halten.'

    Fordern Sie die Gruppen auf, die Funktion zu analysieren und in logische Teilschritte zu zerlegen. Zeigen Sie ihnen, wie eine Funktion mit mehreren Aufgaben schwerer zu testen ist und wie isolierte Funktionen Zusammenarbeit im Team erleichtern.

  • Während der Whole-Class-Diskussion zum Thema Performance äußern Schüler: 'Mehr Funktionen machen das Programm langsamer.'

    Lassen Sie die Schüler während der Schnittstellen-Review gezielt nach Optimierungsmöglichkeiten in ihrem Code suchen und diskutieren Sie, warum moderne Compiler Funktionsaufrufe effizient handhaben. Zeigen Sie anhand von Beispielen, dass modularer Code oft sogar schneller entwickelt und gewartet wird.


In dieser Übersicht verwendete Methoden