| Startseite | Lernmaterialien | Voraussetzungen | Installation |
Lernmaterialien
Hier finden Sie alle Lernmaterialien. Sie können chronologisch durchgehen oder einzelne Themen herauspicken und diese unabhängig voneinander vertiefen.
Um die Inhalte bearbeiten zu können, benötigen Sie Grundkenntnisse im Programmieren mit Python. Sie können diese im ersten Teil unter «Vorbereitende Inhalte» auffrischen oder den Einstieg in Python finden, falls Sie mit einer anderen Sprache vertraut sind. Ergänzend steht Ihnen ein Python-Cheatsheet (PDF) zur Verfügung.
Kenntnisse über Listen sind keine vorausgesetzt. Diese werden Sie hier erarbeiten und am Beispiel der Algorithmen vertiefen.
Die Algorithmen können auch unabhängig voneinander bearbeitet werden. Sie werden jeweils spielerisch oder anhand einer Animation erarbeitet und schrittweise implementiert, nachdem die nötigen Listenoperationen thematisiert und geübt wurden. Schliesslich werden Optimierungen thematisiert, die Algorithmen auf verschiedene Ausgangslagen angewandt und visualisiert.
Hinweis
Falls Sie lokal (auf Ihrem Rechner) arbeiten, muss sich der Ordner bilder/ im gleichen Verzeichnis befinden wie die Jupyter-Notebook-Dateien (mit der Endung .ipynb). Am einfachsten laden Sie alle Bilder oder sämtliche Kursinhalte (Notebooks und Bilder) in einem Paket herunter:
bilder.zip | suchen-und-ordnen.zip
Vorbereitende Inhalte
Inhalte
- Einführung in Markdown
- Auffrischung des Programmierkönnens (Aktivierung des Vorwissens)
- Einführung in Fehlermeldungen
Materialien
- Jupyter Notebook: Erste-Schritte.ipynb
- Python-Cheatsheet (PDF):
Im Mathematik- und Physikunterricht haben Sie eine Formelsammlung. Dieses Cheatsheet ist etwas Ähnliches, allerdings Python-spezifisch mit Bezug auf generelle Programmierkonzepte.
Listen als Sammelgefäss für Daten
Inhalte
- Erstellen von Listen
- Iteration über Listen
- Zugriff auf Listenbereiche («Slicing»)
Materialien
- Jupyter Notebook: Listen.ipynb
Algorithmen
Inhalte
- Eigenschaften von Algorithmen
- Darstellung von Algorithmen
- Einführung in die Komplexität
- Exaktes Formulieren:
Der folgende Clip der Exact Instructions Challenge von Josh Darnit auf YouTube (keine deutschen Untertitel verfügbar) zeigt auf, worauf Sie achten müssen, wenn Sie Algorithmen beschreiben.

Materialien
- Jupyter Notebook: Algorithmen.ipynb
- Zur lokalen Ansicht (Download):
Notebook - Zur Ansicht auf Google Colab:
Notebook - Keine Lösungen, da dieses Notebook keine Programmieraufgaben enthält.
- Übersicht über die verschiedenen Darstellungsformen (PDF)
- Zur lokalen Ansicht (Download):
Vorbereitung der Evaluation von Such- und Sortieralgorithmen
Dieser Teil enthält Zusatzmaterialien für schnellere oder besonders interessierte Schülerinnen und Schüler. Die wichtigen Inhalte werden auch in anderen Teilen noch thematisiert.
Inhalte
- Erstellung geeigneter Liste für die Laufzeitanalyse von Such- und Sortieralgorithmen
- Zeitmessungen
- «Zufallszahlen»
Materialien
-
Jupyter Notebook: Vorbereitungen.ipynb
Suchen
Suche nach einem Element in einer
- ungeordneten Liste
- geordneten Liste
Inhalte
- Iteration über eine Liste
- «Suche und Herrsche» («Divide & Conquer»)
Materialien
- Jupyter Notebook: Suchen.ipynb
Sortieren
Als Einführung ins Sortieren von Listen mit Hilfe verschiedener bekannter Sortieralgorithmen eignet sich der folgende Clip von TED-Ed auf YouTube (deutsche Untertitel verfügbar).
Insertion Sort
Inhalte
- Einfügen eines Elements in eine Liste
- Löschen eines Elements aus einer Liste
Materialien
- Jupyter Notebook: Insertionsort.ipynb
Selection Sort
Inhalte
- Suche nach dem kleinsten bzw. grössten Element einer Liste
Materialien
- Jupyter Notebook: Selectionsort.ipynb
Bubble Sort
Inhalte
- Vertauschen zweier Listenelemente
- Sinn der Optimierung von Algorithmen
Materialien
- Jupyter Notebook: Bubblesort.ipynb
Merge Sort
Inhalte
- Zusammenfügen (Merge) zweier sortierter Listen
Materialien
- Jupyter Notebook: Mergesort.ipynb
Abschluss
Was bringen Optimierungen und was die Wahl des Algorithmus?
In diesem Notebook werden Bubble Sort (mit den verschiedenen Optimierungen) und Merge Sort verglichen. Sie müssen nichts selbst programmieren, können aber die Anzahl der Elemente anpassen und zusehen, wie sich der Unterschied auf eine sehr grosse Anzahl von Elementen auswirkt. Zu diesem Notebook gibt es keine Lösungen.
Materialien
- Zur lokalen Ansicht (Download):
Notebook - Zur Ansicht auf Google Colab:
Notebook - Sehen Sie zum Abschluss auch den Vergleich der berühmtesten Sortieralgorithmen auf Toptal an – ein sehr empfehlenswerter Link zu einer guten, grafischen Übersicht über verschiedene Sortieralgorithmen, die alle hier erarbeiteten Algorithmen enthält, aber auch noch weiter geht. Mit den hier gewonnen Fertigkeiten lassen sich auch die anderen Sortieralgorithmen umsetzen.
