OOPython — Testumgebung
Worum geht es hier?
OOPython ist ein Werkzeug zum objektorientierten Programmieren mit
Python, angelehnt an BlueJ und Greenfoot: Objekte werden per Maus aus einem
Klassendiagramm erzeugt, liegen auf einer Objektbank und lassen sich dort benutzen —
und zu jeder Mausaktion steht der zugehörige Python-Code daneben. Das Werkzeug wird
als Feature oopython in Buchseiten eingebettet.
Dieses Kapitel ist die Testumgebung für uns und andere Autorinnen und Autoren. Es ist nicht für Lernende gedacht, sondern zum Ausprobieren, Vergleichen und Diskutieren. Drei Unterseiten:
-
Tooltest — alle Zuschnitte des Werkzeugs auf einer Seite, mit dem
jeweiligen
data-configdaneben. Nachschlagewerk für Autorinnen und Autoren: Welche Schlüssel gibt es, was bewirken die Profile? - Erarbeitung — die Einstiegsseite „Verwaltung von Bankkonten“ aus dem Kapitel Objekte und Klassen, umgebaut so, dass die Erkundung neuer Inhalte über das Werkzeug läuft statt über einen lokalen Python-Editor.
- Übung — die Übungsseite desselben Kapitels; jede Aufgabe bekommt eine eigene, passend zugeschnittene Instanz des Werkzeugs.
So kommt das Werkzeug auf eine Seite
In die inhalt.txt gehören zwei Dinge: das Feld Features: oopython
und je Werkzeug ein div mit der Klasse oopython, dessen
Zuschnitt als JSON im Attribut data-config steht.
<div class="oopython" data-config='{"titel": "Bankkonten", "quelltext": "class Konto:\n ..."}'></div>
Zwei Regeln, die sich beim Einbetten als wichtig erwiesen haben:
-
Das
data-configmuss in einer Zeile stehen. Es geht durch KirbyText, und ein Umbruch mitten im Attribut zerlegt das JSON. Zeilenumbrüche im Quelltext werden als\ngeschrieben, Anführungszeichen im Quelltext als\". -
Was fehlt, bekommt seinen Vorgabewert. Eine unvollständige
Angabe führt nie zu einem unbrauchbaren Werkzeug; wer nur
quelltextsetzt, bekommt das volle Werkzeug.
Die vollständige Liste der Schlüssel steht auf der Seite Tooltest.
Was wir hier herausfinden wollen
- Welche Zuschnitte tragen in welcher Unterrichtsphase — und welche verwirren?
- Wie formuliert man Aufgaben so, dass die Maus der Einstieg ist und der Text das Ziel?
- Wie viele Werkzeuge verträgt eine Buchseite, bevor sie unübersichtlich wird?
- Wie fügt sich das Werkzeug gestalterisch in die Buchseite ein (Schrift, Abstände, Breite)?
Rückmeldungen dazu bitte an die Autorin bzw. den Autor des Kapitels.