MUPIS - Modellieren und Programmieren in der Schule
MUPIS - Modellieren und Programmieren in der Schule
Editor und REPL

Im Editor entsteht wie üblich
•der Quelltext (Quellcode)
•es werden auch Ausdrücke, insbesondere Funktionsaufrufe eingegeben
In der REPL (=Read-Evaluate-Print-Loop)
•erscheinen die Ergebnisse (Werte) der Ausdrücke und Funktionsaufrufe aus dem Editor
•kann wie mit einem Präfix-Taschenrechner gearbeitet werden (Abschluss mit RETURN/ENTER-Taste)


• mehrere Sprachen: Scheme, Java, Algol
• verschiedene Lernsprachen/Konzepte von Scheme: DMdA, HtDP
• skalierbare Lernsprachen: 4 bis 5 Stufen
Z.B. im HtDP(How to Design Programms)-Konzept wird
• in den ersten drei Lernstufen nur ein rein funktionales Programmieren ermöglicht
• ab der Stufe „Zwischenstufe mit lambda” sind z.B. anonyme Funktionen und High-Order-Programmierung möglich
• 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 DrScheme (neuerdings auch PLT-Scheme genannt)
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
•ist plattformübergreifend (Windows, Mac OS, Linux)
•ist kostenlos
•verfügt über sog. Teachpacks, also zu den Lernsprachen zuladbare Erweiterungen für bestimmte Themen: Grafik, Event-Handling, GUI-Erstellung, usw.
•verfügt über einen eigenes Webserver-Programm
•kann auch Stand-Alone-Applikationen erstellen
•...