Skip to content
Informatik · Klasse 11

Ideen für aktives Lernen

Effizienzanalyse (O-Notation)

Aktives Lernen funktioniert besonders gut bei der Effizienzanalyse, weil Schüler die abstrakten Konzepte der O-Notation durch messbare und sichtbare Experimente selbst nachvollziehen können. Die Verbindung von Theorie und Praxis in realen Algorithmen macht die Bedeutung der Asymptotik greifbar und fördert ein tiefes Verständnis für die Skalierbarkeit von Lösungen.

KMK BildungsstandardsKMK: Sekundarstufe II - Darstellen und InterpretierenKMK: Sekundarstufe II - Problemlösen
30–50 Min.Partnerarbeit → Ganze Klasse4 Aktivitäten

Aktivität 01

Entscheidungsmatrix45 Min. · Kleingruppen

Stationenrotation: Laufzeiten messen

Richten Sie Stationen für Algorithmen ein: lineare Suche (O(n)), Bubble Sort (O(n²)) und Binärsuche (O(log n)). Gruppen führen Tests mit Datensätzen von 10 bis 1000 Elementen durch, messen Zeiten mit Stoppuhr und notieren Ergebnisse. Abschließend vergleichen sie die Daten grafisch.

Wie wirkt sich eine Verdopplung der Eingabedaten auf die Laufzeit eines Programms aus?

ModerationstippWährend der Stationenrotation die Laufzeitmessung mit einfachen Stoppuhren oder digitalen Tools wie Jupyter Notebooks anleiten, um die Schüler direkt mit der Datenaufnahme zu konfrontieren.

Worauf zu achten istZeigen Sie den Schülern drei Code-Snippets (z. B. eine einfache Schleife, eine verschachtelte Schleife, eine Operation mit fester Anzahl von Schritten). Bitten Sie sie, die O-Notation für jedes Snippet zu bestimmen und kurz zu begründen, warum.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerung
Komplette Unterrichtsstunde erstellen

Aktivität 02

Entscheidungsmatrix30 Min. · Partnerarbeit

Paararbeit: Komplexitätskurven plotten

Paare implementieren einen Algorithmus in Python, variieren die Eingabegröße und protokollieren Laufzeiten. Sie plotten die Werte mit Matplotlib und approximieren die O-Notation. Diskutieren Sie Abweichungen durch Konstantenfaktoren.

Warum ist die theoretische Komplexität oft wichtiger als die tatsächliche Hardwaregeschwindigkeit?

ModerationstippBei der Paararbeit die Schüler auffordern, ihre Komplexitätskurven auf Millimeterpapier zu skizzieren, damit sie die Steigung und Krümmung der Kurven selbst interpretieren können.

Worauf zu achten istStellen Sie die Frage: 'Warum ist es wichtiger, die O-Notation eines Algorithmus zu kennen, als zu wissen, ob mein Computer 2 GHz oder 3 GHz schnell ist?' Leiten Sie eine Diskussion, die die langfristige Skalierbarkeit und die Grenzen der Hardwaregeschwindigkeit hervorhebt.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerung
Komplette Unterrichtsstunde erstellen

Aktivität 03

Entscheidungsmatrix50 Min. · Kleingruppen

Gruppenexperiment: Skalierbarkeitswettbewerb

Gruppen optimieren denselben Algorithmus und vergleichen Laufzeiten bei großen Eingaben. Sie präsentieren ihre O-Analyse und testen gegeneinander. Der Fokus liegt auf asymptotischem Verhalten.

Gibt es Probleme, die für Computer grundsätzlich unlösbar sind?

ModerationstippBeim Skalierbarkeitswettbewerb die Gruppen ermutigen, ihre Ergebnisse auf großen Plakaten festzuhalten und gegenseitig zu erklären, warum bestimmte Algorithmen schneller wachsen als andere.

Worauf zu achten istGeben Sie jedem Schüler eine Karte mit einer Eingabegröße (z. B. n=10, n=100, n=1000) und einer Komplexitätsklasse (z. B. O(n), O(n²)). Bitten Sie sie, die ungefähre Laufzeit zu schätzen (z. B. Verdopplung der Eingabe verdoppelt die Laufzeit für O(n)) und eine kurze Erklärung zu geben.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerung
Komplette Unterrichtsstunde erstellen

Aktivität 04

Entscheidungsmatrix35 Min. · Ganze Klasse

Ganzklasse: Unentscheidbarkeitsdemo

Die Klasse diskutiert das Halteproblem anhand simpler Beispiele. Jede Gruppe entwirft ein Gegenbeispiel und reflektiert kollektiv Grenzen der O-Notation.

Wie wirkt sich eine Verdopplung der Eingabedaten auf die Laufzeit eines Programms aus?

ModerationstippFür die Unentscheidbarkeitsdemo die Schüler aktiv in die Diskussion einbeziehen, indem sie Beispiele aus ihrem Alltag nennen lassen, die ähnliche Wachstumsmuster zeigen.

Worauf zu achten istZeigen Sie den Schülern drei Code-Snippets (z. B. eine einfache Schleife, eine verschachtelte Schleife, eine Operation mit fester Anzahl von Schritten). Bitten Sie sie, die O-Notation für jedes Snippet zu bestimmen und kurz zu begründen, warum.

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerung
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 konkreten, alltagsnahen Beispielen wie dem Suchen in einer Liste oder dem Sortieren von Namen, um die O-Notation einzuführen. Sie vermeiden es, die O-Notation als starres Schema zu vermitteln, und betonen stattdessen die Bedeutung des asymptotischen Verhaltens. Wichtig ist, dass Schüler selbst messen und vergleichen, um die theoretischen Konzepte mit realen Daten zu verknüpfen. Fehlerhafte Vorstellungen wie die Gleichsetzung von O-Notation mit exakter Laufzeit werden durch gezielte Experimente direkt korrigiert.

Am Ende dieser Einheit können Schüler die O-Notation verschiedener Algorithmen korrekt zuordnen und die Auswirkungen von Eingabegrößenänderungen auf Laufzeit und Speicherbedarf präzise vorhersagen. Sie nutzen Messdaten und grafische Darstellungen, um theoretische Aussagen zu überprüfen und zu begründen.


Vorsicht vor diesen Fehlvorstellungen

  • During der Stationenrotation 'Laufzeiten messen', watch for...

    Schüler, die glauben, die gemessenen Zeiten seien die exakte Laufzeit, sollten durch den Vergleich mehrerer Durchläufe mit derselben Eingabegröße erkennen, dass O-Notation nur eine obere Schranke darstellt. Nutzen Sie die gemessenen Daten, um zu zeigen, wie Konstantenfaktoren die Kurvenform beeinflussen.

  • During dem Gruppenexperiment 'Skalierbarkeitswettbewerb', watch for...

    Schüler, die annehmen, dass Hardwareverbesserungen ineffiziente Algorithmen immer praktikabel machen, sollten durch die Visualisierung der exponentiellen Wachstumskurve von O(2^n) erkennen, dass selbst große Hardwareverbesserungen hier keine Lösung bieten.

  • During der Ganzklasse 'Unentscheidbarkeitsdemo', watch for...

    Schüler, die behaupten, alle Probleme hätten eine effiziente Lösung in O(n), sollten durch Gegenbeispiele wie das Rucksackproblem und die Diskussion realer Szenarien erkennen, dass viele Probleme nur mit höherer Komplexität lösbar sind.


In dieser Übersicht verwendete Methoden