Differenzierungsmöglichkeiten im Programmierkontext

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.

Roter Faden — Semesterüberblick

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.

1Bildungsplan erledigt
2Anforderungskatalog erledigt
3Bewertungsbogen heute
4Differenzierung heute
5Unterrichtseinheit planen nächste Sitzung
6Einzelstunden planen nächste Sitzung
7Praktische Umsetzung folgende Sitzungen

Übergeordnetes Ziel (Studienleistung bis Semesterende)

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.

Teil A — Differenzierung: didaktische Grundlagen

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.

① Warum differenzieren?

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.

② Voraussetzung: den Lernstand kennen (Diagnose)

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.

③ Innere vs. äußere Differenzierung

Ä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 vs. pauschale Angebote

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.

⑤ Qualitative vs. quantitative Differenzierung

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).

⑥ Sonderfall: selbstdifferenzierende Aufgaben

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.

Teil B — Aufgaben für heute

① Bewertungsbogen erstellen

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.

② Differenzierung in Projekt & Bewertung einbauen

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.

Dokumentation und Präsentation (bis Semesterende)

📁 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).

Literatur

Bildungsplan und Informationen zum Fach Informatik in Baden-Württemberg

Differenzierung beim Programmieren (Informatikdidaktik)

Differenzierung & Heterogenität (allgemeine Didaktik)

Unterrichtsmaterial und Didaktik der Informatik