MUPIS - Modellieren und Programmieren in der Schule

 

Editor und REPL (Interaktivitäts-Fenster)

Die Arbeitsumgebung von DrScheme besteht aus einem Doppel-Fenster


Im Editor entsteht wie üblich

  1. der Quelltext (Quellcode)

  2. es werden auch Ausdrücke, insbesondere Funktionsaufrufe eingegeben


In der REPL (=Read-Evaluate-Print-Loop)

  1. erscheinen die Ergebnisse (Werte) der Ausdrücke und Funktionsaufrufe aus dem Editor

  2. kann wie mit einem Präfix-Taschenrechner gearbeitet werden (Abschluss mit RETURN/ENTER-Taste)

 

Verschiedene, skalierbare Lernsprachen/Konzepte


Sowohl im HtDP- als auch im DMdA-Konzept wird

  1. in den ersten beiden Lernstufen nur ein rein funktionales Programmieren ermöglicht

  2. ab der Stufe „ „Zwischenstufe mit lambda” (HtDP) bzw. „Die Macht der Abstraktion mit Zuweisungen (DMdA) kommen alle Möglichkeiten der imperativen Programmierung hinzu (Zuweisungen, Blöcke von Anweisungen usw.), so dass damit auch als evtl. drittes Paradigma OOP möglich ist


An manchen Hochschulen wird nach einem Scheme-Kurs mit HtDP oder DMdA als zweite Programmiersprache Java eingeführt, und zwar mit Hilfe der Lernsprache „ProfessorJ”, die auch skalierbar ist.


 

Die Entwicklungsumgebung: Das Programmier-System DrRacket     (bis 2010: DrScheme)

Systematische Programmentwicklung




Vor dem ersten Programmstart empfiehlt sich eine Syntaxprüfung mit der Besonderheit, daß




In der DMdA-Variante sind Funktionsverträge syntaktisch wirksam zur Überprüfung der Signaturen und gehören zum Quellcode














Die Funktion (check-expect <Funktionsauf> <erwarteter Wert>) vergleicht beim Programmaufruf den erwarteten Wert mit dem errechneten und gibt entsprechende Meldungen aus.

Solche Testfälle sind vor der Definition der Funktion anzufertigen.












Ein didaktisch besonders wertvolles Werkzeug ist der sog. Stepper, mit dem der Programmablauf durch schrittweise Substitution (Einsetzung) von Funktionsaufrufen verfolgt werden kann, insbesondere nützlich bei Rekursionen.




Sonstiges (in Auswahl)

Diese Lernumgebung

  1. ist plattformübergreifend (Windows, Mac OS, Linux)

  2. ist kostenlos

  3. verfügt über sog. Teachpacks, also zu den Lernsprachen zuladbare Erweiterungen für bestimmte Themen: Grafik, Event-Handling, GUI-Erstellung, usw.

  4. verfügt über einen eigenes Webserver-Programm

  5. kann auch Stand-Alone-Applikationen erstellen

  6. ...