Texte mit Computerhilfe überarbeiten

Texte mit Computerhilfe überarbeiten

Mit dem Aufkommen leistungsfähiger künstlicher Intelligenzen zur Erstellung von Texten wie Generative Pretrained Transformers kann der Schreibprozess weitgehend automatisiert werden. Auf der Sekundarstufe I sollen die Lernenden Texte in der Regel aber nicht generieren lassen, sondern diese selbst verfassen, denn nur so lernen sie, eigene Gedanken in schriftlicher Form festzuhalten. Da diese selbst geschriebenen Texte aber oft zahlreiche Mängel aufweisen (z.B. Rechtschreibung, Grammatik, Stil, Textaufbaue, …), ist deren Korrektur für Lehrpersonen äusserst aufwändig, was dazu führen kann, dass auf der Oberstufe zu wenig Texte geschrieben werden oder das Feedback auf solche Texte auf ein absolutes Minimum reduziert wird.

Das Resultat ist, dass Lernende während ihrer Schulzeit meist zu wenig Schreiberfahrung gewinnen und deshalb als Erwachsene nur unzureichend in der Lage sind, entsprechende Texte zu verfassen. Ein möglicher Ausweg aus diesem Dilemma besteht darin, dass Lehrpersonen beim Feedback auf Texte durch computergestützte Methoden entlastet werden und sich somit bei Korrekturarbeiten und Rückmeldungen auf Nichttriviales konzentrieren können. Gleichzeitig wird Lernenden so aufgezeigt: Das Schreiben eines guten Textes ist ein Prozess, der das Reflektieren des Geschriebenen und die Überarbeitung von Formulierungen, Sätzen oder ganzen Textteilen umfasst.

Da nicht davon ausgegangen werden kann, dass Lernende der Sekundarstufe I die anspruchsvolle Tätigkeit der Textüberarbeitung selbständig durchführen können, brauchen sie eine entsprechende Anleitung. Die in diesem Beitrag vorgestellte Moodle-Datenbankaktivität (Vorlage am Ende des Textes) ist der Versuch, die Lernenden an das gezielte Überarbeiten von Texten heranzuführen.

Die Datenbank

1) Planung eines Textes

Lernende tendieren dazu, ohne grosse Vorüberlegungen gleich mit dem Schreiben des eigentlichen Textes zu beginnen. Dabei ist es für das Schreiben eines guten Textes in aller Regel erforderlich, zuerst einen entsprechenden Plan zu entwickeln, weil sonst die Gefahr besteht, dass sich die Schreibenden entweder in Details verlieren, der Text keinen roten Faden aufweist, oder eine Schreibarbeit in der zu Verfügung stehenden Zeit nicht abgeschlossen werden kann.

Planung eines Textes
Die Lernenden können bei der Planung direkt Stichwörter in das Eingabefeld notieren, die Zeichenfunktion von Moodle verwenden oder ein Foto einer handschriftlichen Planung hochladen.

Mithilfe der Datenbank werden die Lernenden explizit dazu aufgefordert, eine entsprechende Planung zu erstellen. Dabei steht in der Datenbank einfach ein entsprechender Platz zu Verfügung. Denn die konkrete Umsetzung des Planungsschrittes ist von der Schreibaufgabe selbst abhängig. In der Basisversion der Datenbank (ohne Plugins) steht dazu ein entsprechendes Textfeld zu Verfügung, in welches auf multimediale Elemente eingefügt werden können. Die erweiterte Version bietet ausserdem die Möglichkeit, integriert eine Conceptmap zu erstellen, dazu muss aber ein entsprechendes Plugin installiert werden.

Beispiel für eine Conceptmap
Die Möglichkeit, eine Conceptmap direkt in der Datenbank zu erstellen, steht nur in der erweiterten Version zu Verfügung.

2) Schreiben des Originaltextes

Die Lernenden schreiben nun wie gewohnt einen Text zu einem bestimmten Thema oder zu einer Aufgabenstellung. Dabei erhalten sie von der Lehrperson entsprechende Hinweise zu Qualitätskriterien, möglichen Schreibstrategien usw. Auch hier stellt die Datenbank einfach einen entsprechenden Platz in Form eines Textfeldes zu Verfügung. Grundsätzlich empfiehlt es sich, diesen Teil der Arbeit extern (auf Papier oder in einer Textverarbeitung) zu verfassen und den resultierenden Text dann in die Datenbank einzufügen. Bereits an dieser Stelle werden die Lernenden jedoch dazu aufgefordert, ihren Text auf Rechtschreibung, Grammatik und Stilistik überprüfen zu lassen. In der Datenbank wird dazu auf DeepL Write verlinkt. Grundsätzlich kann dafür aber auch ein anderes Online-Werkzeug verwendet werden.

Eingabefeld für den Entwurf mit einen Link auf DeepL Write.
Der Entwurf des Textes kann direkt in das Eingabefeld kopiert werden. Zusätzlich ist es möglich, einen Scan oder ein Foto eines handschriftlich verfassten Textes zu Verfügung zu stellen.

3) Überarbeitung des Textes

Nachdem die Lernenden nun über eine Textversion verfügen, welche hoffentlich nicht mehr allzu viele formale Fehler enthält, folgt die eigentliche Überarbeitung des Textes. Dazu kommt PEER der Technischen Universität München zum Einsatz. PEER wird weiter unten im Text beschrieben.

Bearbeitung des Textes
Für die Bearbeitung des Textes holen sich die Lernenden eine Rückmeldung bei PEER ein und überlegen anschliessend, welche der Rückmeldungen sie in ihren Text einbauen wollen.

In der Datenbank selbst erhalten die Lernenden den Auftrag, die erhaltenen Rückmeldungen festzuhalten, wobei es sinnvoll ist, dass sie sich dabei auf das allgemeine Feedback und die Verbesserungsvorschläge von PEER beschränken. Anschliessend werden die Lernenden dazu aufgefordert, diejenigen Vorschläge noch einmal gesondert zu notieren, welche sie bei der Verbesserung ihres Textes tatsächlich umsetzen wollen.

4) Endversion

Nach der Überarbeitung ihres Textes laden die Lernenden die definitive Textversion in die Datenbank hoch, wo sie dann für die Korrektur durch die Lehrperson zu Verfügung steht.

Endversion des Textes
Nach der Bearbeitung können die Lernenden ihren Text direkt in die Datenbank hochladen, wo sie von der Lehrperson korrigiert werden kann.

5) Arbeitsstand

Damit die Lehrperson weiss, wann sie einen Text korrigieren kann, halten die Lernenden noch den Arbeitsstand (Planung, Entwurf,  Bearbeitung und Endversion) fest.

Arbeitsstand
Der Arbeitsstand kann von den Lernenden schrittweise angepasst werden.

Der Arbeitsstand wird nicht nur in den einzelnen Beiträgen der Lernenden festgehalten, sondern auch visuell in der Listenansicht der Datenbank angezeigt.

Visualisierung des Arbeitstandes
Der Arbeitsstand wird als Fortschrittsbalken angezeigt.

6) Bewertung

Das Eingabefeld für die Bewertung ist nur für die Lehrperson sichtbar. Um ihr die Arbeit zu erleichtern, stehen zwei verlinkte Webdienste zu Verfügung. Einmal ist dies die Webseite der Wortliga, welche eine umfassende Analyse von Texten auf verschiedene Kriterien zulässt, andererseits eine Möglichkeit, den Originaltext und die verbesserte Version der Lernenden direkt miteinander zu vergleichen.

Bewertung durch die Lehrperson
Der Lehrperson stehen mit der Moodle-Datenbankaktivität verschiedene Möglichkeiten der Rückmeldung zu Verfügung.

Die persönliche Rückmeldung der Lehrperson kann in geschriebener Form erfolgen. Es ist aber auch problemlos möglich, diese in Audio- oder sogar Videoform durchzuführen oder verschiedene Multimediaformen zu kombinieren.

Verlinkte Werkzeuge und Webdienste

Die Datenbank verlinkt auf verschiedene Werkzeuge und Webdienste. Die meisten davon verwenden Methoden, die dem Bereich der künstlichen Intelligenz zugeordnet werden können.

DeepL Write

Mit DeepL Write können die Lernenden Texte automatisch verbessern lassen. Dabei werden nicht nur Rechtschreib- und Grammatikfehler korrigiert, sondern DeepL bietet auch Vorschläge zur Verbesserung der Stilistik an. Wie bei DeepL üblich, können Anpassungen direkt im Text vorgenommen werden.

DeepL Write verbessert Texte
Mit DeepL Write ist eine interaktive Verbesserung von Formulierungen möglich.

Aktuell ist die frei zugängliche Version auf 2000 Zeichen beschränkt.

PEER

PEER ist ein kostenfreies Angebot für Schulen der Technischen Universität München, welches Schülerinnen und Schüler ohne Anmeldung nutzen können. Um Rückmeldungen zu einem Text zu erhalten, gehen die Lernenden wie folgt vor:

Die Lernenden geben auf der Webseite den Titel ihres Textes ein, wählen den Aufsatztyp, die Schulstufe, den Jahrgang und das Bundesland. Ausserdem müssen sie die Datenschutzerklärungen akzeptieren.

Peer: Erste Seite
Bevor die Lernenden einen Text eingeben können, müssen sie die Datenschutzbestimmungen annehmen.

Danach gelangen sie mit „Weiter“ zur eigentlichen Rückmeldung zu ihrem Text. Auf der zweiten Seite können die Lernenden nun ihren Text hochladen. Dies kann in Form eines Onlinetextes geschehen. Es ist aber auch möglich, den Scan eines handschriftlich verfassten Textes hochzuladen. Die Erkennungsrate ist abhängig von der individuellen Handschrift. Zusätzlich muss bei der automatischen Erkennung überprüft werden, ob der erkannte Text auch tatsächlich der Vorlage entspricht. Nebst dem Text kann auch eine Aufgabenstellung hinterlegt werden. Auch hier entweder als Onlinetext oder als Datei. Achtung! Es ist zwar möglich, vor- und zurückzublättern, dabei gehen aber die eingegebenen Daten verloren.

PEER: Eingabe des Textes
Nebst dem Text selbst kann auch die Aufgabenstellung hochgeladen werden.

Sind die benötigten Daten eingegeben, analysiert PEER den Text innert kurzer Zeit und gibt dazu eine Rückmeldung bestehend aus einem allgemeinen Feedback, den verwendeten Kriterien und Verbesserungsvorschlägen. Die Qualität der Rückmeldung schwankt stark: Von detaillierten und passenden Vorschlägen bis zu Tipps, die wenig hilfreich oder gar nicht zutreffend sind. Für Schülerinnen und Schüler, welche sich nicht gewohnt sind, Lesetexte schnell zu erfassen, kann der Umfang der Rückmeldungen zu einer Herausforderung werden. Insgesamt beurteilten in einer 7. Klasse aber die grosse Mehrheit der Lernenden zumindest einen Teil der Rückmeldungen als hilfreich.

Textvergleich

Das von Martin Janecke programmierte Werkzeug zum Textvergleich ist einfach zu bedienen und wertet Texte schnell und ohne permanente Speicherung der eingegebenen Daten aus. Für den Schulgebrauch ist es empfehlenswert, den Modus „Zeilen mit Wörtern vergleichen“ zu verwenden.

Texte vergleichen
Textvarianten können mit dem Werkzeug Textvergleicher schnell und visuell ansprechend auf Unterschiede geprüft werden.

Durch die klare Farbgebung erhalten Lehrpersonen einen guten Eindruck darüber, in welchem Umfang ein Text von Lernenden aufgrund der erhaltenen Rückmeldungen überarbeitet wurde.

Wortliga

Wortliga bietet verschiedene Werkzeuge zur Textanalyse an und kann deshalb bei der Einschätzung der Qualität eines Textes hilfreich sein. In der kostenfreien Version blendet Wortliga in regelmässigen Abständen Werbung ein. Beim Hochladen von Schülertexten sollte darauf geachtet werden, dass diese keine persönlichen Informationen wie Namen von Mitschülerinnen oder -schülern enthalten.

Mit Wortliga können Text statistisch ausgewertet werden
Wortliga bietet einen schnellen Überblick zu verschiedenen Problemen, welche beim Verfassen von Texten auftreten können.

Technisches

Die Datenbank nutzt zusätzlichen Code, um die Darstellung zu verbessern. So wird beispielsweise unter den Textfeldern das jeweilige Eingabeformat nicht angezeigt, da dies im gegebenen Kontext nicht sinnvoll ist.

Ausserdem wird die Höhe der Eingabezeile verkleinert, damit auf Bildschirmen im Querformat mehr Platz für den eigentlichen Inhalt bleibt.

document.addEventListener("DOMContentLoaded", database_ready);
function database_ready() {
document.querySelector(".stickyfooter").style.height="3em";
document.querySelector("#page").style.height="calc(100vh - 60px - 3em)"
}

In der Einzelansicht wird diese Leiste sogar gänzlich ausgeblendet, da sie dort nicht benötigt wird.

document.addEventListener("DOMContentLoaded", database_ready);
function database_ready() {
document.querySelector(".stickyfooter").style.visibility="hidden";
}

Das Feld zur Eingabe der Bewertung durch die Lehrperson wird für Lernende ebenfalls ausgeblendet. Dazu wird der entsprechende Teil der Datenbank in ein DIV gelegt, welches erst einmal gar nicht angezeigt wird:

<div id="rueckmeldung" style="display:none;"> ... </div>

Die eigentliche Anzeige für die Lehrperson erfolgt dann über ein Script, welches Überprüft, ob der Bearbeiten-Schalter angezeigt wird:

<script>
window.onload = function makeComment()
{
if(document.querySelector("#usernavigation .editmode-switch-form").innerHTML.length>0) document.querySelector("#rueckmeldung").style.display="block"
}
</script>

In der erweiterten Version der Datenbank werden ausserdem auch in der Einzelansicht die Kommentare der Lehrperson für alle Personen ausser der jeweilig betroffenen Schülerin oder dem betroffenen Schüler durch einen Namensvergleich ausgeblendet.

<script>
window.onload = function makeCommentVisible()
{
if(document.querySelector("#fullname1").innerText==document.querySelector("#fullname2").innerText || document.querySelector("#usernavigation .editmode-switch-form").innerHTML.length>0) document.querySelector("#rueckmeldung").style.display="block"
}

Wird die Grundversion verwendet, funktioniert dies nicht, weshalb man in den Einstellungen der Datenbank dafür gesorgt werden muss, dass Lernende die Einträge der anderen gar nie ansehen können. Dies geschieht über die Zahl der Einträge.

Datenbankeinstellungen können das Einsehen von Beiträgen durch Lernende einschränken
Wenn in der Datenbank die Anzahl der erforderlichen Einträge höher eingestellt wird als die Anzahl möglicher Einträge, können Lernende die Abgaben ihrer Mitschülerinnen und -schüler nicht einsehen.

In der erweiterten Version steht zudem noch die Möglichkeit zu Verfügung, den Inhalt des Textes mittels einer Conceptmap zu planen, dazu muss aber ein entsprechendes Plugin installiert werden. Die Details dazu werden hier beschrieben: https://gigers.com/blog/concept-maps-in-moodle/

Weitere technische Details können direkt den beiden Versionen der Datenbank entnommen werden.

Einsatz im Unterricht

Wie eingangs erwähnt sollen die Lernenden mithilfe der Datenbank dazu angeleitet werden, ihre Texte gezielter zu überarbeiten, bevor sie diese zur Korrektur an die Lehrperson einreichen, wodurch sich hoffentlich eine Entlastung in Hinblick auf Basiskorrekturen ergibt. Ausserdem ermöglicht es die Datenbank, das Verfassen eines Textes nicht nur aus der Sicht des Endproduktes zu bewerten, sondern auch eine eigentliche Prozessbegleitung beim Schreiben zu ermöglichen, denn der Zwischenstand der Arbeit kann von der Lehrperson jederzeit eingesehen und kommentiert werden. Inwiefern sich die aktuell in der Datenbank vorgesehenen externen Werkzeuge langfristig bewähren werden, wird sich zeigen. Aufgrund der blossen Verlinkung dieser Dienste, ist aber eine Anpassung ohne grossen Aufwand möglich.

Vorlagen

Grundversion: Datenbank mit PEER (ohne Plugins)-preset-20231227_1403
Die Grundversion läuft mit einer Standardversion von Moodle ab der Version 4.

Erweiterte Version: Datenbank mit PEER-preset-20231227_1403
Die erweiterte Version funktioniert nur, wenn in der Datenbank das Conceptmap-Feld installiert wird. Zusätzlich verwendet diese Version auch noch das Plugin Filtercodes: https://moodle.org/plugins/filter_filtercodes

Automatische Generierung von Texten

Auf künstlicher Intelligenz basierende Textgeneratoren wie ChatGPT haben die Aufmerksamkeit einer breiten Öffentlichkeit gewonnen. Wie diese funktionieren, ist jedoch nicht einfach nachvollziehbar. Aus diesem Grund hat der Informatiklehrer Marc Siemering eine didaktisch vereinfachte auf Markow-Ketten basierende  Version in Python geschrieben, welche er anlässlich des Ausbaldower-Barcamps am 2. Februar 2023 unter dem Titel „Wir würfeln Wörter“ vorstellte. Dieser Blogbeitrag greift die von Marc Siemering vorgestellten Ideen auf und erklärt diese am Beispiel der blockbasierten Programmierumgebung Snap!

Der Zufall als Grundlage

Damit solche Anwendungen wie ChatGPT überhaupt funktionieren, benötigen sie eine entsprechende Datenbasis. Diese wird aus bereits vorhandenen Texten gewonnen. In der einfachsten Variante (ChatGPT ist wesentlich komplexer), werden diese Texte genutzt, passende Datenstrukturen aufzubauen.

Bevor man sich mit der Auswertung von Texten beschäftigt, lohnt es sich aber, erst einmal einige grundlegende Versuche durchzuführen. Für diese erste Gehversuche eignen sich die Zahlen 0-9. Damit können alle zu schreibenden Blöcke getestet werden, bevor diese auf einen Textkorpus angewendet werden.

In Snap! kann man sehr eine Liste von Zufallszahlen mit folgenden Blöcken generieren:

Der map()-Block erlaubt die einfache Generierung von Zufallszahlen.

Die so erzeugten Zufallszahlen können mit einem entsprechenden Block auf dem Bildschirm ausgegeben werden.

Dieser Block wird später auch für die Ausgabe der zu generierenden Texte verwendet.

Die entsprechende Bildschirmausgabe sieht dann beispielsweise so aus:

Zufällige auf den Bildschirm ausgegebene Zahlen.

Genau das gleiche Vorgehen kann nun anstatt mit Zahlen auch mit den aus einem Text gewonnenen Wörtern verwendet werden (zur Herkunft der Texte später mehr).

Die Wörter eines Textes werden in eine Liste geschrieben und anschliessend zur Generierung eines zufälligen Textes genutzt.

Anstelle der zufälligen Zahlen werden so zufällige Wörter auf dem Bildschirm ausgegeben.

Die Bildschirmausgabe zeigt, die Wörter wurden wild zusammengewürfelt und haben keinen Bezug zueinander.

Dass die generierten Wörter thematisch zusammenpassen, hängt damit zusammen, dass diese aus einem Klexikon-Text zum Thema „Steinzeit“ stammen.

Struktur des Textes nutzen

Da es nicht das Ziel ist, zusammenhangslose Texte zu produzieren, soll in einem nächsten Schritt die Abfolge der Wörter im Text genutzt werden, um ein besser passendes Ergebnis zu erzielen. Ob die entsprechenden Programmblöcke richtig funktionieren, kann mithilfe der Snap!-Blöcke ebenfalls schnell anhand der Zufallszahlen überprüft werden. Das Augenmerk hier, soll aber nun den eigentlichen Texten gelten.

Eine erste einfache Idee besteht darin, dass nicht ein zufälliges Wort verwendet wird, sondern ein Wort, welches im Text auf einen schon vorhandenen Begriff folgt. Als Beispiel sollen die beiden folgenden Sätze aus dem Klexikon (wieder zu Steinzeit) dienen:

Wie die Menschen in der Steinzeit lebten, müssen die Archäologen aufgrund von Funden herausfinden. Die Steinzeit ist der älteste Abschnitt in der Geschichte der Menschheit.

Während in diesem kurzen Text die meisten Wörter eindeutige nachfolgende Begriffe haben, gibt es für die beiden Artikel „die“ und „der“ mehre Möglichkeiten. Damit kann nun eine Liste mit folgender Struktur aufgebaut werden:

... > ...

der > älteste, Menscheit

die > Menschen, Steinzeit

... > ...

Ob dabei das „Die“ ebenfalls berücksichtig werden soll, hängt davon ab, wieweit die Texte in der Wortliste vereinfacht werden sollen.

Das Snap!-Beispiel stell für das Erzeugen einer entsprechenden Liste (Struktur) folgenden Block zu Verfügung:

Die Erzeugung eines einfachen benötigt schon wesentlich mehr Aufwand als die blosse Aneinanderreihung zufälliger Wörter.

Das einfache Wörterbuch wird in mehreren Schritten erzeugt. Zuerst einmal werden alle Wörter mit ihren nachfolgenden Wörtern verknüpft. Anschliessend wird überprüft, ob es Wörter gibt, die mehrmals im Text vorkommen. Für diese wird dann ein gemeinsamer Eintrag mit allen nachfolgenden Wörtern erzeugt. Schliesslich wird die so gewonnene Listenstruktur noch einmal vereinheitlicht.

Für das Wort „ist“ sieht der entsprechende Listeneintrag beispielsweise so aus:

Im Text stehen mehrere verschiedene Wörter nach dem Wort „ist“.

Wird nun dieses Wörterbuch für die Generierung von Texten verwendet, kann das Programm überall dort, wo mehrere Alternativen zu Verfügung stehen, eine Zufallsentscheidung treffen. Die dafür benötigten Blöcke sind:

Bei den benötigten Blöcken muss nun etwas mehr Aufwand betrieben werden, die Grundstruktur bleibt aber gleich. Der zusätzliche Index wird für einen einfacheren Zugriff auf das Wörterbuch erzeugt.

Die so erzeugten Texte täuschen einen höheren Zusammenhalt vor als wirklich vorhanden ist, denn aufgrund der überschaubaren Textmenge sind jeweils nicht besonders viele Entscheidungsalternativen vorhanden. Trotzdem sind viele Logikbrüche im Text zu erkennen.

Überall dort, wo es mehrere Nachfolger zu einem gegebenen Wort gibt, sind grundsätzliche Sprünge in der Textlogik möglich.

Markow-Ketten

Der schwache Bezug zwischen einem gegebenen Begriff und dem nachfolgenden Wort (unter Umständen sehr viele Möglichkeiten) kann korrigiert werden, wenn an die Stelle des einen Suchbegriffes mehrere Wörter treten. Im vorliegenden Beispiel werden dafür Dreiergruppen von Wörtern als Schlüssel im Wörterbuch genutzt. Das entsprechende Wörterbuch wird mit einem leicht veränderten Block erzeugt.

Die Schlüssel im Wörterbuch bestehen nun aus Dreiergruppen von Wörtern.

Die mithilfe der Markow-Ketten erzeugten Texte weisen nun einen grösseren inneren Zusammenhalt auf.

Weil für die Textgenerierung nur wenig Material verwendet wurde, hat der Computer eine vergleichsweise kleine Auswahl von Zufallsmöglichkeiten. Dadurch wirkt der Text logischer.

Nachdem nun an einem überschaubaren Text gezeigt wurde, dass die entsprechende Programmlogik funktioniert, ist es Zeit, einen grösseren Textkorpus zu verwenden.

Verwendung von Textkorpora

Während es noch vor wenigen Jahren äusserst schwierig war, insbesondere deutschsprachige Textkorpora zu finden, sind diese nun problemlos erhältlich. Eine gute Anlaufstelle ist beispielsweise der „Korpus einfaches Deutsch (KED)„. Dort findet man auch die Texte aus dem Klexikon. Da diese in der zum Herunterladen angebotenen ZIP-Datei als Einzeltexte vorliegen, führt man sie am besten via Kommandozeile zusammen. Unter Windows funktioniert dies mit folgendem Befehl:

type *.txt > klexikon.txt

Ob man anschliessend den Gesamttext noch von Interpunktionszeichen etc. säubert, muss man selbst entscheiden. Eine bereits überarbeitete Variante wird am Schluss dieses Beitrages zu Verfügung gestellt.

Um einen entsprechenden Text in Snap! zu verwenden, kann man diesen aus dem Dateimanager direkt in die Snap!-Umgebung hineinziehen. Anschliessend steht der Text als Variable zu Verfügung.

An dieser Stelle ist eine Warnung angebracht: Möchte man sein Werk in der Snap!-Cloud speichern, ist dabei zu beachten, dass Projekte nicht grösser als 10 MByte sein dürfen. Vor dem Speichern sollte man also die entsprechenden Daten wieder aus der Snap!-Datei löschen. Dazu stehen im Beispiel einige Blöcke zu Verfügung.

Versuch mit dem Gesamttext des Klexikons

Das Erzeugen des Wörterbuches aus dem Klexikon-Text funktioniert genau gleich wie oben beschrieben. Allerdings dauert dessen Generierung entsprechend länger. Auf einem einigermassen modernen Computer dauert die Berechnung zwischen ca. 5-10 Minuten.

Auch die Generierung der Text dauert etwas länger, weil bei der Suche nach den entsprechenden Wortfolgen ein umfangreicherer Datenbestand durchforstet werden muss. Für 100 Wörter muss man mit etwa 20 Sekunden Laufzeit rechnen.

Das Resultat dieser Bemühungen sieht dann beispielsweise so aus:

Durch die umfangreichere Textmenge im Ausgangsmaterial erhöht sich die Anzahl der möglichen Verzweigungen, was wieder zu mehr Unstimmigkeiten im Text führt.

Die „enttäuschenden“ resultierenden Textbeispiele zeigen, ChatGPT nutzt weit raffiniertere Techniken als ein bloss auf Markow-Ketten aufbauendes Wörterbuch.

Einsatz im Unterricht

Die zu Verfügung gestellten Snap!-Blöcke eignen sich, um auf verschiedenen Abstraktionsstufen an das Thema heranzugehen.  Insbesondere zeigen sie auch auf, dass sowohl unterschiedliche Herangehensweisen als auch verschiedene Ausgangsmaterialen zu qualitativ anderen Ergebnissen führen können.

Falls man sich fragt, weshalb der meist etwas ungewohnte funktionale Ansatz anstatt eines rein iterativen Vorgehens (z.B. mittels for-Schleife) verwendet wurde, ist die Antwort einfach: In Snap! sind funktionale Ansätze wesentlich performanter als die Verwendung von Schleifen.

Die Tatsache, dass die Generierung der Wörterbücher wesentlich mehr Zeit benötigt, als das Generieren von Einzeltexten, kann dazu verwendet werden, auf die Kosten beim Trainieren von Sprachmodellen aus entsprechenden Textquellen hinzuweisen.

Es lohnt sich sicherlich auf darauf hinzuweisen, dass durch den Einbezug grösserer Textkorpora – das Klexikonbeispiel umfasst etwa 1.6 Millionen Wörter – mit mehreren Milliarden Wörtern, der technische Aufwand noch einmal ungleich höher ausfällt, da derart umfangreiche Datenmengen nicht mehr einfach im Speicher des Computers bearbeitet werden können.

Ob und inwiefern es sinnvoll ist, auf die erweiterten Techniken von Anwendungen wie ChatGPT einzugehen (so erfolgt die Auswahl nachfolgender Wörter gezielter), muss wahrscheinlich zu einem späteren Zeitpunkt noch einmal überdacht werden. Das vorliegende Beispiel ist ein erster Schritt dahin.

Materialien zur Textgenerierung

Hier finden sich die Materialien zum vorgestellten Beispiel:

„Dark mode“ für Moodle

Wenn man in Moodle auf einfache Art einen „dark mode“ implementieren möchte, kann man dazu den CSS-Filter invert()  verwenden. Damit die Einstellungen dann nicht nur für die aktuelle Seite gelten, hinterlegt man diese mittels localStorage im Speicher des Browsers.

Ein einfacher „dark mode“ kann in Moodle mit wenig Aufwand zu Verfügung gestellt werden.

Wie das im Detail funktioniert, zeigt diese Anleitung.

Einrichten des „dark modes“

Zur Einrichtung des „dark modes“ werden zwei Elemente gebraucht:

  1. Ein Schalter, mit dem der „dark mode“ ein- und ausgeschaltet werden kann.
  2. Ein Script, welches die Stellung des Schalters, respektive der gespeicherten Variable auf allen Seiten ausliest.

Script für den Schalter

Als Schalterelement wird eine Checkbox verwendet, die über eine id eindeutig angesprochen werden kann.

<p><input type="checkbox" 
    id="checkbox" value="darkmode" 
    onchange="switchDarkMode()"> 
    Dark Mode
</p>

Diese Schaltfläche und das nachfolgende Script können an beliebiger Stelle in Moodle eingebaut werden:

  • im Dashboard, z.B. in einem Text-Block
  • in einem Kurs, z.B. mittels einem Textblock

Damit der Zustand der Checkbox ausgelesen werden kann, wird folgendes Script benötigt. Dieses wird am gleichen Ort eingefügt wie die Checkbox.

<script>

function switchDarkMode() {
    if (document.querySelector("#checkbox").checked) 
    {
        localStorage.setItem("darkmode", true);
        changeToDarkMode();
    } 
    else 
    {
        localStorage.setItem("darkmode", false);
        changeToDarkMode()
    }
}


function setDarkMode() {
    if (localStorage.getItem("darkmode") == "true")
        document.querySelector("#checkbox").checked = true
    else if (localStorage.getItem("darkmode") == "false") 
        document.querySelector("#checkbox").checked = false;
}

window.onload = (event) => {
    setDarkMode();
};


</script>

Die Funktion switchDarkMode() liest die Checkbox aus und speichert deren Zustand in einer lokalen Browservariablen ab. Diese Funktion wird aufgerufen, sobald die Checkbox angeklickt wird.

Die Funktion setDarkmode() überprüft, ob im Browserspeicher bereits eine Einstellung hinterlegt ist und passt die Einstellung der Checkbox (aktiviert oder nicht) entsprechend an.

Script für den „dark mode“

Damit durch die Aktivierung der Checkbox der „dark mode“ eingeschaltet werden kann, muss ein weiteres Script so eingebaut werden, dass es auf allen relevanten Seiten ausgeführt wird. Bei älteren Moodleversionen kann dazu ein Block verwendet werden, der auf allen Seiten angezeigt wird. Unter Moodle ab 4.0 bindet man das Script am besten über die Administration > Darstellung > Zusätzliches HTML ein. Dazu benötigt man Administrationsrechte.

<script>

function changeToDarkMode() {
    if (localStorage.getItem("darkmode") == "true") 
    {
        page = document.createElement('style')
        page.innerHTML = "html {filter: invert(100%) hue-rotate(180deg);}";
        document.body.appendChild(page); 
        page = document.createElement('style')
        page.innerHTML = "html :is(iframe,video,img,.dashboard-card,.tile) {filter: invert(100%); hue-rotate(180deg);}";
        document.body.appendChild(page); 
    } 
    else if (localStorage.getItem("darkmode") == "false") 
    {
        page = document.createElement('style')
        page.innerHTML = "html {filter: invert(0%) hue-rotate(0deg);}";
        document.body.appendChild(page); 
        page = document.createElement('style')
        page.innerHTML = "html :is(iframe,video,img,.dashboard-card,.tile) {filter: invert(0%) hue-rotate(0deg);}";
        document.body.appendChild(page); 
    }
}

</script>

Die Funktion changeToDarkMode liest den im Browserspeicher hinterlegten Wert aus und fügt dann auf jeder Seite den passenden CSS-Code ein. Dieser sorgt dafür, dass die entsprechenden Farbwerte aller HTML-Elemente invertiert werden. Die Webseite wird also als Negativ dargestellt.

Weil eine negative Anzeige bei Elementen wie Bildern oder Videos nicht erwünscht ist, werden diese Elemente in einem zweiten Schritt noch einmal invertiert. Und weil das Negativ von Negativ wieder dem Positiv entspricht, werden die so behandelten Elemente dann wieder wie gewohnt dargestellt.

Wird der „dark mode“ deaktiviert, dann wird der invert-Filter wieder auf die Normaleinstellung zurückgesetzt.

Einschränkungen

Der „dark mode“ funktioniert nur auf Seiten, auf welchem die beschriebenen CSS-Formatierungen auch tatsächlich zusätzlich eingefügt werden. Ist dies nicht der Fall, wird die entsprechende Seite ganz normal abgebildet.

Einige Farbkombinationen werden auf Geräten mit geringem Schwarzwert nur schlecht abgebildet. Dies ist beispielsweise bei hellen Grautönen der Fall.

Je nach Kursformat und verwendeten Plugins müssen allenfalls weitere CSS-Selektoren in die Ausnahmeliste eingefügt werden. Da diese sich im Pseudo-Selektor :is() befinden, ist eine Erweiterung aber einfach zu bewerkstelligen.

Verwendung im Unterricht

Abgesehen von der „Ästhetik“ einer „dark mode“-Darstellung hat der Einsatz des Scripts keinen weiteren Einfluss auf den Unterricht. Auf vielen Geräten kann dadurch auch kein Strom gespart werden, da die stromverbrauchende Hintergrundbeleuchtung bei vielen Bildschirmtypen immer an ist.

In Klassen, in welchen die Lernenden schon Grundkenntnisse in der Webprogrammierung haben, können hingegen sowohl die verwendeten Techniken wie CSS-Selektoren und Speichermöglichkeiten von Daten im Browser besprochen werden. Allenfalls kann die Gelegenheit auch genutzt werden, um darauf hinzuweisen, dass quelloffene Software von den Nutzenden einfach den eigenen Bedürfnissen angepasst werden kann, als dies bei proprietärer Software der Fall ist.

Ein Bild kommentieren

In Moodle können Einzelpersonen Bilder mit der H5P-Aktivität Image Hotspots kommentieren. Bei der im Auftrag von zum.de weiterentwickelten Version Image Hotspots Erweiterung können sogar interaktive Elemente eingebaut werden. Diese Werkzeuge erlauben es jedoch nur jeweils einer Person, Anmerkungen zu einem Bild vorzunehmen.

Die hier vorgestellte Datenbankvorlage „Bild kommentieren“ soll deshalb diese Werkzeuge nicht ersetzen, sondern das gemeinsame Annotieren eines Bildes ermöglichen.

Demonstration der Datenbank „Bild kommentieren“

Die Grundfunktionen der Datenbank „Bild kommentieren“ sollen in einem kurzen Video vorgestellt werden:

Im Video wird das Aquarell „Romanshorner Hafen“ von Michael Zeno Diemer von 1907 gezeigt.

In den verschiedenen Ansichten stehen folgende Funktionen zu Verfügung:

  • Einzelansicht: Die Einzelansicht dient dazu, neue Bildkommentare zu erfassen. Diese können auch multimediale Elemente enthalten. Um einen neuen Eintrag vorzunehmen, klickt man zuerst auf die gewünschte Stelle im Bild, um die passenden Koordinaten zu erhalten, dann auf „Eintrag hinzufügen“. Es lohnt sich, für die Einträge entsprechende Farben zu vergeben, da Punkte in der Standardeinstellung „Schwarz“ auf einigen Bildern nur schwer zu erkennen sind.
  • Listenansicht: In der Listenansicht können die bereits bestehenden Bildpunkte angeklickt werden, worauf die zugehörigen Inhalte unterhalb des Bildes angezeigt werden. Die jeweils erste Audio- oder Videodatei eines solchen Beitrages wird automatisch abgespielt. Klickt man auf eine Stelle ohne Eintrag, wird nachgefragt, ob ein neuer Eintrag erstellt werden soll, was auch in der Listenansicht möglich ist.
  • Eintrag hinzufügen: In der entsprechenden Ansicht können die eigentlichen Einträge vorgenommen werden. Dabei können die in Moodle üblicherweise zu Verfügung stehenden Elemente in den Kommentar eingebunden werden. Nebst der Wahl der Punktfarbe kann ein Eintrag auch einer Kategorie zugeordnet werden, was später ein gezieltes Suchen oder Anzeigenlassen von Kommentaren der Lernenden ermöglicht.
  • Erweiterte Suche: Über die erweitere Suche können die vorhandenen Einträge wie in der Datenbankaktivität allgemein üblich, nach verschiedenen Kriterien gefiltert werden.
In der Listenansicht werden die Kommentare angezeigt, wenn man auf die entsprechenden Bildpunkte klickt.

Falls Audio- oder Videodateien nicht richtig angezeigt werden, sollte man die entsprechenden Filter in der Datenbank deaktivieren.

Installation in der eigenen Moodle-Instanz

Die Datenbank kann über eine Vorlage oder eine Sicherung der Datenbank als MBZ-Datei in der eigenen Moodle-Instanz installiert werden.

Falls der Weg über die Vorlage gewählt wird, muss man anschliessend über Einstellungen noch einige Angaben in der HTML-Ansicht ergänzen, damit die Datenbank auch funktioniert:

<p dir="ltr" style="text-align: left;">Was kannst du auf dem historischen Bild vom Romanshorner Hafen alles entdecken?</p>
<div style="overflow-x: hidden;">
<div id="annotateImage" width="100%" style="max-width:100%;min-width:100%;">
<canvas onclick="mousePosition(event)" id="pictureCanvas"></canvas>
</div>
<div style="max-width:99%;min-height:10em;margin-top:0.5em;" id="belowImage">Hier erscheinen die Mitteilungen zu den einzelnen Einträgen.</div>
</div>
<script>
image_element = document.querySelector("#annotateImage")

// https://stackoverflow.com/questions/37540345/html-flexible-canvas-scale
var image = new Image();
var canvasElement = document.querySelector("#pictureCanvas")
var points = [];
var contentElement = document.querySelector("#belowImage");

image.addEventListener('load', function(e) {

var scale_factor = annotateImage.clientWidth / image.width;
var width = image.width * scale_factor;
var height = image.height * scale_factor;
var canvas = document.querySelector('canvas');
canvas.width = width;
canvas.height = height;
canvas.getContext('2d').drawImage(image, 0, 0, width, height);
sessionStorage.setItem("height", height);
sessionStorage.setItem("width", width);
drawPoints();
});
var listenAnsicht = "true"
image.src = 'https://upload.wikimedia.org/wikipedia/commons/e/eb/Michael_Zeno_Diemer%2C_Romanshorn_Hafen.jpg';
</script>

Die anzupassenden Stellen sind im Quellcode entsprechend farblich markiert:

  • Link auf die Bilddatei (rot)
    Der Link muss ausgetauscht werden, wenn man ein anderes Bild verwenden möchte.
  • Bildbreite in % (blau)
    Diese Angaben können je nach Bildformat angepasst werden. Das ist insbesondere wichtig, wenn ein Bild im Hochformat verwendet werden soll.
  • Anweisungen und Hinweise (grün)
    Die Anweisung (ganz oben) kann den eigenen Bedürfnissen angepasst werden.

Verwendet man die MBZ-Datei sind nur die Anpassungen notwendig, da der Einstellungsbereich dann mitgesichert wird.

Ein Blick auf die Technik

Falls die in der Datenbank verwendeten Techniken nicht interessieren, kann dieser Abschnitt übersprungen werden.

Das Bild und die einzelnen Punkte werden auf einem Canvas-Element dargestellt. Die Kommentare dazu in die eigentliche HTML-Seite eingebaut. Damit das Bild beim Laden der Seite automatisch den zu Verfügung stehenden Platz einnimmt, wird folgendes Dritt-Script verwendet.

<script>
// https://stackoverflow.com/questions/37540345/html-flexible-canvas-scale
var image = new Image();
var canvasElement = document.querySelector("#pictureCanvas")

image.addEventListener('load', function(e) {
var scale_factor = annotateImage.clientWidth / image.width;
var width = image.width * scale_factor;
var height = image.height * scale_factor;
var canvas = document.querySelector('canvas');
canvas.width = width;
canvas.height = height;
canvas.getContext('2d').drawImage(image, 0, 0, width, height);
});
image.src = 'Adresse_der_Bilddatei.jpg';
</script>

In der Listenansicht werden die Einträge für die einzelnen Punkte wie folgt aufbereitet:

<script>
elements = document.querySelectorAll("[data-coordinates]");
...
var points=[];

elements.forEach(e => {
var point = [];
point[0]=e.querySelector(".Koordinate").innerText.split(",")[0]
point[1]=e.querySelector(".Koordinate").innerText.split(",")[1];
point[2]=e.querySelector(".Farbe").innerText;
point[3]=e.querySelector(".Kategorie").innerText;
point[4]=e.querySelector(".Kommentar").innerHTML;
points.push(point);
});
drawPoints()
</script>

Alle Einträge werden also zuerst gespeichert und dann einzeln so bearbeitet, dass die darin enthaltenen relevanten Angaben anschliessend zu Verfügung stehen.

Die meisten der verwendeten Funktionen sind im JavaScript-Teil der Datenbank ausgelagert.

So wird beispielsweise eine Distanzfunktion (Pythagoras) verwendet, um den zu einem angeklickten Punkt passenden Kommentar zu finden. Wobei die Parameter dem angeklickten Punkt und jeweils einem Punkt auf der Liste entsprechen.  Zusätzlich wird dann später im Script noch überprüft, ob überhaupt ein Punkt in der Nähe liegt.

function distance(x,y,xp,yp)
{
return Math.pow(((x-xp)*(x-xp)+(y-yp)*(y-yp)),0.5)
}

Die Koordinate des angeklickten Punktes wird über ein Event festgestellt und anschliessend in Prozentangaben umgerechnet. Je nachdem in welcher Ansicht der Nutzende sich gerade befindet, wird anschliessend ein Kommentar ausgegeben oder der Punkt als Orientierungshilfe auf dem Bild angezeigt (für einen Neueintrag):

function mousePosition(event)
{
var ph = sessionStorage.getItem("height");
var pw = sessionStorage.getItem("width");
xpos = Math.round(event.offsetX/pw*100);
ypos = Math.round(event.offsetY/ph*100);
if (listenAnsicht) getNextCoordinate(xpos,ypos)
else drawPoint(xpos,ypos);
}

Die weiteren Details können der JavaScript-Vorlage der Datenbank entnommen werden und dienen vor allem dazu, die Punkte im Bild abzubilden, was über die entsprechenden Canvas-Zeichenfunktionen erfolgt. Entsprechende Werte werden dazu im localStorage oder im sessionStorage zwischengespeichert.

Verwendung im Unterricht

Die Datenbankvorlage „Bild kommentieren“ kann für unterschiedliche Zwecke im Unterricht verwendet werden:

  • Die Lernenden stellen sich auf einem Klassenfoto gemeinsam vor. Dabei kann beispielsweise der Name notiert und weitere Informationen als Audiodatei vermittelt werden.
  • Auf einer historischen Bildquelle (Luftfoto, Karte, Gemälde, …) werden interessante Punkte markiert und deren Bedeutung beschrieben. Dabei kann im Kommentar auch auf entsprechende Quellen verlinkt werden.
  • Im Kunstunterricht werden verschiedene Techniken und kulturelle Hintergründe in einem Bild kommentiert. Zur besseren Veranschaulichung können nachbearbeitete Ausschnitte des Bildes in die Kommentare eingebaut werden.
  • Die Lernenden kommentieren im Sprachunterricht verschiedene Szenen in einem Wimmelbild. Dabei können Begriffe notiert, übersetzt und die Aussprache über eine Audiodatei eingebunden werden.
  • Im Werkunterricht zeigen die Lernenden in einem kurzen Video, wie unterschiedliche Werkzeuge richtig eingesetzt werden und was man dabei sicherheitstechnisch beachten muss.

Bei diesen Aktivitäten sollen sich die Lernenden in einem arbeitsteiligen Vorgehen in ein grösseres Ganzes einbringen und dabei in der Wahl der zu verwendenden Medien einen möglichst grossen Gestaltungsfreiraum erhalten.

Videos in Moodle gemeinsam annotieren

Im Unterricht wird das Potenzial von Videos meist nicht voll genutzt, weil diese von den Lernenden entweder nur konsumiert werden oder die Lernenden mithilfe von Werkzeugen wie H5P Interactive Video dazu einfach geschlossene Fragen beantworten.

Interessanter wird es, wenn solche Videos gemeinsam annotiert und kommentiert werden können, was insbesondere für Jugendliche von Interesse ist, das sie so einen Einblick in das Denken anderer erhalten.

Verwendet man für ein solches Szenario erhältliche Werkzeuge, muss man dabei häufig Abstriche beim Datenschutz machen und ist in der Regel auf externe Anbieter angewiesen.

Die hier vorgestellte Lösung basiert auf der Datenbankaktivität von Moodle und erlaubt einen Einsatz ohne Installation von zusätzlichen Softwarediensten.

Demonstration der Datenbank Videokommentar

In der Demonstration wird das Video „Die Geschichte der Katze“ von Terra X verwendet: https://www.zdf.de/dokumentation/terra-x/die-geschichte-der-katzen-102.html

Diese Grundfunktionen sollen hier noch einmal Schritt für Schritt erklärt werden.

Damit die einzelnen Annotationen oder Kommentare jeweils zum richtigen Zeitpunkt angezeigt werden, müssen in der Listenansicht folgende Einstellungen vorgenommen werden:

  • Die Anzahl der Einträge pro Seite sollte möglichst hoch eingestellt werden, z.B. auf 1000.
  • Die Einträge müssen nach dem Kriterium „Time“ sortiert werden.

Diese Einstellungen werden gespeichert, indem die Schaltfläche „Einstellungen speichern“ angeklickt wird.

Die Einstellungen müssen von allen Teilnehmenden einmal gesetzt werden.

Es ist auch möglich, den Lernenden die Datenbank mit den entsprechenden Einstellungen direkt über einen Link zu Verfügung zu stellen. Diesen kann man direkt nach der Anpassung der Einstellungen aus der Adressleiste des Browsers kopieren.

Während der Film läuft (in der Einzel- oder Listenansicht), können über die Schaltfläche „Eintrag hinzufügen“ neue Annotationen vorgenommen werden. Der jeweilige Zeitindex wird dabei automatisch übernommen.

Wie in Moodle üblich können neben Text auch multimediale Elemente in der Annotation verwendet werden.

Nachdem der Eintrag gespeichert wurde, kann der Film an der gleichen Stelle fortgesetzt werden, indem man auf die Schaltfläche „Video fortsetzen“ klickt.

In der Listenansicht kann man ausserdem direkt zur entsprechenden Stelle im annotierten Film springen, indem man auf den Zeitindex beim passenden Eintrag klickt.

Ein Klick auf die graue Schalfläche führt direkt zur entsprechenden Stelle im Film.

Ausserdem können Lehrende unpassende Beiträge löschen (jeweils kleines Kästchen unten rechts bei den Kommentaren) oder diese (bei entsprechender Voreinstellung der Datenbank für andere Lernende unsichtbar schalten (Eintrag nicht freigeben).

Falls sich die Einstellungen in der Listenansicht beim Anschauen des Films als störend erweisen, können diese über „Zeige Einstellungen an“ ausgeblendet werden.

Erweiterte Funktionen

Wie bei Datenbanken in Moodle üblich, können Einträge auch kommentiert und bewertet werden.

Einträge können von Lehrenden und Lernenden kommentiert werden.

Möchte man darüber hinaus eine gegenseitige Bewertung erlauben, müssen die entsprechenden Berechtigungen erteilt werden.

Den Lernenden kann die Berechtigung zur gegenseitigen Bewertung erteilt werden.

Darüber hinaus können einzelne Beiträge verschiedenen Kategorien zugeordnet werden. Diese findet man beim Erstellen einer neuen Annotation unter „Weitere Optionen“.

Die weiteren Optionen werden mit Emojis symbolisiert, dadurch kann eine Kategorisierung sprachunabhängig erfolgen.

In der Listenansicht können alle Einträge nach diesen Kategorien gefiltert werden, wobei eine ODER- oder eine UND-Verknüpfung möglich ist.

Für eine UND-Verknüpfung muss das die Option „Gesamte Auswahl ist erforderlich“ aktiviert werden.

Es ist auch möglich, einen Beitrag ohne Namensnennung anzeigen zu lassen.

Installation in der eigenen Moodle-Instanz

Die Datenbank Videokommentar kann man auf zwei Arten in der eigenen Moodle-Instanz nutzen.

  1. Vorlage verwenden
  2. Datenbank importieren

Vorlage verwenden

Wenn man die Vorlage verwenden möchte, lädt man die Datei Datenbank Videokommentar Vorlage herunter und lädt diese anschliessend als Vorlage in die eigene Instanz hoch.

Datenbank als Vorlage hochladen

Dazu legt man zuerst eine neue (leere) Datenbank an und wählt dann im Menü „Vorlagensätze“ aus und klickt anschliessend oben links auf die Schaltfläche „Import“. Dann kann man die Datei über den moodletypischen Dateidialog ins eigene System hochladen.

Anschliessend werden die Felder der Datenbank angezeigt und diese können dann über die „Schaltfläche weiter“ verwendet werden,

An den Einstellungen zu den Feldern sollte man an dieser Stelle nichts verändern.

Über „Einstellungen“ kann man nun noch die Anpassungen für den zu betrachtenden Film vornehmen. Dazu lohnt es sich, in die HTML-Ansicht zu schalten.

Im HTML-Modus kann man die Informationen zum Film editieren.

Das Grundgerüst des HTML-Codes dazu sieht so aus:

<p>Schau dir das Video an und verfasse fünf Kommentare mit Zeitstempel.</p>
<table style="width:100%">
<tbody>
<tr>
<td style="width:60%"><video id="video" width="100%" controls="true">
<source src="https://downloadzdf-a.akamaihd.net/mp4/zdf/18/09/180906_geschichtederkatze_wv_tex/3/180906_geschichtederkatze_wv_tex_1496k_p13v14.mp4">Katzenvideo
</video></td>
<td style="width:2%"> </td>
<td style="max-width:38%">
<div id="videoCommentMain" style="width:100%">
<p>Hier werden während dem Abspielen des Videos <strong>in der Listenansicht</strong> die aktuellsten <strong>Kommentare angezeigt</strong>. Kommentare können sowohl in der Listen- als auch in der Einzelsicht hinzugefügt werden.</p>
<p></p>
<details>
<summary><span style="background-color:yellow;">Wichtige Einstellungen!</span></summary>
<p>
In der Listenansicht bitte die Zahl der Einträge auf 1000 stellen und die Option "Sortiert nach" auf "Time" setzen.</p>
</details>
</div>
</td>
</tr>
</tbody>
</table>

Dabei muss man grundsätzlich nur den Link auf das Video (rot) anpassen. Die weiteren Texte kann man anpassen, das ist aber nicht zwingend notwendig. Entscheidend ist, dass sowohl das Video als auch das Kommentarfeld mit den entsprechenden IDs versehen werden (grün).

Datenbank importieren

Statt als Vorlage kann die Datenbank auch über eine gesicherte MBZ-Datei importiert werden: Link auf Sicherungsdatei.

Sollte anschliessend das Video zu klein angezeigt werden, hilft es, wenn man die Filter für die Datenbankaktivität deaktiviert.

Unter Umständen können die automatischen Multimediafilter von Moodle zu einer fehlerhaften Anzeige des Videos führen.

Die Videoadresse kann man nun wie weiter oben bereits erklärt in der HTML-Ansicht noch gemäss den eigenen Bedürfnissen anpassen.

Einsatzmöglichkeiten im Unterricht

Die Datenbank Videokommentar kann für unterschiedliche Zwecke im Unterricht eingesetzt werden:

  1. Die Lehrperson annotiert das Video, damit die Lernenden einfach zu bestimmten Stellen springen können.
  2. Die Lehrperson annotiert das Video mit Fragen, damit die Aufmerksamkeit der Lernenden gelenkt wird. Diese beantworten die Fragen dann beispielsweise ebenfalls als Kommentar.
  3. Die Lernenden stellen selbst Fragen zu einem Video und beantworten diese gegenseitig. Dies insbesondere bei anspruchsvollen Sachvideos sinnvoll.
  4. Lernende notieren ihre Gedanken und Eindrücke zu einem Video in der Einzelansicht und vergleichen diese anschliessend mit den Einträgen der anderen Lernenden. Dabei können sie bei Unklarheiten mithilfe der Kommentarfunktion auch nachfragen, wie eine bestimmte Notiz genau zu verstehen sei.
  5. Die Lernenden erstellen eine gemeinsame Transkription zu einem Video.
  6. Die Lernenden schauen sich ein Video zu einem kontroversen Thema an und kommentieren dieses. Ihre Kommentare belegen sie mit Links auf entsprechende Quellen.
  7. Mithilfe der Emoji-Kategorien untersuchen Lernende wie häufig welche Emotionen in einem Video vorherrschend sind.
  8. Lehrende oder Lernende kommentieren ein Video (z.B. ein Lehrvideo oder von einem Vortrag), welches Lernende selbst erstellt haben. Dabei erläutern sie, was ihnen besonders gut gefallen hat und wo sie Verbesserungsbedarf sehen.

Sicherlich gibt es noch weitere Einsatzszenarien oder die beschriebenen können verfeinert werden. Wichtig ist: Nun steht in Moodle eine Aktivität zu Verfügung, mit der über Videos gezielter diskutiert werden kann, als das bis anhin der Fall war.

Vorschläge für weitere Einsatzszenarien sind willkommen.

 

Wahrscheinlichkeit für einen kürzbaren Bruch

Im Lehrmittel „Mathematik I“ für die Sekundarstufe wird im Arbeitsheft 1 auf Seite 141 folgende Tüftelaufgabe gestellt: Wie wahrscheinlich ist es, dass ein Bruch gekürzt werden kann, wenn dessen Zähler und Nenner jeweils aus einer zufälligen Zahl von 2 bis 9 gebildet werden?

Eine solche Aufgabe bietet sich förmlich dazu an, mit einem Computerprogramm gelöst zu werden. Ausserdem wird es dadurch möglich, die Aufgabenstellung zu verallgemeinern.

Ursprüngliche Aufgabe mit Snap! lösen

Ein klassisches Vorgehen zum Lösen dieser Aufgabe könnte so aussehen:

Alle möglichen Brüche werden mit einer verschachtelten for-Schleife erzeugt und dann darauf geprüft, ob sie gekürzt werden können.

Mathematisch betrachtet kann ein Bruch dann gekürzt werden, wenn die Zähler und Nenner einen gemeinsamen Teiler besitzen, der grösser ist als 1. Der Block für die Berechnung des ggTs kann in Snap! aus der Bibliothek „APL Primitives“ importiert werden und heisst dort gcd (engl. greatest common denominator).

Damit kann nun der Block „fraction can be simplified“ entsprechend programmiert werden.

Wenn der ggT grösser als 1 ist, dann kann der entsprechende Bruch gekürzt werden.

Lässt man das Programm laufen, berechnet es den korrekten Wert von 26/64 oder 40.625%. Allerdings ist die for-Schleife in Snap! nicht besonders effizient. Deshalb soll das gleiche Programm nun mit dem map-Block umgesetzt werden, was nebst einem Geschwindigkeitsgewinn weitere Vorteile mit sich bringt.

Zuerst sollen mit dem map-Block erst einmal nur die Brüche erzeugt werden:

Die einzelnen Brüche werden mit einem verschachtelten map-Block erzeugt.

Die Werte des äusseren map-Blockes werden dabei über den Parameter „value“ an den inneren map-Block weitergegeben. Der „value“-Parameter kann über einen Klick auf das kleine Dreieck im map-Block sichtbar gemacht werden.

Speichert man das Ergebnis der Berechnung in einer Variablen ab, kann man dieses sichtbar machen.

Der map-Block bildet eine Tabelle mit allen gewünschten Brüchen.

Nebst der schnelleren Durchführung der entsprechenden Rechenoperationen erhält man als Bonus noch eine Darstellung, welche im Gegensatz zur Variante mit der for-Schleife besser nachvollziehbar ist.

Wird nun der join-Block durch die Berechnung des ggTs ersetzt, erhält man auch die entsprechenden Werte in Tabellenform.

Für jeden Bruch wird in einer Tabelle festgehalten, mit welchem grössten Wert dieser gekürzt werden kann.

In der entsprechenden Tabelle werden nun die Werte sichtbar, mit denen die einzelnen Brüche gekürzt werden können.

Die Tabelle gibt für jeden Bruch an, mit welchem Wert dieser gekürzt werden kann.

Nun müssen nur noch die Fälle ausgezählt werden, bei denen der ggT grösser als 1 ist. Der schnellste Weg dazu ist die Verwendung des keep-Blockes, der die Tabelle auf die Zellen mit den gewünschten Werten reduziert. Damit dies funktioniert, muss die Tabelle allerdings zuerst noch in eine Liste umgewandelt werden, wozu aber auch ein entsprechender Befehl zu Verfügung steht.

Der keep-Block behält nur diejenigen Einträge, welche einem definierten Kriterium entsprechen. Denn flatten-Block findet man, indem man den Parameter für den length-Block anpasst.

Um die Anzahl der Einträge in der so erhaltenen Liste zu bestimmen, verwendet man noch den length-Block und kann diesen Wert wie weiter oben gezeigt durch die Anzahl aller Fälle (64) dividieren.

Verallgemeinerung der Problemstellung

Die Verwendung des map-Blockes hat gegenüber der Variante mit der for-Schleife zu einer besser nachvollziehbaren Repräsentation geführt. In der Verallgemeinerung des Problems soll nun auch der Geschwindigkeitsvorteil ausgespielt werden, indem nicht mehr nur ein Fall, sondern mehrere untersucht werden sollen, indem die Frage beantwortet wird, wie wahrscheinlich es eigentlich ist, dass ein beliebiger Bruch gekürzt werden kann. Dazu wird der zuletzt abgebildete Block in einen Funktionsblock verpackt.

Der Block verwendet einfachheitshalber eine quadratische Tabelle. Da diese gespiegelte Werte enthält, wäre eine weitere Optimierung möglich. Dadurch würde aber die Übersichtlichkeit leiden.

Diesen Block setzen wir nun so ein, dass Bruchtabellen mit den Dimensionen 1×1 bis 100×100 berechnet werden und für jede Tabelle die Wahrscheinlichkeit bestimmt wird, dass ein beliebiger Bruch in dieser Tabelle gekürzt werden kann.

Das Programm berechnet die Wahrscheinlichkeit dafür, dass ein Bruch in unterschiedlich grossen Mengen von Brüchen gekürzt werden kann.

Die Berechnung von 100 Werten nimmt etwas Zeit in Ansprung, ist aber viel schneller, als wenn das Problem mit der Technik der for-Schleifen gelöst wird.

Die Abbildung zeigt die ersten 10 Werte in der berechneten Liste.

Da eine Liste mit 100 Werten recht unübersichtlich ist, sollen diese nun noch grafisch ausgegeben werden, dazu eignet sich der plot-Block aus der „Frequency Distribution Analysis“-Bibliothek, der Werte als Balken- oder Liniengrafik darstellen kann.

Mit wenigen Zeilen kann eine Liste von Daten in Snap! visualisiert werden.
Der plot-Block bietet eine einfache Visualisierung der berechneten Daten.

Falls die Grafik etwas professioneller gestaltet werden soll, dann muss etwas mehr Aufwand betrieben werden.

Die grafische Ausgabe von Werten kann schnell aufwändig werden.
Die erweiterte Grafik erlaubt es, die Grösse einzelner Werte einzuschätzen. Ob sich der Aufwand bei der konkreten Aufgabenstellung lohnt, sei dahingestellt.

Wie schon in der einfachen Version der Grafik sind die Schwankungen der Wahrscheinlichkeiten in Abhängigkeit der einzelnen Bruchmengen deutlich erkennbar. Sie kommen dadurch zustande, dass neu hinzugekommene Werte nicht immer gleich viele Teiler haben. Kommt eine Primzahl neu dazu, sinkt die Wahrscheinlichkeit, besitzt die dazugekommene Zahl viele Teiler, steigt die Wahrscheinlichkeit. Es ist aber auch zu erkennen, dass die Werte bei grösseren Bruchmengen immer weniger schwanken. Eine Tatsache die auch bei anderen Zufallsexperimenten als „Gesetz der grossen Zahlen“ bezeichnet wird, wodurch sich der Kreis zum eigentlichen Thema der Wahrscheinlichkeit wieder schliesst.

Anwendung im Unterricht

Das vorgestellte Beispiel zeigt: Verzichtet man beim Lösen von Problemstellungen, wie sie hier vorgestellt wurde, auf die wiederholte Anwendung des Einsatzes von Bleistift und Papier und verwendet stattdessen den Computer, können Problemstellungen zwar nicht unbedingt schneller gelöst werden, denn die Entwicklung der entsprechenden Programmierung benötigt Zeit, aber die dadurch möglich werdende Flexibilisierung und Verallgemeinerung einer Aufgabenstellung erlaubt neue Ansichten und die Erweiterung einer geschlossenen Aufgabe zu einer weiter offenen, welche das Üben und die Anwendung wesentlicher Kompetenzen ermöglicht.

Editor von zebis.digital

An der Online-Weiterbildung „Schule trotz(t) Omikron“ wurde der aktuelle Entwicklungsstand des Editors für Online-Lernmaterialien von Zebis vorgestellt. Eine Aufzeichnung des Inputs von Adrian Albisser ist hier verfügbar: Video auf YouTube. Deshalb soll nun an dieser Stelle kurz erklärt werden, was der Editor leistet, worauf man beim Erstellen von Materialien achten sollte und wie diese Materialien anschliessend von Schülerinnen und Schüler genutzt werden können.

Aufgabentypen im Editor

Der Editor verfügt aktuell über folgende Aufgabentypen:

  • Text
    Damit kann ein einfacher Textblock hinzugefügt werden. Als Textauszeichnungen sind Kursiv- und Fettschrift möglich. Ausserdem darf der Text Links auf weitere Webseiten, sowie Listen enthalten. Eine weitere Gestaltung des Textes ist aktuell nicht möglich.
  • Titel
    Damit können einzelne Abschnitte eines Kapitels betitelt werden.
  • Bild
    Eingefügte Bilder können mit einer Bildunterschrift versehen und Metadaten erweitert werden. Die Metadaten sind bei der Veröffentlichung von Materialien wichtig.
  • Externer Inhalt
    Externe Inhalte können über einen Link oder ein Iframe eingebunden werden.
  • Fragetypen
    Aktuell stehen die Fragetypen MultipleChoice, SingleChoice und Freitext zu Verfügung.
  • H5P
    H5P-Lernobjekte können nicht nur eingebunden, sondern auch direkt im Zebis-Editor erstellt werden.
  • Abschnitt
    Damit kann eine Lerneinheit zusätzlich gegliedert werden, was das Verschieben von zusammengehörenden Elementen innerhalb eines Kapitels erleichtert.

Der Zebis-Editor verfügt also über einfache Gestaltungsmöglichkeiten zum Erstellen von multimedialen und interaktiven Lerneinheiten. Aktuell fehlen aber noch die Möglichkeiten, eigene Dateien in die Umgebung hochzuladen. Zumindest bei Audiodateien kann dieses Problem umgangen werden, indem diese in ein H5P-Lernobjekt eingebunden werden.

Bedienung des Editors

Die Bedienung des Editors ist weitgehend selbsterklärend, zumindest für alle, welche schon einmal mit einem ähnlichen Werkzeug gearbeitet haben. Nur die Einbindung von H5P-Elementen kann zu Schwierigkeiten führen, da dazu folgende Schritte notwendig sind:

Zuerst wählt man den Typ der H5P-Aktivität aus.

Die Auswahl der H5P-Elemente gestaltet sich einfach. und auch das Hochladen bereits anderswo vorhandener H5P-Lernobjekte funktioniert.

Dann erstellt man die Aktivität und speichert diese.

Je nach Typ der H5P-Aktivität können Lernobjekte mehr oder weniger zügig erstellt werden.

Schliesslich muss noch eine zusätzliche Schaltfläche angeklickt werden, damit das H5P-Lernobjekt tatsächlich in das Lernarrangement des Editors eingebaut wird.

Da sich die Schaltfläche ganz unten am Bildrand des Editors befindet, kann diese leicht übersehen werden.

Bis auf den letzten Schritt mit der ungünstig platzierten Schaltfläche, dürfte so das Einbinden von H5P-Elementen kaum Schwierigkeiten bereiten.

Mit dem „Documentation Tool“ steht in H5P eine Aktivität zu Verfügung, mit der Schülerinnen und Schüler ihr eigenes Lernen reflektieren können.

Da die H5P-Aktivitäten im einem seitlich aufklappenden Teilfenster bearbeitet werden müssen, besteht allerdings die Gefahr, dass dafür bei komplexeren Typen wie dem interaktiven Buch zu wenig Platz übrigbleibt. Es wäre deshalb wünschenswert, wenn dieses Fenster in der Breite angepasst werden könnte.

Erweiterungswünsche

Beim aktuellen Entwicklungsstand wären folgende Erweiterungen wünschenswert:

  1. Die schon erwähnte Anpassung der Fensterbreite bei H5P-Inhalten.
  2. Das Einbinden von weiteren Dateitypen, z.B. Worddateien, PDFs und insbesondere auch Audiodateien.
  3. Eine automatische zufällige Anordnung der Antwortoptionen in den Fragetypen MultipleChoice und SingleChoice.
Die Multiple-Choice-Fragen im Zebis-Editor erlauben eine einfache Form der Interaktion. Für die Kombination mehrere Fragen verwendet man besser ein H5P-Lernobjekt.

Die Punkte 2 und 3 können zumindest teilweise durch den Einsatz von H5P-Elementen bereits jetzt erfüllt werden, weshalb Punkt 1 am höchsten priorisiert werden sollte.

Konkrete Umsetzung einer Lerneinheit

Um die Funktionalität des Zebis-Editors zu testen, wurde eine kleine Lerneinheit zum Thema „Rechnen mit ganzen Zahlen“ entworfen, wobei bei den zentralen Elementen auf H5P- und GeoGebra-Aktivitäten gesetzt wurde.

Die Lerneinheit kann hier aufgerufen werden: Lerneinheit „Rechnen mit ganzen Zahlen“.

In den Zebis-Editor eingebundene GeoGebra-Aktivität.

Bei der Umsetzung zeigt sich schnell, verzichtet man auf auf H5P-Aktivitäten und das Einbinden externer Inhalte wie beispielsweise GeoGebra, dann sind nur sehr einfache Lerneinheiten möglich, die den Schülerinnen und Schülern wenig Möglichkeit zur Interaktion bieten. Das ist insofern ein Problem, als es wenig erfahrenen Lehrpersonen schwerfallen dürfte, von sich auf entsprechende H5P-Lernobjekte zu erstellen, geschweige dann entsprechende GeoGebra-Aktivitäten zu programmieren.

Allerdings ist das Einbinden bereits vorhandener GeoGebra-Aktivitäten sehr einfach gelöst. Dazu muss nur der entsprechende Link in die Editor-Aktivität „Externer Inhalt“ kopiert werden. Genau gleich funktioniert auch das Einbinden von LearningApps-Objekten (https://learningapps.org/) und YouTube-Videos.

Fazit

Der Zebis-Editor bietet Lehrpersonen, welche über keine andere Veröffentlichungsmöglichkeit verfügen, einen einfachen Einstieg in das Erstellen von digitalen Lernarrangements. Diese können dann von anderen Lehrpersonen weiter bearbeitet oder in der vorhandenen Form im eigenen Unterricht eingesetzt werden.

Im Vergleich zu ähnlichen Plattformen bietet der Editor jedoch nur einen einfachen Rahmen, in welchen dann weitere Elemente eingebunden werden müssen, wobei die direkte H5P-Integration sicherlich ein Highlight darstellt, auch wenn aktuell nur ganz wenige H5P-Elemente zentral auf dem Zebis-Server abgelegt sind.

Die eingebaute H5P-Aktivität gibt den Schülerinnen und Schüler eine unmittelbare Rückmeldung.

Damit sich dies ändert, müssten nicht nur im Schuldienst stehende Lehrpersonen aktiv werden, sondern insbesondere die Pädagogischen Hochschulen den OER-Gedanken, welcher zentral für den Zebis-Editor ist, an die zukünftigen Lehrpersonen herantragen. Dann könnte auch unabhängig vom im Vergleich zu anderen Plattformen rudimentären Editor eine Sammlung von H5P-Lernobjekten entstehen, die dann auch in anderen mit mehr Möglichkeiten ausgestatteten Lernumgebungen verwendet werden könnten.

Abstimmung mit der Moodle-Datenbank

Die Datenbank von Moodle ist ein äusserst flexibles Werkzeug. So kann man damit beispielsweise Schülerinnen und Schüler darüber abstimmen lassen, was für ein Bild ihnen am besten gefällt.

Bei der Abstimmung kann ausgewählt werden, welches Bild einem gefällt. Die Ergebnisse werden automatisch aufsummiert.

Erstellen der Datenbank

Zuerst legt man eine neue Datenbank an und definiert dort ein Feld vom Typ Einfachauswahl, in welchem alle Abstimmungsoptionen hinterlegt werden. Über einen neuen Eintrag kann dann die entsprechende Option ausgewählt werden:

Die Schülerinnen und Schüler wählen die entsprechende Option aus.

Sobald die ersten Resultate vorliegen, werden diese über die Listenansicht mit Hilfe von etwas JavaScript aufsummiert. Dazu muss die Listenansicht über die entsprechende Vorlage programmiert werden.

In die Kopfzeile schreibt man:

<p id="counts"></p>
<script>
names = [

In den wiederholten Eintrag schreibt man:

"[[Auswahl]]",

Damit wird eine Liste mit allen Antworten der Schülerinnen und Schüler gebildet.

Und schliesslich erfolgt die eigentliche Programmierung in der Fusszeile:

]
var counts = names.reduce((counts, name) => {
counts[name] = (counts[name] || 0) + 1;
return counts;
}, {});

var uniques = Object.keys(counts);
uniques.sort((a, b) => counts[a] == counts[b] ? a.localeCompare(b) : counts[b] - counts[a]);

for(i=0;i<uniques.length;i++)
{
document.write("<p>",Object.keys(counts)[i],": ","👍".repeat(Object.values(counts)[i]),"(",Object.values(counts)[i],")</p>");
}

</script>

Dabei wird die Liste mit allen Einträgen zuerst reduziert und dann die Anzahl der jeweils gleichen Einträge ermittelt. Schliesslich werden die entsprechenden Werte ausgegeben, wobei dies grafisch auch noch anspruchsvoller erfolgen könnte.

Weitere Hinweise

Die Anzahl der Stimmen, welche eine Schülerin oder ein Schüler hat, kann man beschränken, indem man die Anzahl der maximal möglichen Einträge für eine Person in den Einstellungen über „Einträge“ > „maximal mögliche Einträge“ festlegt.

Die Bilder kann man, sofern diese gleich gross sind, in einem entsprechenden Raster anordnen, indem man sie in mehreren Spalten anordnet. Dazu verwendet man folgenden HTML-Code:

<div style="columns:5">

... hier die Bilder einsetzen ...

</div}

Wenn  man möchte, kann man die Suche für die Datenbank wie folgt ausblenden:

<script>
window.onload=document.querySelector("div.datapreferences").style.display = "none";
</script>

Damit bei den Schülerinnen und Schülern trotzdem alle Einträge auf einer Seite angezeigt und damit die Auswertung korrekt erfolgt, sollte man den entsprechenden Link in diesem Fall um folgenden Parameter ergänzen:

.../moodle/mod/data...&perpage=1000

Eine Vorlage für die Datenbank kann hier heruntergeladen werden: Datenbank Bilderwahl.

 

Augensummen beim Würfeln

Zufallsexperimente mit Würfeln gehören zum Unterrichtsstoff der Sekundarstufe I. Im Zürcher Lehrmittel „Mathematik 1“ werden die Untersuchungen aber auf 2 Würfel beschränkt und auch der Lehrplan bleibt eher vage, wenn er von mehrstufigen Zufallsexperimenten mit Würfeln, Münzen und Zahlen spricht. An dieser Stelle soll deshalb gezeigt werden, wie die Thematik auch auf der Sekundarstufe I ausgebaut und damit ein erweiterter Blick in die Welt der Mathematik ermöglicht werden kann.

Würfeln mit einem Würfel

Den meisten Schülerinnen und Schülern ist klar, dass beim Würfeln mit 1 Würfel die Augensummen 1 bis 6 jeweils mit der gleichen Wahrscheinlichkeit auftreten.

Würfeln mit zwei Würfeln

Die Wahrscheinlichkeit des Auftretens einer gewissen Augensumme beim Würfeln kann ohne grossen Aufwand erarbeitet werden, indem man alle Möglichkeiten in einer zweidimensionalen Tabelle aufnotiert.

Die Symmetrie der Wahrscheinlichkeit der Augensummen kann durch Einfärbung noch verdeutlicht werden.

In diesem Zusammenhang kann nicht nur die Schreibweise für Wahrscheinlichkeiten eingeführt werden, sondern die Schülerinnen und Schüler können sich auch Gedanken darüber machen, welche Kombinationen von Augensummen für ein faires Spiel verwendet werden dürfen.

Würfeln mit drei Würfeln

Nach der linearen (1D) Darstellung der Augensummen bei einem Würfel und der Darstellung in der Fläche (2D) für zwei Würfel ist die Berechnung der Wahrscheinlichkeiten für die Augensummen beim Würfeln mit drei Würfeln erst einmal eine Herausforderung, weil die Darstellung in einem Würfel (3D) zwar naheliegt, deren Umsetzung aber zumindest auf Papier auf Schwierigkeiten stösst. Es lohnt sich deshalb, mit den Schülern darüber zu diskutieren, wie die einzelnen Ebenen des Würfels auf Papier auseinandergenommen werden können. Dies führt dann zu einer systematischen Notation in einer Tabelle, welche grundsätzlich für eine beliebige Anzahl von Würfeln funktioniert.

Eine systematische Notation aller Fälle erlaubt das anschliessende Auszählen der Häufigkeit der verschiedenen Augensummen.

Alle 216 Möglichkeiten systematisch zu notieren, führt zum Ziel ist aber ziemlich aufwändig, weshalb sich beim Auszählen ein arbeitsteiliges Verfahren bewährt hat. Ausserdem ist für die meisten Schülerinnen und Schüler einsichtig, dass auch hier wieder eine Symmetrie der Wahrscheinlichkeiten der Augensummen auftritt. Einige Schülerinnen und Schüler versuchen den Arbeitsaufwand weiter zu reduzieren, indem sie theoretische Überlegungen über das Verhalten der verschiedenen Augensummen anstellen. In einem solchen Fall ist es hilfreich, wenn man sie darauf aufmerksam macht, dass insgesamt ja 216 unterschiedliche Fälle auftreten können, die sich dann in den verschiedenen Augensummen bündeln.

Würfeln mit vier Würfeln

Nach der Arbeit mit 3 Würfeln führt die Erwähnung einer Untersuchung für 4 Würfel meist zu wenig Begeisterung, denn die Schülerinnen und Schüler wissen zwar, dass die Aufgabe lösbar ist, aber gegenüber der eben geleisteten Arbeit einen sechsfach höheren Aufwand erfordert. Deshalb ist es an dieser Stelle sinnvoll, bei der Lösungssuche einen Strategiewechsel vorzunehmen und allenfalls vom Papier zum Computer in eine Tabellenkalkulation zu wechseln.

Mithilfe der Tabellenkalkulation können die Häufigkeitswerte schnell aufaddiert werden.

Um von dem Würfeln mit einem Würfel auf die Ergebnisse bei zwei Würfeln zu kommen, wurden in der Tabellenkalkulation einfach die schon vorhandenen Häufigkeiten verschoben notiert und anschliessend aufsummiert. Dadurch ergeben sich tatsächlich die Häufigkeiten für das Würfeln mit zwei Würfeln.

Ein genauerer Blick zeigt, wie die Resultate zustande kommen. Bei zwei Würfeln gibt es genau 1 Möglichkeit, die Augensumme 2 zu erzielen, nämlich dann, wenn der erste Würfel eine 1 zeigt und der zweite Würfel ebenfalls. Die Augensumme 3 hingegen kann auf 2 Arten erzielt werden: 1+2 und 2+1.

Genau die gleichen Überlegungen können beim Schritt von zwei zu drei Würfeln angestellt werden, wenn beispielsweise die Augensumme 5 gesucht wird, dann kann diese aus folgenden Kombinationen entstehen:

  • (1, 1)+3, (1, 2)+2, (1, 3)+1 (drei Möglichkeiten),
  • sowie (2, 1)+2 und (2, 2)+1 (2 Möglichkeiten)
  • und schliesslich (3, 1)+1 (1 Möglichkeit).

Dieses Vorgehen kann analog für alle Augensummen durchgeführt werden und gilt für eine beliebige Anzahl von Würfeln. Die neuen Augensummen können immer durch das „verschobene“ Addieren der alten Häufigkeiten gewonnen werden.

Die Exceltabelle kann hier heruntergeladen werden: Tabelle_Augensummen.

Würfeln mit vielen Würfeln

Wie schon beim Schritt von drei auf vier Würfeln kann die beschriebene Methode für eine beliebige Anzahl von Würfeln verwendet werden. Allerdings steigt auch dabei der Arbeitsaufwand immer weiter an, wenn auch nicht so schnell wie beim Aufnotieren aller Fälle.

Deshalb ist es nun sinnvoll, einen Computer entsprechend zu programmieren. Traditionell würde dies mit einer mehrfach verschachtelten for-Schleife geschehen, deren genaue Funktionsweise aber nicht nur für Schülerinnen und Schüler schwer nachvollziehbar ist.

 

In Snap! gibt es mit den entsprechenden Listenfunktionen eine elegantere Lösung. In der Tabellenkalkulation wurden ja einfach „verschobene“ Häufigkeitswerte jeweils sechsmal addiert. Genau dies ist auch in Snap! möglich, wobei es keine Rolle spielt, wie lange die konkrete Liste ist.

Aus der Liste für den Fall mit einem Würfel können alle anderen Resultate generiert werden.

Zuerst wird die Liste „augensumme“ mit den Häufigkeitswerten für einen Würfel gesetzt. Dann wird die Anzahl der Würfel eingegeben und anschliessend berechnet das Programm durch wiederholtes Ausführen der „verschobenen“ Addition der bisherigen Werte die Häufigkeitswerte für den nächsten Würfel.

Wird der Block „set augensumme“ aus der Schleife herausgenommen, können die Schülerinnen und Schüler diesen wiederholt aufrufen und die dadurch neu entstehenden Listenwerte im Detail untersuchen. Augensummen beim Würfeln mit vielen Würfeln können anschliessend auch noch grafisch ausgegeben werden, was eine nächste Ebene der Betrachtung des Problems ermöglicht.

Die grafische Darstellung erlaubt es, die Verteilung der Augensummen auf einen Blick zu erfassen und lädt zu weiteren Untersuchungen ein.

Das komplette Programm kann hier aufgerufen werden: Augensummen.

Weshalb der ganze Aufwand?

Dem Mathematikunterricht auf der Sekundarstufe I wird gerne vorgeworfen, er beschränke sich fast ausschliesslich auf die Vermittlung von Rechenverfahren, welche die Schülerinnen und Schüler dann möglicherweise beherrschten, aber nicht in einen grösseren Zusammenhang einordnen könnten.

Das vorgestellte Beispiel zeigt, dass es durchaus möglich ist, innerhalb eines vertretbaren Zeitrahmens (ca. 3 Lektionen) nicht nur den Bogen von einem sehr speziellen Problem zu einer allgemeineren Problemlösung zu schlagen, sondern durch unterschiedliche Repräsentationen auch gezielt mathematische Vorgehensweisen anzuwenden, die über das reine Hantieren mit Zahlen hinausgehen. Ausserdem wird dabei auch die Grundlage zur Erarbeitung weiterer mathematischer Konzepte gelegt. Dabei ist der Einsatz von Computern nicht zwingend notwendig, erleichtert aber durch die Automatisierung der zugrundeliegenden Rechenoperationen eine Konzentration auf die wesentlichen Aspekte der Problemstellung.

Moodle: Generico-Filter

Die Generico-Erweiterung erlaubt das flexible Anpassen von Inhalten in Moodle durch abrufbare Vorlagen (Filter). Die Erweiterung kann hier heruntergeladen werden: https://moodle.org/plugins/filter_generico. Generico-Filter funktionieren in den meisten Textfeldern von Moodle, jedoch nicht in der Datenbank-Aktivität.

Anwendungen für die Generico-Erweiterung

Falls in einem Moodlekurs eine persönliche Ansprache gewünscht wird, tippt man in einem Textfeld folgenden Befehl ein:

{GENERICO:type="firstname"}

Im entsprechenden Text wird dann der Vorname des entsprechenden Benutzers angezeigt. Durch Anpassung des Filters (oder einer Variante) davon, kann auch der Nachname oder der volle Name angezeigt werden.

Auch der Einbau eines QR-Codes kann mittels Generico einfach umgesetzt werden, sofern die entsprechende Vorlage vorhanden ist. Dazu schreibt man beispielsweise:

{GENERICO:type="qrcode",data="https://www.gigers.com/blog",size="12"}

Woraus Generico dann folgendes Webelement erzeugt:

Die Grösse des QR-Codes kann über einen Parameter angepasst werden. Der Link unter dem QR-Code wird ebenfalls automatisch eingefügt.

Auch die einfache Gliederung von einzelnen Seiten in Moodle kann durch Generico-Filter erreicht werden. Reiter erstellt man beispielsweise wie folgt:

{GENERICO:type="tabs"}
{GENERICO:type="tabitem",title="Reiter 1"}
Beliebiger Inhalt für Reiter 1
{GENERICO:type="tabitem_end"}
{GENERICO:type="tabitem",title="Reiter 2"}
Beliebiger Inhalt für Reiter 2
{GENERICO:type="tabitem_end"}
{GENERICO:type="tabitem",title="Reiter 3"}
Beliebiger Inhalt für Reiter 3
{GENERICO:type="tabitem_end"}
{GENERICO:type="tabs_end"}
Unter den einzelnen Reitern können beliebige Inhalte angezeigt werden.

Auch das Einbinden externer Werkzeuge über ein IFrame ist möglich. Soll beispielsweise ein Kanban-Board eingebunden werden, so reicht folgender Text aus:

{GENERICO:type="kanban",height="700",boardid="Mein eigenes Kanban-Board"}
Das Kanban-Bord wird mittels eines entsprechenden Generico-Filters automatisch erzeugt und in die eigene Moodle-Instanz eingebunden.

Vorteile der Generico-Erweiterung

Filter für die Generico-Erweiterung können von Moodle-Administratoren entweder selbst geschrieben oder als Vorlage übernommen werden. Sie bieten gegenüber dem direkten Verwenden von HTML-Code in einer Moodleseite folgende Vorteile:

  1. Die Nutzer benötigten keine Webkenntnisse (HTML, CSS, JavaScript), sondern können die entsprechenden Befehle direkt im eigentlichen Text eintippen.
  2. Die Programmierung der einzelnen Elemente wird zentral verwaltet. Falls Anpassungen notwendig werden, können diese zentral an einer Stelle durchgeführt werden. Das Anpassen zahlreicher Einzelseiten entfällt.
  3. Die Sammlung der Filter kann beliebig angepasst und erweitert werden.

Übrigens: Wenn zusätzlich das Atto-Plugin installiert ist, können diese auch über ein Menü abgerufen werden, was den Einsatz noch einmal erleichtert.

Benutzer müssen sich die Schreibweise der einzelnen Filter nicht merken, wenn diese über das entsprechende Atto-Plugin zu Verfügung gestellt werden.

Beispiel für einen Generico-Filter

Anhand des QR-Codes soll gezeigt werden, wie ein entsprechender Filter geschrieben werden kann. Dazu wird das Administrationsmenü aufgerufen und dort unter Plugins > Filter die Vorlagen für Generico ausgewählt. Geht es darum, einen entsprechenden Filter zu bearbeiten, klickt man auf den Namen des Filters, ansonsten auf eine der noch freien Zahlen. Standardmässig stehen 20 verschiedene Filterplätze zu Verfügung. Diese kann man in den Einstellungen aber auch noch erhöhen.

Damit gelangt man in das eigentliche Menü zum Schreiben der Filter.

Die Generico-Filter lassen sich sehr flexibel programmieren, wobei nicht bei jedem Filter alle Möglichkeiten ausgeschöpft werden müssen.

Ganz oben links findet sich ein grüner Knopf „Bundle“, über den man bestehende Filter als Textdatei herunterladen und in andere Moodle-Instanzen übernehmen kann. Danach folgt ein Auswahlmenü für vordefinierte Filter.

Unter „Schlüssel“ legt man die interne Bezeichnung für den Filter fest, der bei der Verwendung des Filters mit type=“bezeichnung“ verwendet wird, unter „Name der Vorlage“ die Bezeichnung, welche später im Atto-Menü erscheint. Es folgen die Versionsnummer und eine Anweisung, wie der Filter zu verwenden ist.

In „Inhalt der Vorlage“ wird festgelegt, welchen Code der Filter später in die Webseite einbaut. Im Falle des QR-Codes ist dies ein DIV-Element mit einer ID, wobei @@AUTOID@@ dafür sorgt, dass automatische eine ID vergeben wird, die nicht zu Konflikten mit anderen IDs führt. Ausserdem wird in diesem Fall noch der Link ergänzt, der unter dem QR-Code steht.

Die eigentliche Programmierung findet durch das Festlegen von Variablen statt und die dafür eventuell notwendigen JavaScript-Befehle.

Sind die notwendigen Variablen definiert, können diese und die IDs falls notwendig über entsprechende JavaScript-Befehle angesprochen werden, wobei externe Bibliotheken eingebunden, lokale Befehle ausgeführt oder entsprechende Dateien hochgeladen werden können. In weiteren Feldern ist es dann auch möglich, entsprechenden CSS-Code zu hinterlegen.

Sind alle Bestandteile des Filters korrekt ausgefüllt, steht dieser unter der vergebenen Bezeichnung nun allen Nutzern zu Verfügung.  Werden Filter selbst entwickelt, lohnt es sich, die entsprechende Programmierung ausserhalb des Filters vorzunehmen und erst die funktionierende Version einzufügen und allenfalls mit lokalen Variablen von der Form @@variable@@ zu ergänzen.

Weitere Informationen zu Generico

Anleitungen und weitere Informationen zu Generico findet man hier:

Stösst man bei der Entwicklung eigener Filter auf Schwierigkeiten, lohnt es sich auf jeden Fall, sich im oben genannten Forum zu melden. Oft erhält man dort schnell und unkompliziert Hilfe.