Unterrichtsreihe
Grundlagen Python
Lerne Python-Variablen, Datentypen, Operatoren, Schleifen, Funktionen, Listen und OOP.

Didaktische Konzeption
Die Unterrichtsreihe ist als aufeinander aufbauende Einführung in zentrale Grundlagen der Python-Programmierung konzipiert: von Variablen und Datentypen über Kontrollstrukturen bis hin zu Listen und objektorientierter Programmierung. Die Progression folgt einer klaren fachlichen Logik: Zunächst werden Eingabe, Ausgabe und Typumwandlung abgesichert, anschließend werden Entscheidungen und Wiederholungen als Kontrollmechanismen eingeführt und in Aufgabenformaten angewendet. Darauf aufbauend werden Funktionen zur Strukturierung von Programmen etabliert, bevor Listen als Datenstruktur und schließlich Klassen, Methoden und Vererbung als OOP-Bausteine hinzukommen. In allen Modulen wird die Verbindung von Konzeptklärung und Umsetzung in lauffähigem Code durch kurze Übungen, typische Fehlersituationen und systematisches Debugging gestützt.
Für Lehrkräfte entsteht dadurch eine strukturierte Einführung mit transparenter Kompetenzentwicklung und eindeutig gegliederten Bausteinen. Die Module lassen sich je nach Lerngruppe und Zeitbudget einzeln einsetzen, während die Reihenfolge zugleich eine nachvollziehbare Gesamtkomposition mit klaren Lernzielen ermöglicht.
Kompetenzentwicklung
- Sicherer Umgang mit Variablen, Datentypen, Typumwandlung sowie formatierter Ein- und Ausgabe als Grundlage für lauffähige Programme.
- Anwendung von Vergleichsoperatoren, logischen Verknüpfungen sowie if/elif/else zur Modellierung von Entscheidungslogik und Eingabeprüfung.
- Einsatz von for- und while-Schleifen einschließlich break/continue zur Umsetzung wiederholender Abläufe und zur Validierung von Eingaben.
- Strukturierung von Programmen durch Funktionen (Parameter, Rückgabewerte, Standardwerte, Funktionsaufrufe) inklusive kontrolliertem Umgang mit None.
- Arbeit mit Listen als Datenstruktur (Erfassen, Auswerten, Suchen, Aggregieren) sowie Übergang zur objektorientierten Modellierung mit Klassen, Methoden, Kapselung und Vererbung bis hin zu algorithmischen Abläufen (Sortieren, Verwaltung von Daten).
Struktur der Reihe
Grundlagen Python Programmierung
Lerne Variablen, Datentypen, Typumwandlung in Python.
Dieser Baustein legt die fachliche Grundlage der Reihe, indem Ein- und Ausgabe, Datentypen und Typumwandlungen systematisch eingeführt werden. Operatoren, Ausgabeformatierung sowie der Umgang mit typischen Fehlersituationen und Debugging etablieren früh eine verlässliche Arbeitsweise. Damit entsteht eine stabile Basis für die nachfolgenden Module zu Entscheidungen, Schleifen und weiterführender Programmstruktur.
Bedingte Anweisungen
Programmierung mit if-Anweisungen erlernen.
Auf der Basis sicherer Datentyp- und Operatorarbeit werden Vergleichsausdrücke und logische Verknüpfungen (ODER/UND) schrittweise zu vollständigen Entscheidungsstrukturen ausgebaut. Verschachtelte Bedingungen, String-Prüfungen sowie die Kombination von if mit try/except erweitern die Eingabeprüfung in Richtung robusten Programmentwurfs. Damit wird die zentrale Kontrollidee vorbereitet, die in Schleifen und späteren Anwendungsaufgaben wieder aufgegriffen wird.
Schleifen und Kontrollstrukturen
Python-Schleifen und Aufgaben umsetzen.
Dieser Baustein erweitert die Entscheidungslogik um Wiederholung als zentrale Kontrollstruktur und führt for- und while-Schleifen in typischen Übungsformaten ein. Iterative Verfahren (z. B. Fakultätsberechnung), Zugriffskontrollen und Eingabevalidierung verbinden Konzeptwissen mit anwendungsnaher Umsetzung. Mit break/continue wird die Steuerung von Abläufen präzisiert und als Vorbereitung für strukturiertere Programme genutzt.
Arbeiten mit Funktionen
Lerne Python Funktionen mit Parametern & Rückgabewerten.
Nachdem Kontrollstrukturen etabliert sind, rückt die strukturierte Zerlegung von Programmen in Teilaufgaben in den Mittelpunkt. Parameter, Rückgabewerte, Standardwerte und Funktionsketten fördern eine saubere Aufgabenverteilung (u. a. mit main() als Ablaufsteuerung). Der kontrollierte Umgang mit None unterstützt eine robuste Ergebnisprüfung und schafft Anschlussfähigkeit für daten- und objektorientierte Konzepte der folgenden Bausteine.
Arrays
Lerne Python-Listen und Array-Manipulation.
Dieser Baustein führt Listen als zentrale Datenstruktur ein und verbindet sie konsequent mit Schleifen, Bedingungen und Funktionen. Aufgaben zur Erfassung, Suche und Auswertung (z. B. Zählungen, Durchschnittsberechnungen, min/max, Summen) stärken den Transfer zwischen Modell (Liste als Datensammlung) und Implementierung. Mit zweidimensionalen Listen und verschachtelten Schleifen werden komplexere Strukturen vorbereitet, die anschließend in OOP- und Verwaltungsaufgaben genutzt werden können.
Einführung in OOP
Lerne objektorientiertes Programmieren.
Aufbauend auf Funktionen und Listen wird die Modellierung mit Klassen, Attributen und Methoden eingeführt und über Kapselung (Getter/Setter) fachlich vertieft. Projektorientierte Einheiten (z. B. Konto-, Buch- oder Verwaltungsmodelle) unterstützen den Übergang von Einzelkonstrukten zu zusammenhängenden Programmstrukturen. Vererbung und das Aufrufen von Eltern-Methoden erweitern das Repertoire um Wiederverwendung und Überschreiben, wodurch komplexere Domänenmodelle systematisch erschlossen werden.

Abläufe programmieren
Verwalten von Schülern/Mitarbeitern und Sortieralgorithmen.
Dieser Abschlussbaustein bündelt zuvor aufgebaute Kompetenzen in algorithmisch geprägten Aufgabenstellungen. Mit Bubblesort und Quicksort (rekursiver Funktionsaufruf) werden Abläufe präzise strukturiert und in nachvollziehbare Schritte zerlegt, während die Verwaltungsaufgabe das Arbeiten mit Datenstrukturen und Auswertungen zusammenführt. Dadurch entsteht ein klarer Progressionsabschluss von Grundlagen hin zu strukturierter Problemlösung und systematischer Implementierung.
Inhalte im Überblick
Grundlagen Python Programmierung
| Inhalt | Schwerpunkt | Dauer |
|---|---|---|
| Einführung in Variablen und Datentypen | Einführung in Variablen und Datentypen; input() verwenden und Eingaben konvertieren; Übungsprogramm zu Rechenoperationen. | 15 min |
| Typumwandlung mit Konsolenausgabe | Typumwandlung von Benutzereingaben mit int(); Ausgabe einfacher Berechnungen. | 15 min |
| Datentyp-Erkennung und Umwandlung | type(), str(), float(), bool() erläutern; Eingabetypen erkennen und umwandeln. | 25 min |
| Grundlegende Operatoren in Python | Rechenoperatoren +, -, *, /, //, %; Beispiele und Übungen zu Division und Rest. | 25 min |
| Ausgabeformatierung und Textverknüpfung | Text- und Zahlenverknüpfung mit Komma, + und f-Strings; Unterschiede verstehen und anwenden. | 25 min |
| Fehlersituationen bei Eingaben | ValueError bei falschen Eingaben verstehen; Fehler lesen und analysieren. | 20 min |
| Einführung in Debugging-Techniken | Debugging: typische Programmfehler finden und beheben (z. B. Division durch null). | 15 min |
Bedingte Anweisungen
| Inhalt | Schwerpunkt | Dauer |
|---|---|---|
| Einführung in logische Ausdrücke | Logische Ausdrücke mit Vergleichen (größer gleich, kleiner gleich). | 10 min |
| Prüfung auf gleich oder ungleich | Ausdrücke zum Prüfen auf Gleichheit oder Ungleichheit. | 5 min |
| Logische Ausdrücke mit "ODER" kombinieren | ODER-Verknüpfungen zur Kombination mehrerer Bedingungen (mindestens eine erfüllt). | 10 min |
| Verwenden von if-Anweisungen zur Altersprüfung | if/else und Vergleichsoperatoren anhand einer Altersprüfung mit Benutzereingaben. | 15 min |
| Entscheidungslogik mit if, elif und else | if/elif/else für Entscheidungslogik; Beispiel mit Temperatureingabe und Wetterbeschreibung. | 15 min |
| Logische UND-Verknüpfung (and) | and-Operator für kombinierte Bedingungen; Alters- und Ticketprüfung; Zutrittskontrolle. | 15 min |
| Verschachtelte if-Bedingungen | Verschachtelte if-Strukturen und Abhängigkeiten; Beispiel Regen und Jacke; Handlungsempfehlung. | 20 min |
| Texte und Zeichenketten prüfen | String-Vergleich; Normalisierung mit .lower() und .strip(); Passwortprüfung und Rückmeldung. | 20 min |
| Fehlerbehandlung mit if und try | if mit try/except zur Eingabeprüfung; Zahlenvalidierung und Fehlermeldungen. | 20 min |
| Wahrheitswerte und leere Variablen | truthy/falsy; Prüfung leerer Strings/Variablen; Eingabeprüfung per if-Abfrage. | 15 min |
Schleifen und Kontrollstrukturen
| Inhalt | Schwerpunkt | Dauer |
|---|---|---|
| Verstehen von Schleifen: for und while | Grundstruktur von for/while; Beispiele; Schleifen für wiederholende Aufgaben; Code anpassen. | 10 min |
| Iterationen mit Schleifen: Fakultätsberechnung | Fakultät iterativ im Hauptprogramm berechnen; nacheinander multiplizieren. | 15 min |
| Zugangskontrolle mit Passwort | Passwortüberprüfung mit if und Schleifen; optional Groß-/Kleinschreibung beachten. | 10 min |
| Eingabevalidierung mit while-Schleife | Wiederholte Eingabeprüfung mit while bis ein gültiger Wert vorliegt. | 20 min |
| Schleifensteuerung mit break und continue | break/continue zur Steuerung; Modulo (%) zur Teilbarkeitsprüfung; Ablaufkontrolle. | 20 min |
| Notensystem mit Punktzahl | Notenberechnung mit if/elif/else; optional Kommentarausgabe pro Note. | 15 min |
Arbeiten mit Funktionen
| Inhalt | Schwerpunkt | Dauer |
|---|---|---|
| Kurze Einführung in Funktionen | Einfacher Funktionsaufruf mit Ausgabe. | 10 min |
| Einführung in Funktionen mit Rückgabewerten | Werte übergeben und zurückgeben; if-Abfragen; Modulo-Operator zur Paritätsprüfung. | 15 min |
| Funktionen: Parameter und Rückgabewerte in Python | Funktionen mit Parametern und Rückgabewerten; Übung: Fläche eines Rechtecks berechnen. | 15 min |
| Mehrere Parameter und Standardwerte | Mehrere Parameter; Standardwerte; flexible Aufrufe mit und ohne Zusatzparameter. | 20 min |
| Funktionen, die andere Funktionen aufrufen | Aufgabentrennung in Teilfunktionen; Funktionsaufrufe; main() zur Ablaufsteuerung. | 25 min |
| Rückgabewerte prüfen und mit None umgehen | None als „kein Ergebnis“; Prüfung mit is None; sichere Fehlerbehandlung ohne Abbruch. | 25 min |
Arrays
| Inhalt | Schwerpunkt | Dauer |
|---|---|---|
| Was sind Array's? | Einführung in Arrays. | 10 min |
| Elemente zu Array hinzufügen | Einführung in push(). | 10 min |
| Elemente eines Array löschen | Einführung in pop(), shift() und splice(). | 15 min |
| Einfache Einkaufsliste mit Listen in Python | Liste erstellen; Elemente hinzufügen/entfernen; Funktionen für interaktive Aktionen. | 15 min |
| Lieblingsfächer zählen in einer Liste | Wiederkehrende Werte zählen mit for- und if-Abfragen; Ausgabe mit print(). | 15 min |
| Namenssuche in einer Liste | Namenssuche per Schleife und if; .lower() für Groß-/Kleinschreibung. | 20 min |
| Notenauswertung mit Schleife | Listen auswerten; Zählung mit Schleife und if; Durchschnitt mit sum() und len(). | 20 min |
| Wöchentliche Temperaturmessung | Temperaturen erfassen; Auswertung mit max(), min(), sum(); heißesten Tag bestimmen. | 25 min |
| Einkaufskosten berechnen | Eingaben speichern; sum(), len() und if für Preisberechnung und Warnung. | 25 min |
| Kalorienrechner mit Bewertung | Kalorienwerte sammeln; Summe bilden; Bewertung per if-Abfrage. | 25 min |
| Sitzreihen-Ausgabe mit Listen | Zweidimensionale Liste durchlaufen; Reihen ausgeben; Namenssuche ergänzen. | 25 min |
| Höhenvergleich im Sportunterricht | Größte/kleinste Zahl per Schleife und Vergleich finden; Differenz berechnen. | 25 min |
| Durchschnitt, Beste, Schlechteste und Median-Note berechnen | Eingaben verarbeiten; Durchschnitt, beste/schlechteste und Median-Note berechnen. | 15 min |
| Buchstabenanalyse mit Listen | Eingabe in Buchstabenliste umwandeln; zählen; Länge bestimmen. | 20 min |
Einführung in OOP
| Inhalt | Schwerpunkt | Dauer |
|---|---|---|
| Einführung in "Objektorientierte Programmierung" | Klassen für wiederverwendbare Strukturen; Eigenschaften und Methoden für Objekte. | 15 min |
| Klassen mit eigenen Methoden | Methoden innerhalb der Klassendefinition; Aufruf über instanziierte Objekte. | 15 min |
| Getter- und Setter- Methoden | Getter/Setter; private/öffentliche Variablen; Zugriffskontrolle und Kapselung. | 30 min |
| Klasse Schueler mit Notendurchschnitt | Klasse erweitern; Notenliste; Durchschnittsmethode; Ausgabe mit Durchschnitt. | 30 min |
| Bankkonto mit Ein- und Auszahlung | Private Variablen; Ein-/Auszahlen prüfen; Getter für Kontostand; sichere Datenänderung. | 35 min |
| Bibliotheksbuch verwalten | Private Attribute; ausleihen/zurueckgeben/status; Bool-Statusverwaltung. | 30 min |
| Einführung in Vererbung | Vererbung und Überschreiben in Kindklassen (extends). | 10 min |
| Eltern-Methoden aufrufen | Eltern-Methoden in geerbten Klassen mit super() aufrufen. | 15 min |
| Fahrzeugflotte mit Vererbung | Vererbung üben; Methoden überschreiben; super() verwenden. | 35 min |
| Schulverwaltung mit Klassen | Klassen Schueler und Schulklasse; Listen, Schleifen und Durchschnittsberechnung. | 35 min |
Abläufe programmieren
| Inhalt | Schwerpunkt | Dauer |
|---|---|---|
| Bubblesort | Array sortieren mit Bubblesort durch Vervollständigung eines vorhandenen Grundcodes. | 30 min |
| Quicksort mit Rekursion | Array sortieren mit Quicksort durch rekursiven Funktionsaufruf. | 30 min |
| Schüler und Noten verwalten | Einfache Schüler-Verwaltung programmieren, die Fächer und Noten flexibel verwaltet. | 15 min |
Für den Unterricht ergibt sich eine klar strukturierte Abfolge von Modulen mit nachvollziehbarer Progression und transparenter Kompetenzentwicklung. Die Bausteine können je nach Lerngruppe gezielt kombiniert und zeitlich angepasst eingesetzt werden.
Für einen Einblick in Aufbau und Materialien kann ein Demo-Zugang genutzt werden, um die Reihe im eigenen Unterrichtskontext zu erproben. So lässt sich die Passung zur vorhandenen Kursplanung pragmatisch prüfen.