Aktivität 01
Paarprogrammierung: Lineare Suche coden
Paare schreiben eine Python-Funktion für lineare Suche. Sie testen mit unsortierten Listen unterschiedlicher Länge und notieren Fundpositionen. Abschließend vergleichen sie Laufzeiten mit time-Modul.
Erklären Sie die Funktionsweise der linearen Suche und ihre Anwendungsbereiche.
ModerationstippAchten Sie bei der Paarprogrammierung darauf, dass beide Partner abwechselnd codieren und erklären, um sicherzustellen, dass alle aktiv mitdenken.
Worauf zu achten istGeben Sie den Schülern eine kleine, unsortierte Liste (z.B. [5, 12, 3, 8, 1]) und eine zu suchende Zahl (z.B. 8). Bitten Sie sie, auf einem Blatt Papier jeden Schritt der linearen Suche aufzuschreiben, bis die Zahl gefunden ist, und die Anzahl der Vergleiche zu notieren.
AnalysierenBewertenErschaffenSelbststeuerungSelbstwahrnehmung
Komplette Unterrichtsstunde erstellen→· · ·
Aktivität 02
Gruppensimulation: Karten-Suche
Kleingruppen sortieren keine Kartenstapel und suchen ein Zielkarte manuell durch. Jede Runde mit mehr Karten, Beobachtung der Schritte. Protokollieren der Durchsuchzeit.
Bewerten Sie die Effizienz der linearen Suche bei großen Datenmengen.
ModerationstippLegen Sie bei der Gruppensimulation klare Regeln fest, z.B. dass die Gruppe nur gemeinsam entscheiden darf, ob der gesuchte Begriff gefunden wurde.
Worauf zu achten istStellen Sie die Frage: 'Unter welchen Umständen ist die lineare Suche eine sinnvolle Methode, um Daten zu finden, und wann sollten wir uns nach effizienteren Algorithmen umsehen?' Diskutieren Sie die Antworten der Schüler und leiten Sie zur Effizienzbetrachtung über.
AnalysierenBewertenErschaffenSelbststeuerungSelbstwahrnehmung
Komplette Unterrichtsstunde erstellen→· · ·
Aktivität 03
Whole-Class-Challenge: Effizienz messen
Klasse teilt große Listen-Datensätze. Jeder testet lineare Suche und misst Zeit mit Stopwatch. Gemeinsam plotten Ergebnisse in Diagramm für O(n)-Kurve.
Konstruieren Sie einen Algorithmus zur Suche eines Elements in einer unsortierten Liste.
ModerationstippVerwenden Sie bei der Whole-Class-Challenge Stoppuhren mit sichtbarer Anzeige, damit die Schüler die Zeitmessung direkt nachvollziehen können.
Worauf zu achten istBitten Sie die Schüler, zwei Sätze zu schreiben: Der erste Satz soll erklären, wann die lineare Suche am schnellsten ist. Der zweite Satz soll ein Beispiel für eine Situation nennen, in der die lineare Suche trotz ihrer Ineffizienz bei großen Datenmengen dennoch praktisch ist.
AnalysierenBewertenErschaffenSelbststeuerungSelbstwahrnehmung
Komplette Unterrichtsstunde erstellen→· · ·
Aktivität 04
Individual-Aufgabe: Algorithmus erweitern
Jeder Schüler modifiziert Code für Zählung von Vergleichen. Testen mit 10, 100, 1000 Elementen und Bewertung der Skalierbarkeit in Bericht.
Erklären Sie die Funktionsweise der linearen Suche und ihre Anwendungsbereiche.
ModerationstippFordern Sie bei der Individual-Aufgabe explizit auf, die Erweiterungen schriftlich zu dokumentieren, um den Lernprozess nachvollziehbar zu machen.
Worauf zu achten istGeben Sie den Schülern eine kleine, unsortierte Liste (z.B. [5, 12, 3, 8, 1]) und eine zu suchende Zahl (z.B. 8). Bitten Sie sie, auf einem Blatt Papier jeden Schritt der linearen Suche aufzuschreiben, bis die Zahl gefunden ist, und die Anzahl der Vergleiche zu notieren.
AnalysierenBewertenErschaffenSelbststeuerungSelbstwahrnehmung
Komplette Unterrichtsstunde erstellen→Einige Hinweise zum Unterrichten dieser Einheit
Beginne mit einer realen Analogie, z.B. dem Suchen eines Namens in einem ungeordneten Telefonbuch, um die Notwendigkeit des sequentiellen Durchsuchens zu verdeutlichen. Vermeide es, den Algorithmus nur theoretisch zu erklären – stattdessen sollten Schüler ihn von Anfang an selbst ausprobieren. Nutze Fehlermeldungen und Debugging als natürliche Lerngelegenheiten, um das Verständnis zu vertiefen. Forschung zeigt, dass Schüler Algorithmen besser verstehen, wenn sie sie selbst implementieren und mit unterschiedlichen Eingaben testen.
Erfolgreiches Lernen zeigt sich darin, dass Schülerinnen und Schüler den linearen Suchalgorithmus nicht nur korrekt anwenden, sondern auch seine Funktionsweise erklären und seine Grenzen erkennen können. Sie sollen in der Lage sein, den Algorithmus in Pseudocode oder Python umzusetzen, seine Effizienz einzuschätzen und alternative Methoden zu begründen. Die Fähigkeit, Fehler zu identifizieren und zu korrigieren, ist ebenfalls ein zentrales Kriterium.
Vorsicht vor diesen Fehlvorstellungen
During der Individual-Aufgabe: Lineare Suche erfordert eine sortierte Liste.
Zeigen Sie den Schülern während der Codierübung explizit, dass die lineare Suche bei unsortierten Listen funktioniert, indem Sie ihnen eine unsortierte Eingabeliste zum Testen geben und das Ergebnis mit einer sortierten Liste vergleichen lassen.
During der Whole-Class-Challenge: Lineare Suche ist immer die schnellste Methode.
Nutzen Sie die wachsenden Suchstapel in der Simulation, um den Schülern zu verdeutlichen, dass die Zeit linear mit der Listenlänge steigt, und vergleichen Sie dies mit dem Gefühl, das sie bei einer sortierten Liste hätten, um die Ineffizienz zu verdeutlichen.
During der Gruppensimulation: Die Effizienz hängt nur von der Hardware ab.
Führen Sie die Simulation mit einem Timer durch und halten Sie die Hardware konstant, um zu zeigen, dass die Laufzeit direkt vom Algorithmus abhängt und nicht von der Technik.
In dieser Übersicht verwendete Methoden