Skip to content
Informatik · Klasse 12

Ideen für aktives Lernen

Rekursion und Iteration

Aktive Lernformen wie Pair Programming oder Gruppenanalysen eignen sich besonders gut für Rekursion und Iteration, da Schülerinnen und Schüler die Unterschiede zwischen beiden Ansätzen nicht nur theoretisch, sondern durch eigenes Programmieren und Vergleichen erleben. Die konkreten Herausforderungen von Speicherbedarf und Laufzeit werden durch praktische Messungen und Visualisierungen greifbar, was das Verständnis für algorithmische Effizienz vertieft.

KMK BildungsstandardsKMK: Sekundarstufe II - Modellieren und ImplementierenKMK: Sekundarstufe II - Problemlösen und Handeln
20–45 Min.Partnerarbeit → Ganze Klasse4 Aktivitäten

Aktivität 01

Problemorientiertes Lernen30 Min. · Partnerarbeit

Pair Programming: Fakultätsvergleich

Paare coden die Fakultät rekursiv und iterativ in Python. Sie testen mit großen Werten, messen Zeit und Speicher mit timeit. Gemeinsam listen sie Vor- und Nachteile auf.

Differentiieren Sie zwischen rekursiven und iterativen Algorithmen.

ModerationstippFordern Sie die Paare während des Pair Programming explizit auf, die Laufzeit beider Fakultätsvarianten mit Stoppuhr oder Code-Metriken zu messen und die Ergebnisse im Plenum zu vergleichen.

Worauf zu achten istGeben Sie den Lernenden eine einfache rekursive Funktion (z.B. Fakultät) und eine iterative Funktion mit identischer Funktionalität. Bitten Sie sie, auf einem Zettel zu notieren: 1. Welcher Ansatz ist für sie leichter zu verstehen? 2. Nennen Sie einen Nachteil des jeweils anderen Ansatzes.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 02

Problemorientiertes Lernen45 Min. · Kleingruppen

Small Groups: Fibonacci-Analyse

Gruppen implementieren Fibonacci rekursiv, memoisiert und iterativ. Sie zeichnen den Rekursionsbaum und vergleichen Ausführungszeiten. Ergebnisse werden in einer Tabelle dokumentiert.

Analysieren Sie die Vor- und Nachteile von Rekursion hinsichtlich Speicherverbrauch und Lesbarkeit.

ModerationstippGeben Sie den Kleingruppen bei der Fibonacci-Analyse vorher definierte Fragen zur Hand, die sie im Code und in der Ausführung beantworten müssen, um gezielte Vergleiche zu ermöglichen.

Worauf zu achten istStellen Sie die Frage: 'Stellen Sie sich vor, Sie müssten die Fibonacci-Zahlen bis 1000 berechnen. Würden Sie eine rekursive oder eine iterative Lösung bevorzugen und warum? Begründen Sie Ihre Wahl unter Berücksichtigung von Speicher und Geschwindigkeit.'

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 03

Problemorientiertes Lernen25 Min. · Ganze Klasse

Whole Class: Stack-Visualisierung

Die Klasse simuliert rekursive Aufrufe mit Kartenstapeln für Hanoi-Türme. Jeder Schritt wird auf dem Beamer gezeigt, Diskussion folgt zu Overflow-Risiken.

Konstruieren Sie eine rekursive Lösung für ein Problem wie die Fakultätsberechnung.

ModerationstippNutzen Sie die Stack-Visualisierung als interaktives Whiteboard-Tool, indem Sie Schülerinnen und Schüler selbst die Aufrufstapel schrittweise aufbauen und abbauen lassen.

Worauf zu achten istTeilen Sie die Klasse in zwei Gruppen: 'Rekursion-Befürworter' und 'Iteration-Befürworter'. Geben Sie jeder Gruppe 5 Minuten Zeit, Argumente für ihren bevorzugten Ansatz zu sammeln. Führen Sie anschließend eine kurze Debatte, in der jede Gruppe die Vorteile ihres Ansatzes darlegt und auf die Argumente der Gegenseite eingeht.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 04

Problemorientiertes Lernen20 Min. · Einzelarbeit

Individual: Code-Review

Jede Schülerin und jeder Schüler schreibt eine rekursive Funktion, tauscht mit einem Partner und bewertet Lesbarkeit sowie Iterationspotenzial.

Differentiieren Sie zwischen rekursiven und iterativen Algorithmen.

ModerationstippLegen Sie beim Code-Review klare Kriterien für Lesbarkeit und Effizienz fest, die die Lernenden an den vorliegenden Funktionen anwenden und in Stichpunkten dokumentieren.

Worauf zu achten istGeben Sie den Lernenden eine einfache rekursive Funktion (z.B. Fakultät) und eine iterative Funktion mit identischer Funktionalität. Bitten Sie sie, auf einem Zettel zu notieren: 1. Welcher Ansatz ist für sie leichter zu verstehen? 2. Nennen Sie einen Nachteil des jeweils anderen Ansatzes.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfä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 einfachen, visuell nachvollziehbaren Beispielen wie der Fakultätsberechnung und steigern die Komplexität langsam hin zu Problemen wie der Fibonacci-Folge oder Fraktalen. Wichtig ist, die Parallelen zwischen Rekursion und natürlichen Strukturen herauszuarbeiten, ohne die technischen Herausforderungen zu vernachlässigen. Vermeiden Sie es, Rekursion als 'magische Lösung' darzustellen – betonen Sie stattdessen die Notwendigkeit von Basisfällen und der Verwaltung des Aufrufstapels. Forschungsergebnisse zeigen, dass Schülerinnen und Schüler iterative Lösungen oft intuitiver finden, während rekursive Ansätze gezielt trainiert werden müssen.

Am Ende der Einheit sollten die Lernenden in der Lage sein, rekursive und iterative Lösungen sicher zu unterscheiden, ihre Vor- und Nachteile zu benennen und für gegebene Probleme eine begründete Wahl zu treffen. Sie erkennen Basisfälle als essenziellen Bestandteil rekursiver Funktionen und verstehen die Rolle des Aufrufstapels in der Speichernutzung.


Vorsicht vor diesen Fehlvorstellungen

  • Während des Pair Programming beobachten Sie, wie Schülerinnen und Schüler häufig annehmen, Rekursion sei grundsätzlich schneller oder speichereffizienter als Iteration.

    Nutzen Sie die gemessenen Laufzeiten und Speicherauslastungen der implementierten Fakultätsfunktionen, um diese Annahme empirisch zu widerlegen und iterative Optimierungen gezielt zu entwickeln.

  • Während der Stack-Visualisierung erkennen Sie, wie Schülerinnen und Schüler Basisfälle in rekursiven Funktionen als optional betrachten.

    Lassen Sie die Lernenden durch das schrittweise Aufbauen und Abbauen des Aufrufstapels selbst erleben, wie fehlende Basisfälle zu einem unendlichen Stack führen, und korrigieren Sie dies direkt im Modell.

  • Bei den Gruppenvergleichen von Rekursion und Iteration hören Sie oft, dass iterative Lösungen immer unleserlicher seien.

    Fordern Sie die Gruppen auf, ihre Code-Beispiele gegenseitig zu begutachten und zu begründen, welcher Ansatz in einem konkreten Kontext besser lesbar ist, um Nuancen in der Wahrnehmung zu schärfen.


In dieser Übersicht verwendete Methoden