Didaktische Ansätze zum Programmierenlernen

In dieser Sitzung beschäftigen Sie sich mit didaktischen Ansätzen zum Programmierenlernen. Sie lernen verschiedene Herangehensweisen kennen — vom Lernen mit Lösungsbeispielen über den Lese-, Experten- und Spiralansatz bis hin zu Live-Coding — und wenden diese in einer konkreten Unterrichtsplanung an.

Arbeiten Sie in Tandems und tragen Sie Ihre Ergebnisse im gemeinsamen Pad ein:

📝 Kollaboratives Arbeitspad (HedgeDoc) — Tragen Sie Ihre Ergebnisse direkt im gemeinsamen Pad ein:

🔗 pad.franke-lab.de/iGui-FpsQ4q6gvww3ugwhw

① Lernen mit Lösungsbeispielen

Beim Lernen mit Lösungsbeispielen erhalten Lernende ausgearbeitete Lösungen zu ausgewählten Aufgaben. Anhand von Erklärungen werden die zugrundeliegenden Konzepte und Prinzipien verdeutlicht. Ziel ist es, dass sich die Lernenden diese Prinzipien bewusst machen, um sie später auf ähnliche Aufgaben übertragen zu können.

Im Bereich der Programmierung stellt das Arbeiten mit Lösungsbeispielen eine wichtige Methode dar, um Lernenden bewährte Lösungsstrategien zu vermitteln. Gemäß dem didaktischen Modell der kognitiven Meisterlehre entspricht dies dem Schritt des Modellierens: der Lehrende führt den Lösungsprozess durch und erklärt die Vorgehensweise. Der Lernende beobachtet und führt anschließend mit Unterstützung eigene Arbeiten aus, wobei die Unterstützung schrittweise reduziert wird.

② Drei Herangehensweisen nach Van Merriënboer

Laut Van Merriënboer lassen sich drei Herangehensweisen zum Programmierenlernen unterscheiden:

Eine Umsetzung des Leseansatzes sind sogenannte Vervollständigungsaufgaben: die Lernenden erhalten teilweise ausgearbeitete Lösungsbeispiele, die sie zu vollständigen, korrekt arbeitenden Programmen erweitern müssen. Solche Aufgaben stellen einen vielversprechenden Ansatz zum selbstständigen Programmierenlernen dar.

③ Programmieren als Prozess

Programmieren lernen ist anspruchsvoll. Folgende Kompetenzbereiche müssen abgedeckt werden:

(Du Boulay, 1989; Robins, Rountree & Rountree, 2003)

Kernaussage: Programmieren ist ein komplexer, explorativer und inkrementeller Prozess. Folgende Modelle müssen verstanden werden (vgl. SwissEduc):

  1. Die Problemdomäne muss verstanden werden, bevor ein Programm geschrieben werden kann.
  2. Es braucht ein Verständnis des Computermodells (notional machine), das durch die Programmiersprache impliziert wird.
  3. Der Zusammenhang zwischen statischer Beschreibung (Quellcode) und dynamischer Ausführung (Laufzeitverhalten) muss verstanden werden.
  4. Laufzeitverhalten beinhaltet Kontrollfluss, Datenfluss und Datenstrukturen — insbesondere der Datenfluss ist für Anfänger schwierig.

④ Live-Coding als didaktischer Ansatz

Live-Coding ist ein Ansatz, um den Programmierprozess für Lernende sichtbar und erfahrbar zu machen. Der Lehrende entwickelt in der Präsenzsitzung „live“ Code und denkt dabei laut, sodass die Lernenden den Denk- und Arbeitsprozess nachvollziehen können.

Als Variante können die Studierenden während der Session selbst mitcodieren (Participatory Live Coding). In Selbstlernumgebungen werden häufig auch Screen-Recordings eingesetzt.

Vorteile von Live-Coding:

Wichtig: Statische, vorgefertigte Programmbeispiele können den Eindruck erwecken, dass zuerst der gesamte Code geschrieben und erst am Ende kompiliert wird. Live-Coding zeigt den realen Prozess: schrittweise Entwicklung mit kontinuierlichem Testen.


⑤ Aufgabe: Entwickeln Sie ein Spiel — didaktisch durchdacht (ca. 60 Min.)

Zielgruppe: Klassenstufe 11 (Gymnasium, Wahlfach Informatik)
Lernumgebung: Computerraum mit Einzelarbeitsplätzen (1 Gerät pro Schüler*in)
Lernvoraussetzungen: Heterogene Gruppe mit unterschiedlicher Programmiererfahrung

Sie haben verschiedene didaktische Ansätze zum Programmierenlernen kennengelernt. Jetzt wenden Sie diese praktisch an: Sie erstellen mit KI-Unterstützung ein konkretes Spiel, das als Grundlage für Ihren Unterrichtsentwurf dient.

Bearbeitungsschritte:

  1. Anforderungen definieren (10 Min.):
    Versetzen Sie sich in die Rolle der Lehrkraft. Formulieren Sie eine Aufgabenstellung, die Sie Ihren Schülerinnen und Schülern geben würden:
  2. Spiel mit KI erstellen (20 Min.):
    Installieren Sie pygame und lassen Sie sich von einem KI-System Ihrer Wahl (z. B. ChatGPT, Claude, Copilot) ein funktionierendes Spiel generieren, das Ihren Anforderungen entspricht:
    pip install pygame
  3. Code analysieren (10 Min.):
    Lesen Sie den generierten Code durch — auch wenn Sie nicht alles verstehen:
  4. Didaktischen Ansatz wählen und begründen (15 Min.):
    Entscheiden Sie sich auf Basis Ihres konkreten Spiels für einen oder mehrere der vorgestellten Ansätze: Beantworten Sie anhand Ihres Spiels:
  5. Reflexion (5 Min.):

Hinweis: Denken Sie daran, dass in Ihrer Lerngruppe unterschiedliche Vorerfahrungen vorliegen. Gestalten Sie Ihre Planung so, dass sowohl Anfänger*innen als auch Fortgeschrittene sinnvoll arbeiten können.

⑥ Abschlussdiskussion

Diskutieren Sie im Plenum:

Halten Sie Ihr persönliches Fazit (3–5 Sätze) im Pad fest.


Literatur: