MUPIS - Modellieren und Programmieren in der Schule
MUPIS - Modellieren und Programmieren in der Schule
Ein Bild zeigt mehr als tausend Worte
Eine einfache Aufgabe in Java: Kampf der Klammern, usw.
... und in Scheme (HtDP): einfache Syntax, starke Semantik
Abstraktionstechniken, z.B.
Funktionen als Parameter von Funktionen?
Wie soll das in Java, Pascal oder Delphi gehen?
Anfängersprache ≠ Industriesprache
Der Streit um die anfängergerechte Programmiersprache ist so alt wie der Informatikunterricht selbst, wird aber fast immer ohne didaktischen Hintergrund geführt, sondern viel mehr mit Hinweisen auf sog. „Industriestandards”.
Aber genau darum geht es nicht, denn solche Entwicklungspakete sind für Profis gedacht, die die Programmierparadigmen beherrschen (sollten). Zu dem besitzen die populären Programmiersprachen der Industrie u.a. eine barocke Syntax (s. Beispiel links), deren Erlernen wertvolle Zeit verschwendet, andererseits mangelt es an ausdrucksvoller Semantik auf Kosten von Abstraktionstechniken.
Oder, anders gesagt: Wie vermittelt man Paradigmenwissen, ohne dabei durch handwerkliche Aspekte abgelenkt zu werden?
Aus dem vorgestellten didaktischen Konzept ergeben sich folgende
Anforderungen
•einfache Syntax
•multiparadigmatisch
•ausdrucksvolle Semantik, d.h. alle gängigen Abstraktionstechniken müssen ohne Umwege möglich sein
•skalierbare Lernsprache, z.B. ist in den Anfängerstufen keine imperative Programmierung möglich, damit die Lernenden gezwungen sind, eine Problem funktional zu modellieren und zu programmieren
All diese Kriterien erfüllen die Lernsprachen-Varianten HtDP und DMdA von Racket/DrScheme.
Die Programmiersprache