Zum Inhalt springen
Informatik · Klasse 11

Ideen für aktives Lernen

Rekursion und Iteration

Aktive Lernformen wirken hier besonders gut, weil Rekursion und Iteration abstrakte Konzepte sind, die durch Handeln und Sichtbarmachen greifbar werden. Schüler begreifen Rekursion als 'Funktion, die sich selbst anruft', erst richtig, wenn sie den Aufrufbaum selbst zeichnen oder mit Karten nachstellen. Iteration wird begreifbar, wenn Zustandsänderungen schrittweise simuliert werden und Speichereffizienz direkt erlebbar wird.

KMK BildungsstandardsKMK: Sekundarstufe II - Algorithmen entwerfenKMK: Sekundarstufe II - Strukturieren
25–45 Min.Partnerarbeit → Ganze Klasse4 Aktivitäten

Aktivität 01

Pair Programming: Fibonacci-Vergleich

Paare coden rekursive und iterative Fibonacci-Funktionen in Python oder Java. Sie messen Laufzeiten mit timeit für n=30 bis 40 und notieren Stapelverbrauch. Abschließend teilen sie Erkenntnisse in der Klasse.

Vergleichen Sie die Vor- und Nachteile von rekursiven und iterativen Algorithmen.

ModerationstippFordern Sie die Paare beim Pair Programming auf, ihre Code-Varianten gegenseitig zu erklären, bevor sie die Laufzeiten messen, damit das Konzept vor dem Messen verstanden wird.

Worauf zu achten istZeigen Sie den Schülern zwei Code-Snippets: eine rekursive und eine iterative Implementierung zur Berechnung der Fakultät. Bitten Sie sie, auf einem Arbeitsblatt zu notieren, welches Snippet sie für speichereffizienter halten und warum. Sammeln Sie die Arbeitsblätter zur schnellen Überprüfung des Verständnisses.

VerstehenAnwendenAnalysierenSelbstwahrnehmungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 02

Small Groups: Hanoi-Simulation mit Karten

Gruppen bauen Hanoi-Türmchen mit Stapeln von Karten nach und protokollieren Züge rekursiv und iterativ. Sie zeichnen den Rekursionsbaum und diskutieren Minimierung von Schritten. Präsentation der Modelle folgt.

Analysieren Sie, welche Probleme sich besonders gut für eine rekursive Lösung eignen.

ModerationstippBitten Sie die Kleingruppen beim Hanoi-Spiel, die Karten nicht nur umzulegen, sondern jeden Schritt mit einer Notiz zu dokumentieren, um die Rekursionsstruktur sichtbar zu machen.

Worauf zu achten istStellen Sie die Frage: 'Unter welchen Umständen würden Sie als angehender Softwareentwickler eine rekursive Lösung einer iterativen vorziehen, auch wenn sie potenziell mehr Speicher benötigt?' Leiten Sie eine kurze Klassendiskussion, bei der Schüler die Vor- und Nachteile abwägen und Beispiele nennen.

VerstehenAnwendenAnalysierenSelbstwahrnehmungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 03

Whole Class: Umwandlungs-Challenge

Die Klasse diskutiert eine rekursive Funktion, z. B. für Binärsuchbaum-Traversierung. Gemeinsam wandeln sie sie iterativ um, indem sie Stapel simulieren. Jeder notiert Vor-/Nachteile.

Erklären Sie, wie man eine rekursive Funktion in eine iterative umwandeln kann.

ModerationstippLassen Sie die Umwandlungs-Challenge in Etappen ablaufen: Erst die iterative Variante, dann die rekursive, um den Vergleich direkt zu ermöglichen.

Worauf zu achten istGeben Sie jedem Schüler eine Karte mit einer Problembeschreibung (z. B. 'Durchsuche eine verschachtelte Ordnerstruktur nach einer bestimmten Datei'). Bitten Sie die Schüler, kurz zu beschreiben, ob eine rekursive oder iterative Herangehensweise hierfür besser geeignet ist und begründen Sie ihre Wahl mit einem Satz.

VerstehenAnwendenAnalysierenSelbstwahrnehmungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 04

Individual: Code-Analyse

Jeder Schüler erhält rekursiven Code, transformiert ihn iterativ und testet mit Unit-Tests. Ergebnisse werden in einem Portfolio abgelegt.

Vergleichen Sie die Vor- und Nachteile von rekursiven und iterativen Algorithmen.

ModerationstippGeben Sie den Schülern bei der Code-Analyse konkrete Fragen vor, die die Struktur der Funktionen aufschlüsseln, damit die Analyse zielgerichtet erfolgt.

Worauf zu achten istZeigen Sie den Schülern zwei Code-Snippets: eine rekursive und eine iterative Implementierung zur Berechnung der Fakultät. Bitten Sie sie, auf einem Arbeitsblatt zu notieren, welches Snippet sie für speichereffizienter halten und warum. Sammeln Sie die Arbeitsblätter zur schnellen Überprüfung des Verständnisses.

VerstehenAnwendenAnalysierenSelbstwahrnehmungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Vorlagen

Vorlagen, die zu diesen Informatik-Aktivitäten passen

Nutzen, bearbeiten, drucken oder teilen.

Einige Hinweise zum Unterrichten dieser Einheit

Erfahrungsgemäß gelingt die Einführung am besten, wenn Rekursion zunächst als 'Problemzerlegung' und Iteration als 'Schritt-für-Schritt-Lösung' eingeführt wird. Vermeiden Sie es, beide Ansätze gleichzeitig zu erklären, sondern arbeiten Sie nacheinander und lassen Sie die Schüler die Unterschiede selbst entdecken. Die Gefahr besteht, dass Schüler Rekursion als 'magische Selbstaufrufe' wahrnehmen – durch konkrete Beispiele wie die Fibonacci-Folge wird das Konzept greifbar. Vergleichen Sie die Methoden anfangs an einfachen Problemen, bevor Sie zu komplexeren Anwendungen wie Bäumen oder Fraktalen kommen.

Erfolgreiches Lernen zeigt sich, wenn Schülerinnen und Schüler nicht nur Code schreiben, sondern die Unterschiede zwischen Rekursion und Iteration in eigenen Worten erklären können. Sie erkennen Vor- und Nachteile situationsbezogen und wählen je nach Problemstellung bewusst den passenden Ansatz. Die Fähigkeit, beide Methoden zu vergleichen und zu bewerten, steht im Mittelpunkt.


Vorsicht vor diesen Fehlvorstellungen

  • During Pair Programming: Fibonacci-Vergleich, achten Sie darauf, dass einige Schüler annehmen, Rekursion sei immer langsamer als Iteration.

    Nutzen Sie die Messungen aus dem Pair Programming, um gemeinsam mit den Schülern zu analysieren, dass Tail-Rekursion in einigen Sprachen optimiert wird und dass die Effizienz stark vom Kontext abhängt. Fordern Sie die Paare auf, ihre Ergebnisse zu präsentieren und zu diskutieren.

  • During Small Groups: Hanoi-Simulation mit Karten, beobachten Sie, ob Schüler glauben, rekursive Funktionen würden automatisch unendlich laufen.

    Nutzen Sie die simulierten Aufrufbäume der Gruppen, um zu zeigen, wie der Basisfall 'Alle Scheiben auf dem Zielstab' die Rekursion terminiert. Fragen Sie gezielt nach dem Basisfall und lassen Sie Schüler Beispiele für nicht terminierende Rekursion nennen.

  • During Whole Class: Umwandlungs-Challenge, könnte der Eindruck entstehen, iterative Lösungen seien immer die bessere Wahl.

    Nutzen Sie die Diskussionen aus der Umwandlungs-Challenge, um zu verdeutlichen, dass Rekursion bei baumartigen Strukturen oder Problemen mit natürlicher Rekursion (wie Verzeichnisdurchsuchungen) eleganter und verständlicher ist. Lassen Sie Schüler Beispiele nennen, bei denen Rekursion trotz Speichernutzung die bessere Wahl ist.


In dieser Übersicht verwendete Methoden