Eine Klasse ist nie homogen — manche Schüler bringen bereits Programmiererfahrung mit, andere haben noch nie eine Schleife gesehen. Heute überlegen Sie, wie Sie Ihre Programmiereinheit so gestalten, dass alle Schüler herausgefordert und gefördert werden — ohne dass die Schwachen abgehängt oder die Starken unterfordert werden.
Heute stehen Schritt 3 (Bewertungsbogen) und Schritt 4 (Differenzierung) an (blau). Bildungsplan und Anforderungskatalog haben Sie bereits erarbeitet (grün) — den Anforderungskatalog dürfen Sie heute bei Bedarf noch nachschärfen.
Planen Sie eine interaktive Unterrichtseinheit für das Fach Informatik, in der die Schülerinnen und Schüler in Zweiergruppen ein Spiel in einer Programmiersprache bzw. Programmierumgebung ihrer Wahl entwickeln (z. B. Scratch, Python, JavaScript …). Die Aufgabe umfasst die Konzeption des Spiels, die technische Umsetzung, die detaillierte Dokumentation und die grafische Darstellung des Spielablaufs. Ein wesentlicher Teil Ihrer Planung beinhaltet die Erstellung eines Anforderungskatalogs und eines Bewertungsbogens, die als Grundlage für die Bewertung der Schülerarbeiten dienen.
Bevor Sie differenzieren können, brauchen Sie ein klares Bild davon, warum und wie Differenzierung funktioniert. Die folgenden fünf Bausteine sind kurz gehalten — mit je einem Beispiel aus dem Programmierunterricht.
Eine Lerngruppe ist nie homogen — Heterogenität ist der Normalfall, nicht die Ausnahme (Bönsch, 2009). Schülerinnen und Schüler unterscheiden sich in:
Ziel der Differenzierung: jede/n fördern und fordern — Schwächere nicht abhängen, Stärkere nicht unterfordern. Beides (Über- wie Unterforderung) senkt Motivation und Lernerfolg.
Programmierkontext: Die Spannweite ist hier besonders groß — manche programmieren in der Freizeit, andere haben noch nie eine Schleife gesehen. Ohne Differenzierung langweilt sich die eine Hälfte, während die andere abgehängt wird.
Differenzierung ist nur möglich, wenn die Lehrperson weiß, wo die Lernenden stehen. Ohne Lernstandsdiagnose bleibt jede Differenzierung Ratespiel (Paradies & Linser, 2001).
Die Lehrperson muss kennen:
Programmierkontext: Eine kurze Eingangsaufgabe (z. B. „Lass eine Figur im Quadrat laufen“) oder eine Selbsteinschätzung zu Beginn zeigt schnell, wer Schleifen, Variablen und Bedingungen schon sicher beherrscht.
Äußere Differenzierung
Trennung in verschiedene Gruppen oder Kurse (z. B. Niveaukurse). Organisatorisch, vor dem Unterricht.
Innere Differenzierung (Binnendifferenzierung)
Differenzierung innerhalb derselben Lerngruppe, während des Unterrichts (Klafki & Stöcker, 1976). Das ist hier unser Fokus.
Individualdifferenzierung
Auf einzelne Lernende zugeschnitten — passgenau, aber aufwendig.
Programmierkontext: einzelnen Schülern gezielt eine schwierigere Erweiterung oder eine konkrete Hilfe geben.
Pauschale Differenzierungsangebote
Angebote für alle, aus denen gewählt wird — gut skalierbar.
Programmierkontext: gestufte Tipp-/Hilfekarten, Pflicht- + Küraufgaben, eine Lerntheke mit Zusatz-Challenges.
Quantitative Differenzierung
Unterschied in Menge, Umfang oder Zeit — gleiche Aufgabenart, mehr/weniger davon.
Programmierkontext: Schnelle bauen mehr Level oder zusätzliche Features; Langsamere bekommen mehr Zeit oder weniger Teilaufgaben.
Qualitative Differenzierung
Unterschied in Art, Niveau oder Komplexität — andere Aufgabentypen, andere Denkanforderung, mehr/weniger Hilfestellung (Scaffolding).
Programmierkontext: Schwächere erhalten ein Code-Grundgerüst zum Ergänzen; Stärkere entwerfen eine eigene Spielmechanik oder nutzen anspruchsvollere Konzepte (Listen, eigene Funktionen).
Wann was? Rein quantitative Differenzierung („mehr vom Gleichen“) greift oft zu kurz — sie passt das Niveau nicht an und kann Stärkere langweilen. Qualitative Differenzierung ist meist wirksamer, aber aufwendiger in der Vorbereitung. In der Praxis bewährt sich die Kombination: ein gemeinsamer Kern für alle + qualitativ gestufte Erweiterungen und Hilfen (Bönsch, 2009).
Eine besonders praktikable Form gerade im Programmierunterricht sind selbstdifferenzierende (offene) Aufgaben: Alle Lernenden verfolgen einen gemeinsamen Lernweg und ein gemeinsames Ziel, wählen aber Umfang und Tiefe der Bearbeitung selbst (Vo, Kindervater & Beste, 2022). So bleibt der Unterricht organisatorisch einheitlich — die Differenzierung passiert „von selbst“ in der Aufgabe.
Programmierkontext: „Programmiere ein Spiel, in dem eine Figur ein Ziel erreicht.“ — Schwächere bauen eine einfache Version mit einer Bewegung; Stärkere ergänzen Gegner, Punktezähler und mehrere Level. Gestufte Hilfekarten (Scaffolding) sichern den Zugang für alle.
Entwickeln Sie einen detaillierten Bewertungsbogen, der es Ihnen ermöglicht, die Schülerleistungen objektiv zu beurteilen. Der Bogen sollte Kriterien für alle Aspekte des Projekts enthalten:
Überlegen Sie, wie die Dokumentation und grafische Darstellung des Spielablaufs (z. B. Storyboard, Zustandsdiagramm, Flowchart) bewertet werden kann. Legen Sie außerdem eine Gewichtung der Kriterien fest und achten Sie auf die Anbindung an Ihren Anforderungskatalog.
Wenden Sie die Theorie aus Teil A auf Ihr Programmierprojekt an. Bearbeiten Sie folgende Punkte schriftlich:
Festhalten: Ergänzen Sie Bewertungsbogen und Differenzierungskonzept in Ihrem Git-Repository — sie sind Teil Ihrer Studienleistung.
📁 Alle Inhalte im Git festhalten — legen Sie ein Repository auf git.md-phw.de an und committen Sie Ihre Materialien Schritt für Schritt.
🎬 Präsentation zum Semesterende — bereiten Sie eine kurze Präsentation vor, in der Sie Ihre Unterrichtseinheit, den Prototyp und den Bewertungsbogen vorstellen.
Empfehlung: reveal.js — HTML-basiert, im Git versionierbar, sieht professionell aus. Eine fertige Vorlage finden Sie unter franke-lab.de/lehre/sose/fundidee/pres/6.html (Quelltext einsehbar).