MUPIS - Modellieren und Programmieren in der Schule

 

Editor und REPL

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)




 
Multiparadigmatische Programmierumgebung
  1. mehrere Sprachen: Scheme, Java, Algol

  2. verschiedene Lernsprachen/Konzepte von Scheme: DMdA, HtDP

  3. skalierbare Lernsprachen: 4 bis 5 Stufen


Z.B. im HtDP(How to Design Programms)-Konzept wird

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

  2. ab der Stufe „Zwischenstufe mit lambda” sind z.B. anonyme Funktionen und High-Order-Programmierung möglich

  3. in der Stufe „Fortgeschritten” 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 Racket     (bis 2010: DrScheme)

Systematisches Testen & Debugging


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








Eine der Testmöglichkeiten stellt die Funktion (check-expect <Funktionsauf> <erwarteter Wert>) dar, die vor der Definition in den Quelltext eingefügt wird beim Programmaufruf den erwarteten Wert mit dem errechneten vergleicht und entsprechende Meldungen ausgibt























Einen traditionellen Debugger gibt es auch




















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