Unmittelbare Rückmeldungen in Lückentexten

Beim Lernen von Fremdsprachen und auch in anderen Fachbereichen sind Lückentexte nach wie vor ein beliebtes Werkzeug. Werden diese in Papierform durchgeführt, dann müssen Schülerinnen und Schüler in der Regel darauf warten, bis die Lehrperson die Lösungen freigibt.

Beim Arbeiten mit digitalen Mitteln erweitern sich die Möglichkeiten:

    • Die Antwort kann unmittelbar erfolgen, nachdem eine Schülerin oder ein Schüler eine Lücke ausgefüllt hat,
    • oder sie kann verzögert erfolgen: nach dem Ausfüllen einer Übung oder einer ganzen Übungsserie.

Vor allem für Lernende, die sich bei einem Thema noch nicht gut auskennen, vermitteln unmittelbare Rückmeldungen ein Gefühl von Sicherheit.

Bisher waren solche direkten Rückmeldungen in Moodle jedoch nur bei der Verwendung von H5P-Aktivitäten möglich. Der ansonsten weit mächtigere Moodle-Test bot diese Möglichkeit nicht an, weswegen viele Lehrpersonen auf H5P setzten.

Gapcheck

Mithilfe von Open Code wurde deshalb ein Plugin entwickelt: qbehaviour_gapcheck, welches genau diese Lücke für Standardfragen in Moodle füllt, mit zusätzlicher Unterstützung der Fragetypen Gapfill und Formulas.

Der Code für das Plugin wurde auf Github veröffentlicht: https://github.com/mattgig/gapcheck (getestet mit Moodle 5.2)

Bei Lückentexten liefert die Option Gapcheck eine Rückmeldung, sobald die Schülerinnen und Schüler mit dem Tippen aufhören. Dieses Verhalten kann in den Einstellungen eines Tests entsprechend ausgewählt werden.

In den Einstellungen zu einem Moodle-Test kann das Verhalten "Gap check" ausgwählt werden.

Weil es für die Lehrperson hilfreich sein kann, wenn sie den Arbeitsstand der

 

Schülerinnen und Schüler sieht, ist eine Anpassung der entsprechend verwendeten Farben in einem Test (Quiz) möglich.

Beispiel einer Testfrage bei Verwendung von "Gap check". Die Lücken werden visuell unterschiedlich dargestellt.

Um die Farben systemweit (Administration) oder in einem Quiz mittels einem Block (Lehrperson) anzupassen, können folgende CSS-Variablen definiert werden:

--gapcheck-correct: #a8e6cf;
--gapcheck-border-correct: 3px solid #00cc66;
--gapcheck-partial: #ffd3b6;
--gapcheck-border-partial: 2px dashed #e6a800;
--gapcheck-incorrect: #ff8b94;
--gapcheck-border-incorrect: 1px dotted #cc0000;

Ausserdem ist es möglich, den Abgabeknopf in einer Aufgabe (Check) auszublenden. Allerdings können die Schülerinnen und Schüler dann eine einzelne Seite in einem Text nicht mehr abgegeben (beim Seitenwechsel werden die Ergebnisse aber gespeichert).

.gapcheck button.submit.btn.btn-secondary {display: none;}

Es kann aber durchaus sinnvoll sein, die Beschriftung das Abgabeknopfs (Check) anzupassen. Das ist mit JavaScript möglich:

document.addEventListener('DOMContentLoaded', function() {
    const button = document.querySelector('button.submit.btn.btn-secondary');
    if (button) {
         button.innerText= 'Aufgabe abgeben';
    }
});

Als zusätzlichen Bonus funktioniert das Plugin auch mit eingebetteten Fragen vom beschriebenen Typ. Dazu muss aber zusätzlich der Filter filter_embedquestion installiert werden.

Verwendung im Unterricht

Das Plugin wurde über mehrere Wochen im Unterricht getestet: Es ist bei Schülerinnen und Schülern sehr beliebt, weil …

    • sie sofort wissen, ob sie etwas verstanden haben und
    • es bei gewissen Aufgabenstellungen die Anzahl der benötigten Klicks reduziert;

Der Lehrperson erlaubt es das Plugin:

Gleich schnell auf Verständnisprobleme bei Schülerinnen und Schülern zu reagieren, wie dies bisher nur bei H5P-Übungen der Fall war.

    • Die gegenüber H5P erweiterten Gestaltungsmöglichkeiten zu verwenden.
    • Die gegenüber H5P besser automatisierbare Fragengeneration zu nutzen.

Insgesamt erweitert das Plugin also die Möglichkeiten der Lehrperson, die Lernumgebung Moodle im Unterricht gezielter einzusetzen.

Interaktive Videos

Interaktive Videos werden zwar häufig als lernwirksam beschrieben, sind aber in ihrer Anfertigung auch dann aufwändig, wenn bereits entsprechendes Videomaterial vorliegt. Ausserdem ist die Lernwirksamkeit solcher Videos stark abhängig von der Qualität des Videos und der damit verwendeten Interaktionen.

Als mögliche Begründungen für den Einsatz werden häufig motivationale Faktoren genannt und es wird angenommen, dass sich durch Interaktionen der Lernenden mit dem Inhalt des Videos die Lernleistung verbessert. Insgesamt ist die Datenlage aber insbesondere für die Volksschule eher dünn.

Dieser Beitrag versucht nicht, die Lernwirksamkeit von interaktiven Videos aufzuzeigen, sondern beschreibt, wie interaktive Videos in Moodle erstellt und genutzt werden können. Dabei stehen das Moodle Plugin Listening Garden (Hörgarten) und eine Datenbankaktivität mit ähnlicher Funktionalität im Zentrum.

Hinweis: Für die Demonstration der verschiedenen Möglichkeiten von interaktiven Videos wurde der Beitrag „Sokrates über Wissen und Nichtwissen (CC BY 4.0) von Terra Xplain Commons genutzt.

Verschiedene Möglichkeiten in Moodle

In Moodle gibt es verschiedene Möglichkeiten, den Lernenden interaktive Videos zu Verfügung zu stellen. Die bekannteste dürfte die die von H5P angebotene Aktivität „Interaktives Video“ sein.

H5P: Interaktives Video

Diese Aktivität erlaubt es verschiedene Interaktionen in ein Video einzubauen: Dazu gehören Multiple-Choice-Fragen, Lückentexte, Zuordnungsübungen, Freitextaufgaben und Verzweigungen. Es handelt sich also um ein sehr mächtiges Werkzeug, bei dem die Lehrperson aber alle Interaktionen einzeln anlegen und zeitlich anordnen muss.

Erstellen eines interaktiven Videos mit H5P.

Eine detaillierte Anleitung zum Interaktiven Video findet sich bei: klickpunktschule.bycs.de.

Das interaktive Video wird in der Regel von der Lehrperson erstellt und von den Lernenden genutzt. Die Ergebnisse werden direkt als Bewertungen hinterlegt und mit dem zusätzlichen Plugin HVP Student Results Report kann die Lehrperson Einzelergebnisse direkt aus der Aktivität abrufen.

Resultate können mit einem Plugin direkt in der Aktivität angesehen werden.

Plugin: Interaktives Video

Eine weitere Möglichkeit bietet das Plugin Interactive Video. Dieses funktioniert mit einer Vielzahl von Videoquellen und erlaubt das Einbetten beliebiger H5P-Aktivitäten. Das Erstellen ist gegenüber der bereits vorgestellten reinen H5P-Lösung noch einmal aufwändiger, eröffnet aber zusätzliche Möglichkeiten, da alle H5P-Aktivitäten genutzt werden können. Die Verwendung der H5P-Aktivität „Essay“ erlaubt beispielsweise einen Ansatz, der sich an die Dictogloss-Methode anlehnt, die besonders lernwirksam sein soll.

Interaktive Elemente, die einem Video im Plugin "Interactive Video" hinzugefügt werden können: Chapter, Content bank item (H5P), External content, Rich text, Skipped segment

Das Plugin wird in einem Moodlekurs der Oakridge University genauer beschrieben und lässt sich durch weitere, teils kostenpflichtige Elemente erweitern.

Plugin: Listening Landscape (Hörgarten)

Im Folgenden wird das sieben Jahre alte Plugin Listening Landscape  genauer beschrieben, welches mit Open Code auf Moodle 5.2 aktualisiert und leicht angepasst wurde. Die aktualisierte Form kann als ZIP-Datei heruntergeladen werden.

Beim Plugin Hörgarten ergänzen die Schülerinnen und Schüler Lückentexte.

Im Gegensatz zu den bereits beschriebenen Aktivitäten beschränkt sich der Hörgarten (Listening Landscape) auf reine Lückentextübungen, für die entweder eine SRT- oder VTT-Datei verwendet wird. Die entsprechenden Lücken werden mit eckigen [] oder geschweiften Klammern {} direkt in der Datei definiert. Weil solche Dateien bereits die entsprechenden Zeitstempel enthalten, müssen die Interaktionen nicht einzeln platziert werden, sondern diese werden beim Abspielen automatisch an der richtigen Stelle angezeigt.

2
00:00:05,000 --> 00:00:09,000
Dieser Satz von [Sokrates] steht im Zentrum einer Gerichtsverhandlung,

3
00:00:09,000 --> 00:00:12,000
die mit seinem [Todesurteil] endet.

4
00:00:12,000 --> 00:00:18,000
Sokrates strebte nach [Weisheit] und förderte im Dialog mit anderen das eigenständige [Denken].

Die Ergebnisse können einerseits im Detail angesehen werden, andererseits werden sie ebenfalls direkt in den Bewertungen hinterlegt.

Detailergebnisse einer Hörgarten-Übung. Für jede Stelle wird angezeigt, ob diese richtig gelöst wurde.Aufgrund des Ansatzes hat das Plugin zwei Nachteile:

    • Wenn keine sauberen Untertitel vorhanden sind, müssen die SRT- oder VTT-Dateien erst erstellt werden. Das geschieht am besten mit einem KI-Modell wie Whisper. Die normalen Sprachmodelle sind weniger zu empfehlen, da sie teilweise falsche Zeitangaben liefern.
    • Ausserdem müssen die Videos von der Lehrperson in die Aktivität hochgeladen werden, eine Verwendung von YouTube-Links ist also nicht möglich.

Datenbankaktivität: Listening

Aufgrund der Einschränkung bezüglich YouTube-Videos und weil das Installieren von Plugins auf vielen Instanzen nicht einfach möglich ist, wurde eine Datenbankaktivität entwickelt, die als Alternative für den Hörgarten dienen kann. Dabei müssen der Link auf das YouTube-Video oder eine andere Videodatei, sowie auf die SRT- oder VTT-Datei im Code der Seite hinterlegt werden. Danach funktioniert die Aktivität ähnlich wie schon beschrieben. Allerdings werden die Ergebnisse nicht automatisch bei den Bewertungen gesichert.

Eine Datenbankaktivität ersetzt das Plugin Hörgarten und bietet eine ähnliche Funktionalität.

Technisches

Die Datenbank Listening (Vorlage zum Download) benötigt nur ein Feld „results“, welches als kurzer Text angelegt ist und in dem die Daten in kompakter Form im JSON-Format gespeichert werden.

Die für die Aktivität verwendeten Video- und Transkriptdateien können in einem Ordern im entsprechenden Moodlekurs abgelegt werden. Beim Kopieren der entsprechenden Links sollte man darauf achten, dass die Ergänzung des Links ?forcedownload=1 entfernt wird.

Bei Dateien, welche in einem Moodleordner abgelegt sind, kann der Dateipfad mit einem Rechtsklick kopiert werden.

Anschliessend kann man die Links in der Vorlage für Einträge hinzufügen anpassen (Checkbox für Code-Editor einschalten deaktivieren).

<script>
const VIDEO_URL = 'VIDEO-URL HIER EINFÜGEN';
const SUBTITLE_URL = 'UNTERTITEL-URL HIER EINFÜGEN';
</script>

Nachtrag vom 30. August 2026: Sollen die Untertitel in einem verlinkten YouTube-Video standardmässig nicht angezeigt werden, kann man folgenden Parameter an den Link auf das Youtube-Video anhängen: ?cc_load_policy=0.

Nun können die Schülerinnen und Schüler die Datenbankaktivität verwenden. Sobald sie auf Eintrag hinzufügen klicken, wird das Video angezeigt. Wenn die Lernenden auf das Video klicken, wird dieses abgespielt und bei Abschnitten mit Lücken automatisch angehalten. Sobald sie den richtigen Begriff in die Lücke gefüllt haben, wird das Video fortgesetzt. Mit „Hint“ wird gegebenenfalls der erste Buchstabe des gesuchten Wortes angezeigt. Alternativ kann mit „Skip“ ein Teil des Videos übersprungen werden.

Einzelergebnis eines Lernenden mit entsprechender Statistik

Haben die Schülerinnen und Schüler alle Lücken richtig gefüllt, wird eine entsprechende Schaltfläche unter dem Video angezeigt. Es ist aber jederzeit möglich, den aktuellen Arbeitsstand zu „Speichern“ und später am Video weiterzuarbeiten.

Die Ergebnisse der Schülerinnen und Schüler werden in einer Tabelle festgehalten.
Listen-Ansicht für die Lehrperson.

Verwendung im Unterricht

Diese Art der Hörübung eignet sich im Fremdsprachenunterricht für die Wiederholung bereits bekannter Begriffe oder Strukturen. Ein typisches Beispiel sind „Past simple“-Verbformen, die im Kontext erkannt werden müssen.

Wichtig: Damit eine solche Übung nicht zu Frust führt, weil möglicherweise entsprechende Wortformen nicht bekannt sind oder erinnert werden, ist die Unterstützung der Lernenden durch die Lehrperson zentral. Ein wenig Hilfe zum richtigen Zeitpunkt, fördert die Lernmotivation der Schülerinnen und Schüler.

Berufliche Orientierung: Das bin ich!

Im Rahmen der beruflichen Orientierung sollen Schülerinnen und Schüler sich in einem ersten Schritt selbst besser kennenlernen. Dazu gibt es beispielsweise auf berufsberatung.ch oder in an Schulen verwendeten Lehrmitteln mehrere Formulare.

Will man aber in einem Bereich in die Tiefe gehen, bietet sich die Verwendung einer entsprechenden Moodle-Datenbankaktivität (Preset) an.

Die Datenbank

In der Datenbankaktivität werden die Schülerinnen und Schüler dazu aufgefordert, Fragestellungen aus folgenden Bereichen zu beantworten.

    • Gedanken und Gefühle
    • Stärken, Talente und Persönlichkeit
    • Alltag und Gewohnheiten
    • Erinnerungen und Erfahrungen
    • Wünsche, Ziele und Zukunft
    • Freundschaft, Familie und andere Menschen
    • Nachdenken über sich selbst
    • Freundschaft und Vertrauen
    • Familie und wichtige Menschen
    • Streit, Verletzung und Mut
    • Andere Menschen kennenlernen
    • Nachdenken über Beziehungen

Dabei können jeweils vorgegebene Fragen über eine Checkliste ausgewählt und anschliessend beantwortet werden.

Fragen aus dem Bereich "Gedanken und Gefühle"

Allenfalls ist es in dieser Arbeitsphase sinnvoll, Beiträge mittels der Einstellung „Freigabe erforderlich: ja“ für andere Lernende unsichtbar zu schalten.

Vorgehen im Unterricht

Die Schülerinnen und Schüler beantworten jeweils aus jedem Themenbereich 2 – 3 Fragen. Werden sie in der Lektion damit nicht fertig, kann die Vervollständigung auch als Hausaufgabe aufgegeben werden. Dies hat den Vorteil, dass die Lernenden ihre Antworten noch einmal überarbeiten können – insbesondere, wenn sie sich sehr persönlich zu einzelnen Fragen geäussert haben.

Im nächsten Schritt setzt die Lehrperson die Einstellung „Freigabe erforderlich“ auf „nein“. Dadurch werden alle Einträge sichtbar. Alternativ können diese auch einzeln und manuell freigegeben werden. Die Schülerinnen und Schüler lesen nun gegenseitige ihre Einträge und notieren bei den Kommentaren jeweils, wer einen Beitrag vermutlich geschrieben hat und wie sicher sie diese Person erkannt haben.

In dieser Phase sehen die Lernenden dank der JavaScript-Programmierung in der Datenbank nur die eigenen Kommentare. Trotzdem ist ersichtlich, wie viele Kommentare ein Beitrag schon erhalten hat.

Für die nächste Phase muss die Lehrperson an drei Stellen im Code der Datenbankaktivität Anpassungen vornehmen:

    1. In der Listenansicht sollen nun die Namen der Lernenden angezeigt werden. Dazu passt man den Code der Listenansicht im wiederholten Eintrag wie folgt an:
      <tr><td>##more####edit####delcheck##</td><td>##user##</td><td>##timemodified##</td></tr>
    2. In der Einzelansicht sollen der Name des Lernenden und die Kommentare angezeigt werden.
      Den Namen des Lernenden passt man analog zur Listenansicht an:

      <h3>Ich und die anderen</h3>
      <p>von ##user## (angepasst am: ##timemodified##)</p>
      <p>##edit##</p>

      Um die Kommentare anzuzeigen, muss man im JavaScript der Listenansicht, folgende Zeile anpassen:

      if (false) { //verstecke Kommentare, um sie anzuzeigen: false

Nun sind sowohl die Namen der Lernenden als auch die Kommentare sichtbar und die Schülerinnen und Schüler können einsehen, wie gut sie sich gegenseitig eingeschätzt haben.

Erfahrung aus dem Unterricht

Es ist sinnvoll, den Schülerinnen und Schüler die einzelnen Schritte vor ganz am Anfang zu erklären. Damit kann man verhindern, dass die Lernenden allzu Privates notieren. Ausserdem ist es wichtig, ihnen zu erklären, in welchem Zusammenhang die Aktivität mit der Berufswahl steht.

Wenn es darum geht, andere anhand ihrer Aussagen zu erkennen, sind Schülerinnen und Schüler der 7. Klasse altersgemäss sehr motiviert und die Auflösung gibt vielen Bestätigung. Vereinzelt kommt es aber auch zu Überraschungen, wenn z. B. von einem Mädchen vermutet wird, dass es sich um einen Jungen handelt, der sich im Unterricht ganz anders verhält als das Mädchen.

Insgesamt leitet die Aktivität die Schülerinnen und Schüler zu einer intensiven Auseinandersetzung mit sich selbst und anderen an und bereitet sie damit gut auf die nächsten Schritte in der Berufswahl vor. Der Vergleich zwischen dem Eigen- und Fremdbild kann dabei zur Horizonterweiterung beitragen.

Paralleltexte

Als Paralleltexte bezeichnet man zwei oder mehr Texte, die den gleichen Inhalt haben, aber unterschiedliche sprachliche Formulierungen verwenden. Solche Texte können im Unterricht vielfältig eingesetzt werden:

    • Als Entlastung im DaZ-Unterricht: Ein sprachlich stark vereinfachter Text wird einem Originaltext gegenübergestellt und ermöglich so den Zugang zu einem Textniveau, welches die Lernenden noch nicht erreicht haben.
    • Als Verstehenshilfe im Fremdsprachenunterricht: Ein Text in der Fremdsprache wird dem Text in der Muttersprache gegenübergestellt und ermöglicht so, das Verständnis des fremdsprachigen Textes, sowie die Erschliessung von Vokabeln und Sprachstrukturen.
    • Für die Quellenkritik im Geschichtsunterricht: Zwei Quellen werden einander gegenübergestellt und die Schülerinnen und Schüler notieren sich Gemeinsamkeiten und Unterschiede in den Aussagen der beiden Texte.
    • Kreatives Schreiben: Paralleltexte können auch als Schreibhilfe verwendet werden, bei denen Lernende eigene Texte mittels einer vorgegebenen Struktur in Form eines Beispieltextes schreiben.

Abhängig vom Anwendungsgebiet dienen Paralleltexte also als Lernhilfen in verschiedenen Bereichen der Spracherschliessung, insbesondere sind sie aber ein Mittel zur Differenzierung des Unterrichts.

Obwohl Paralleltexte als lernwirksam gelten, war ihr Einsatz in der Vergangenheit vor allem von der Schwierigkeit geprägt, solche Paralleltexte herzustellen oder zu finden. Wurden solche Texte nicht in einem Lehrmittel zu Verfügung gestellt, konnten einzelne Lehrpersonen diese höchstens punktuell im Unterricht einsetzen.

Dies hat sich mit der Entwicklung grosser Sprachmodelle massgeblich verändert. Paralleltexte auf mehreren Sprachebenen lassen sich nun innert kürzester Zeit herstellen und deren Qualität ist in der Regel so gut, dass eine Überarbeitung kaum mehr notwendig ist.

Technische Umsetzung als Webseite

Das Text-Vergleichstool erlaubt es Lernenden verschiedene Texte parallel zu lesen und entsprechende Stellen in den Texten zu markieren. Diese Textstellen können später auch exportiert und als Vokabelliste, Erinnerungs- oder Formulierungshilfe verwendet werden.

Drei Texte werden nebeneinander dargestellt und entsprechende Stellen sind farblich markiert worden.

Um das Werkzeug im Unterricht zu nutzen, stellt man den Lernenden entweder das Werkzeug und die entsprechenden Texte zu Verfügung, oder die Lehrperson stellt diese vorgängig zusammen und nutzt die Exportfunktion.

Weitere Funktionen:

    • Der Arbeitsstand wird automatisch im Browser gespeichert.
    • Fährt man mit der Maus über eine markierte Textstelle, werden diese und die Parallelstellen im Text hervorgehoben.
    • Klickt man auch eine markierte Stelle, springen alle Texte an die entsprechend markierten Textpassagen.

Möglichkeiten in Moodle

In Moodle gibt es mehrere Möglichkeiten, Texte in unterschiedlichen Schwierigkeitsstufen zu Verfügung zu stellen. Allerdings entfällt dann in der Regel die Möglichkeit zur Markierung der entsprechenden Textstellen oder die Umsetzung ist mit mehr Aufwand verbunden.

Standardmässig kann man einen Text beispielsweise in einem Buch in verschiedenen Versionen zu Verfügung stellen. Eine weitere Möglichkeit ist die Verwendung des <summary>-HTML-Tags, mit dem Textstellen ein- und ausgeklappt werden können. Ähnliche Funktionalitäten bieten auch einige H5P-Lernobjekte, z. B. Accordion.

Für komplexere Inhalte, bei denen beispielsweise nebst Text auch Bilder angezeigt werden sollen, kann der folgende Schieberegler verwendet werden.

Schieberegler zur Auswahl von Texten in drei Schwierigkeitsstufen.

Dazu braucht es an entsprechender Stelle in Moodle folgenden Code:

<p>ANWEISUNG</p>
<p>TEXT_LINKS <input type="range" min="1" max="3" value="STARTWERT" id="SCHIEBEREGLER_ID" style="accent-color:FARBE"> TEXT_RECHTS</p>
<script>
var sliderUniqueId = "SCHIEBEREGLER_ID";
var sliderStorageKey = "moodle_slider_" + sliderUniqueId;
var SCHIEBEREGLER_IDslider = document.querySelector("#SCHIEBEREGLER_ID");

// Funktion zum Aktualisieren der Anzeige basierend auf dem Schiebereglerwert
function updateDisplay(value) {
if (value == 1) document.querySelectorAll(".languagelevel_basic").forEach(e => {e.style.display = "block"})
else document.querySelectorAll(".languagelevel_basic").forEach(e => {e.style.display = "none"})

if (value == 2) document.querySelectorAll(".languagelevel_intermediate").forEach(e => {e.style.display = "block"})
else document.querySelectorAll(".languagelevel_intermediate").forEach(e => {e.style.display = "none"})

if (value == 3) document.querySelectorAll(".languagelevel_advanced").forEach(e => {e.style.display = "block"})
else document.querySelectorAll(".languagelevel_advanced").forEach(e => {e.style.display = "none"})
}

// Sofort laden des gespeicherten Werts
(function() {
var savedValue = localStorage.getItem(sliderStorageKey);
if (savedValue !== null) {
SCHIEBEREGLER_IDslider.value = savedValue;
// Zeitverzögerung hinzufügen, um sicherzustellen, dass die DOM-Elemente geladen sind
setTimeout(function() {
updateDisplay(parseInt(savedValue));
}, 100);
} else {
setTimeout(function() {
updateDisplay(parseInt(SCHIEBEREGLER_IDslider.value));
}, 100);
}
})();

// Event-Handler für Schieberegler-Änderungen
SCHIEBEREGLER_IDslider.oninput = function() {
var value = this.value;
updateDisplay(parseInt(value));
localStorage.setItem(sliderStorageKey, value);
}
</script>

<div class="languagelevel_basic" style="display:none;">TEXT LEVEL 1</div>
<div class="languagelevel_intermediate" style="display:block;">TEXT LEVEL 2</div>
<div class="languagelevel_advanced" style="display:none;">TEXT LEVEL 3</div>

Das Script enthält verschiedene Platzhalter für den Einsatz:

    • ANWEISUNG: Die Anweisung beschreibt, was man mit dem Schieberegler machen soll.
    • TEXT_LINKS: Dieser Text erscheint auf der linken Seite des Schiebereglers, z. B. „einfach“.
    • TEXT_RECHTS: Dieser Text erscheint auf der rechten Seite des Schiebereglers, z. B. „anspruchsvoll“.
    • STARTWERT: Dieser Wert gibt an, auf welcher Position der Schieberegler standardmässig steht. Mögliche Werte sind 1, 2 und 3.
    • SCHIEBEREGLER_ID: Diese ID sorgt dafür, dass die Einstellung des Schiebereglers auf dem Computer der Lernenden im localStorage gespeichert wird. Die ID muss mit einem Buchstaben beginnen und darf keine Leer- oder Sonderzeichen enthalten.
    • FARBE: Damit wird bestimmt, in welcher Farbe der Schieberegler angezeigt wird, z. B. „red“ für Rot oder „blue“ für Blau.
    • TEXTLEVEL: Hier kann jeweils beliebiger HTML-Code eingefügt werden, der abhängig von den Einstellungen des Schiebereglers angezeigt wird. Damit der Schieberegler nicht erst betätigt werden muss, wird jedem der entsprechenden DIVS noch ein display=“none“ (nicht anzeigen) oder display=“block“ (anzeigen) mitgegeben.

Wesentlich bequemer funktioniert der Schieberegler, wenn man dazu entsprechende Generico-Scripts (Makros für Moodle) verwendet. Dann reduziert sich die Eingabe (ohne in die HTML-Ansicht wechseln zu müssen) auf folgende Zeilen (können über ein Menü eingegeben werden):

GENERICO:type="language_slider",introduction="Wähle dein Sprachniveau.",text_left="leicht",starting_value="1",color="red",text_right="anspruchsvoll",SLIDERID="SLIDERTEXT"}

{GENERICO:type="language_slider_item",level="basic",display="none"}

Das ist ein einfacher Text.

{GENERICO:type="language_slider_item_end"}

{GENERICO:type="language_slider_item",level="intermediate",display="block"}

Das ist ein Text mit einem mittleren Schwierigkeitsgrad.

{GENERICO:type="language_slider_item_end"}

{GENERICO:type="language_slider_item",level="advanced",display="none"}

Dieser Text zeichnet sich durch seinen schwierigen Grad des Textniveaus aus.

{GENERICO:type="language_slider_item_end"}

Dazu werden die Scripts language_slider und language_slider_item benötigt.

Da in den entsprechenden DIVS beliebiger HTML-Code stehen kann, ist es auch möglich, Bilder und andere multimediale Inhalte an den entsprechenden Stellen zu hinterlegen.

Einsatzmöglichkeiten im Unterricht

Der Schieberegler wird im Unterricht in unterschiedlichen Szenarien eingesetzt:

Im Fremdsprachenunterricht dient der Schieberegler der Anpassung des Textniveaus an das Sprachlevel der Lernenden. So kann beispielsweise ein Originallesetext gleichzeitig in einer einfacheren oder anspruchsvolleren Variante zu Verfügung gestellt werden.

Weiter wird der Schieberegler häufig bei der Arbeit mit Dialogen verwendet. Durch die passenden sprachlichen Herausforderungen sind die Lernenden motivierter, solche gemeinsam zu üben. Die Beobachtung aus dem Unterricht zeigt auch, dass viele Schülerinnen und Schüler sich auch an sehr anspruchsvolle Varianten wagen.

Im muttersprachlichen Unterricht (z. B. Geschichte, Geografie) erlaubt es der Schieberegler den Schülerinnen und Schüler, Texte zu erschliessen, die sich auf einem für sie eigentlich zu hohen Komplexitätsniveau befinden. Dazu gehören typischerweise Artikel aus Online-Zeitungen oder Texte aus Schulbüchern, aber auch literarische Texte, welche entweder zu umfangreich sind oder einen von den Lernenden noch nicht erschlossenen Wortschatz verwenden.

Das geht doch auch auf Papier!

Selbstverständlich kann man Schülerinnen und Schülern Paralleltexte in Papierform zu Verfügung stellen. Und bei kurzen Texten, insbesondere wenn diese miteinander verglichen werden müssen, ist das auch ein sehr guter Ansatz.

Schwierig wird es bei längeren Texten, weil dann viel Material kopiert werden muss, dass sehr wahrscheinlich gar nicht von allen Lernenden genutzt wird. Auch die Verbindung mit multimedialen Elementen wird durch die Arbeit auf Papier erschwert. Ausserdem: Wenn man dieses Problem umgeht, indem man den Schülern jeweils eine Textversion zu Verfügung stellt, nimmt man diesen die Möglichkeit, sich jenseits des angenommenen Sprachniveaus zu betätigen und schränkt sie damit unnötig ein.

Letztlich ist es häufig weniger entscheidend, ob man einen didaktischen Ansatz generell analog oder digital umsetzt. Die konkreten Unterrichtsanforderungen entscheiden, inwieweit einzelne Medien hilfreich sind. Und wenn einem die Einschränkungen des Lernens mit Papier daran hindern, ein Unterrichtsszenario erfolgreich (und innert nützlicher Frist) umzusetzen), sollte man über die vorhandenen technischen Möglichkeiten zumindest Bescheid wissen. Nur so sind bewusste Entscheidungen möglich.

Gestenerkennung mit Snap!

Die im Folgenden beschriebene Lektionenskizze basiert auf den „Grand Gestures“ von Jens Mönig, die in dem seit einigen Wochen verfügbaren Kurs „Get Coding with Snap! – Building Up to AI“ dokumentiert sind. Für die Umsetzung werden 2 – 4 Lektionen benötigt.

Gestenerkennung

Die Idee: Figuren, die mit einem Linienzug gezeichnet werden können (ohne Absetzen) sollen automatisch erkannt werden und jeweils eine passende Animation auslösen.

Die eigentliche Programmierung besteht aus zwei Teilen: Der technische Aspekt konzentriert sich auf den Algorithmus zur Erkennung einer gezeichneten Figur, der kreative Aspekt darauf, einzelne Figuren entsprechend zu animieren.

Die Programmierung

Die Programmierung kann abgesehen von wenigen Blöcken mit den Schülerinnen und Schüler schrittweise durchgeführt werden und umfasst keine besonders komplexen Schritte.

Zeichenfunktion implementieren

Als erstes sollen die Schülerinnen und Schüler in der Lage sein, eigene Figuren zu zeichnen. Dazu sind folgende Programmierschritte notwendig.

Im Bereich „Bühne“ (stage) wird aufgrund des Ereignisses Mausklick eine Nachricht an das Objekt (sprite) versendet.

Programmierung der Bühne: Bei einem Mausklick wird eine Nachricht versendet.

Diese Mitteilung wird vom Objekt (sprite) aufgegriffen.

Die Programmierung des Sprites sorgt dafür, dass die Schülerinnen und Schüler eine Figur zeichnen können.

Um die Zeichnung anzufertigen, wird zuerst der Bildschirm gelöscht und dann folgt der „Stift“ von Snap den Bewegungen der Maus und hinterlässt somit eine entsprechende Spur.

Speichern einer Zeichnung

Im nächsten Schritt werden die einzelnen Positionen der Figur in der Variable „sketch“ gespeichert.

Die Positionen entlang der gezeichneten Figuren werden mittels einer Liste gespeichert.

Wiedergeben einer Zeichnung

Im Starterpaket zu „Grand Gestures“ gibt es einen entsprechenden Block, mit dem die gezeichnete Figur wiedergegeben werden kann.

Mit diesem Block können Zeichnungen wiedergegeben werden.

Für die Schülerinnen und Schüler ist es aber eindrücklicher, wenn man die Funktionalität dieses Blockes mit ihnen Schritt für Schritt erarbeitet.

Schrittweise Wiedergabe einer gezeichneten Figur.

Wenn man auf den im vorgegebenen Block vorhandenen warp-Block verzichtet, erscheint die Zeichnung nämlich nicht auf einen Schlag auf dem Bildschirm, sondern wird in der gleichen Art, wie sie die Schülerinnen und Schüler gezeichnet haben, schrittweise auf dem Bildschirm wiedergegeben. Das ist für die Schülerinnen und Schüler ein erster Aha-Moment.

„Normalisierung“ einer Zeichnung

In einem weiteren Schritt werden die Zeichnungen nun für den Vergleich untereinander vorbereitet und in einer weiteren Liste gespeichert, dabei spielt der folgende Block eine zentrale Rolle:

Block zur gleichmässigen Verteilung der Punkte auf der Figur.

Der Block „normalisiert“ die Zeichnung, indem er die vorher in unregelmässigen Abständen gemessenen Punkte regelmässig entlang der Linie verteilt. Dies ist später wichtig, um verschiedene Zeichnungen vergleichen zu können.

Ein Vergleich zwischen der rohen und angepassten Zeichnung illustriert die Funktion:

Nach der "Normalisierung" sind die Punkte entlang einer Zeichnung regelmässig verteilt.

links: Originalzeichnung; rechts: Zeichnung nach Anwendung des resample-Blocks

Die Anzahl der Punkte kann passend zur Komplexität der gezeichneten Figuren einstellen.

Für die Sekundarstufe I empfiehlt es sich, den resample-Block zu Verfügung zu stellen, da dessen Programmierung einige Zeit in Anspruch nimmt und vom eigentlichen Zweck des Programmierbeispiels eher ablenkt.

Speichern und Erkennen verschiedener Zeichnungen

Durch die Erweiterung des bisherigen Blockes zum Zeichnen von Linien können unterschiedliche Zeichnungen gespeichert und erkannt werden.

Das Programm wird erweitert: Zeichnungen können und gespeichert und erkannt werden.

Der if-Block wird verwendet, damit für den Rest des Kernprogrammes möglichst wenig Blöcke benötigt werden. Wenn „recognize“ wahr ist, werden die gezeichneten Figuren gespeichert, wenn „recognize“ falsch ist, werden diese erkannt.

Mit dem ask-Block wird nach dem Namen einer Figur gefragt, anschliessend werden die Punkte einer einzelnen Zeichnung zusammen mit der Bezeichnung „drawings“ gespeichert.

Im else-Teil spielt der „recognize … in …“-Block die zentrale Rolle. Auch auf dessen Programmierung sollte auf der Sekundarstufe I verzichtet werden.

Der Block findet die Zeichnung, die einer aktuellen Linie am ähnlichsten ist.

Der Block misst die Distanz zwischen der aktuell gezeichneten Figur und den Figuren in der Liste „drawings“, indem er jeweils den Abstand von Punktepaaren vergleicht. Der Name der Figur mit dem insgesamt kleinsten Abstand wird dann per „broadcast“ verschickt.

Um die Funktionsweise sichtbar zu machen, gibt es einen Zusatzblock, mit dem die Abstände der einzelnen Punktepaare als Vektoren dargestellt werden können.

Block zur Visualisierung der Abstände zwischen zwei Zeichungen.

Der Vergleich zwischen einem Rechteck und einem Dreieck sieht dann beispielsweise so aus.

Vergleich zwischen Rechteck und Dreieck.

Animation der erkannten Zeichnungen

Da der Name der erkannten Zeichnung versendet wird, kann dieser genutzt werden, um eine Animation zu starten, wobei das Gerüst immer gleich aussieht.

Animationsblock

Damit das funktioniert, muss die Mitteilung im „when I receive“-Block entsprechend angepasst und die Animation selbst programmiert werden.

Blöcke zur Animation der Figuren findet man unter den Looks- und Motion-Blöcken, es können aber auch Sounds und andere Effekte eingebaut werden.

Als Starthilfe sind hier einige Animationsblöcke. Diese kann man einfach verwenden, anpassen oder als Inspiration verwenden.

Beispiele für mögliche Animationen

Das Starter-Programm

Das Starter-Programm enthält die Definitionen der Variablen und alle Blöcke, die für die Programmierung der Aktivität benötigt werden: Gestenerkennung – Startdatei.

Starter mit einigen Blöcken zur Initialisierung des Programms.

Wenn man möchte, dass die eigenen Zeichnungen nicht gelöscht werden, sollte man den Block „set drawings“ vom Startblock (Block mit grüner Fahne) lösen.

Verwendung in Moodle

Moodle hilft bei der Organisation in zweifacher Hinsicht. Einerseits kann mit dem Plugin Snap! submissions eine Aktivität angelegt werden, aus der Snap! direkt mit der entsprechenden Vorlage gestartet werden kann, andererseits können Schülerinnen und Schüler ihre Animationsblöcke in einer geeigneten Moodleaktivität wie „Forum“ oder „Database“ miteinander austauschen.

Erfahrungen aus dem Unterricht

Für die Umsetzung werden auf der Sekundarstufe I mindestens zwei Lektionen benötigt. Legt man viel Wert auf den kreativen Teil, bei dem die Schülerinnen und Schüler die gezeichneten Figuren aufwändig animieren oder gar zu einer Geschichte verknüpfen, sind 3 bis 4 Lektionen auf jeden Fall angemessen.

Ausserdem empfiehlt es sich, den Schülerinnen und Schülern spätestens am Ende der Lektion einen funktionierenden Zwischenstand der Programmierung zu Verfügung zu stellen. In Moodle sollte man dabei beachten, dass die xml-Dateien mit der Option „download“ zu Verfügung gestellt werden.

Insgesamt vermittelt „Grand Gestures“ wichtige technische Grundlagen, bietet die Basis für eine kreative Nutzung des verwendeten Algorithmus und leistet eine gute Überleitung zu weitergehenden Verfahren aus dem Bereich der künstlichen Intelligenz.

Neuronale Netze zur Erkennung von 0 und 1

1989 veröffentlichten Y. LeCun et al. ihre Arbeit über die Erkennung von Postleitzahlen mithilfe von neuronalen Netzen (Quelle) und dieser Ansatz gehört unterdessen zu den Standardunterrichtseinheiten bei der Einführung des Themas und Schülerinnen und Schüler experimentieren mit entsprechenden interaktiven Anwendungen (Beispiel). Dabei kommen einerseits für den didaktischen Einsatz vergleichsweise grosse neuronale Netze zum Einsatz, z.B. 768 (28 x 28) Bildpunkte als Eingaben für das neuronale Netz, LeCun selbst arbeitete mit einer Auflösung von 16 x 16, andererseits werden auch viele beschriftete Testdaten benötigt.

Deshalb stellt sich die Frage, wieweit solche Systeme im Unterricht reduziert werden können, sodass sie einerseits für Lernende überschaubarer werden, anderseits aber das Potential behalten, auch komplexere Probleme mit einer einigermassen handhabbaren Anzahl von Versuchsdaten zu lösen.

Ein möglicher Ansatz mit der blockbasierten Programmiersprache Snap!, die unter anderem auch Blöcke rund um das Thema neuronale Netze zu Verfügung stellt, wird im Folgenden beschrieben.

Neuronale Netze trainieren

Schülerinnen und Schüler der Sekundarstufe I sollen anhand eines mininalen Ansatzes, der Erkennung von Nullen und Einsen, mit einem neuronalen Netz experimentieren. Dabei sollen sie die Trainingsdaten selbst erfassen und nach dem Training des neuronalen Netzes untersuchen, wie gut und unter welchen Umständen das neuronale Netz diese Ziffern unterscheiden kann. Anschliessend sollen sie mit den gleichen Fragestellungen zusätzliche Zeichen trainieren und deren Erkennungsraten unter verschiedenen Bedingungen untersuchen.

Hinweis: In Anlehnung an die Gestenerkennung in Snap! sollen alle Zeichen aus einem Linienzug bestehen. (Die Programmierung kann in dieser Hinsicht natürlich auch angepasst werden.)

Das Programm

Das Programm (Link) besteht aus den folgenden Teilen (Sprites):

Start: Im Startsprite wird der Zweck des Programms erklärt und die Umgebung eingerichtet.

Start des Programms zum neuronalen Netz und Initialisierung.

Damit das Programm möglichst überschaubar bleibt, werden die Zeichen nicht normalisiert. Stattdessen steht ein Zeichenbereich zu Verfügung, in den Nullen und Einsen hineingeschrieben werden können. Diese didaktische Reduzierung kann einen Einfluss auf die Datenqualität haben, welche im Bereich Training wichtig wird.

Training: Im Trainingsteil können die Trainingsdaten erhoben werden, wobei verschiedene Anpassungen an die Einstellungen möglich sind.

Im Trainingsbereich werden die Daten erfasst.

Für das Erfassen der Daten ist es sinnvoll einige Einstellungen anzupassen:

  • Stiftdicke: Wenn die Datenmenge stark reduziert werden soll, was ein Ziel der didaktischen Vereinfachung ist, muss die Stiftdicke genügend gross gewählt werden, ansonsten sind nach der Reduktion keine verwertbaren Pixel mehr vorhanden.
  • Bildgrösse: Die Bildgrösse kann über die Variable „percentage“ eingestellt werden. Für das Training von 0 und 1 ist ein Wert von 2 % ausreichend. Für das Training weiterer Zeichen sollte dieser Wert auf mindestens 5% erhöht werden.

In der vorliegenden Fassung können nur Nullen und Einsen bequem erfasst werden. Für weitere Zeichen empfiehlt es sich folgenden Block zu kopieren (duplicate) und anzupassen:

Block zum schnellen Speichern eines einzelnen Datensatzes.

Dazu ändert man einfach die Eingabe bei „when … key pressed“. Die versandten Daten müssen dabei nicht mit der Eingabe übereinstimmen, erleichtern aber die Zuordnung, wenn sie der Eingabe entsprechen.

Wichtig: Im Abschnitt „Variables“ können verschiedene Variablen angezeigt werden. Diese geben einem eine Rückmeldung zu verschiedenen Aspekten des Datensatzes. So kann man beispielsweise mittels der Variable „numbers“ direkt bei der Eingabe überprüfen, ob bei gegebener Auflösung (Reduktion der Daten) das entsprechende Zeichen überhaupt noch ein brauchbares Signal liefert.

Oberfläche der Eingabe mit Überprüfung der Datenqualität.

Die gezeichnete Zahl verschwindet zwar nach kurzer Zeit, die Daten bleiben aber in der Variablen „numbers“ gespeichert. Sie werden allerdings erst in den Datensatz übernommen, wenn auf der Tastatur die entsprechende Taste (hier: 1) gedrückt wurde.

Sobald ein Muster gespeichert wird, gibt das Programm eine Rückmeldung: In der Form eines „T“ werden die Dimensionen des gespeicherten Bildes und dessen Label angezeigt.

Sollte doch einmal vorschnell ein ungeeignetes Datenmuster gespeichert worden sein, kann dieses mit dem Block „delete last of data“ gleich wieder gelöscht werden.

Achtung! Da das Programm sehr einfach gehalten ist, darf nicht über den blauen Rand der Eingabefläche hinausgezeichnet werden, sonst kann es zu Problemen mit den Trainingsdaten kommen. Darum können sich die Schülerinnen und Schüler aber im nächsten Schritt kümmern.

Neuronales Netz: Hier wird das neuronale Netz definiert und trainiert.

Für das Training des neuronalen Netzes stehen spezielle Blöcke bereit

Bevor mit dem Training begonnen wird, muss deren Qualität überprüft werden. Wenn, wie schon erwähnt, bei der Eingabe über den Rand gezeichnet wurde, kann es sein, dass die Dimensionen einzelner Datensätze von der vorgegebenen Grösse abweichen.

Weil der Datensatz so klein ist, kann man solche Abweichungen von Hand überprüfen. Dazu klickt man einfach auf „dimensions of data“ und damit werden die Eingabedaten als Tabelle angezeigt.

Tabelle mit den Daten zu den eingegebenen Zeichen.

Grössere Datensätze können mit dem Block „set data …“ bereinigt werden. Dieser löscht Datensätze, die zu gross sind, d.h., Muster, bei denen über den Rand gezeichnet wurde.

Die einzelnen Datensätze können nun mit „plot bars …“ angezeigt werden. Die Auswahl erfolgt per Zufall, kann aber mit „item … of data“ auch gezielt gesteuert werden.

Anzeige eines einzelnen Datensatzes

Auch hier gilt: Weil die Datenmenge so klein ist, bleibt alles überschaubar.

Falls sich die Schülerinnen wundern, weshalb ein Datensatz teilweise sehr unterschiedliche Werte enthalten kann, sollte man sie darauf hinweisen, dass dies ein Artefakt der Komprimierung der Daten ist. Dabei werden Pixel zusammengefasst und je nach Verteilung mehr oder weniger hell dargestellt.

Nach all diesen Vorbereitungen kann nun endlich das neuronale Netz trainiert werden. Dazu klickt man auf den Block „generate classifier …“.

Die visuelle Ausgabe von Snap! zeigt einerseits den Trainingsverlauf, andererseits das verwendete neuronale Netz.

In einer Liveansicht wird nicht nur mit den unten im Bild sichtbaren Balken und der Statistik oben rechts der Trainingsverlauf angezeigt, sondern auch das neuronale Netz visualisiert und laufend aktualisiert. Die Stärken und Farben der Verbindungslinien geben dabei die Gewichtungen wieder.

Hinweis: Der Block „generate classifier …“ nutzt die vorhandenen Daten, um ein entsprechendes neuronales Netz aufzubauen. Die Architektur des Netzes kann aber auch manuell eingestellt werden, was für interessierte Lernende ein weiteres Experimentierfeld eröffnet.

Testen: In diesem Bereich testen die Schülerinnen und Schüler, wie gut die trainierten Zeichen erkannt werden.

Blöcke zum Testen des neuronalen Netzes

Die Blöcke im Bereich „Testen“ greifen weitgehend auf bereits vorhandene Elemente zu, um die Eingabe und Überprüfung von Zeichen zu erlauben. Zentral ist aber der Block „class of …“, der die neuen Eingabedaten mithilfe des trainierten neuronalen Netzes klassifiziert.

Eine Eins wird als 1 klassifiziert.

Erweiterungen: In diesem Bereich werden die Lernenden aufgefordert, ihre eigenen Untersuchungen anzustellen.

Experimentiervorschläge für Schülerinnen und Schüler

Diese Experimente sollen von den Schülerinnen und Schülern auch dokumentiert werden, wobei sie von einer Reihe von ausserhalb des Snap!-Programms formulierten Leitfragen unterstützt werden.

Leitfragen

1) Wie funktioniert das Programm?

Aus welchen Schritten besteht das Programm und wie funktionieren diese?

2) Welche Daten hast du für das Training verwendet?

Schreibe auf, welche Zahlen, Buchstaben oder Zeichen du für das Training verwendest hast.
Wie viele Male hast du jedes einzelne Zeichen trainiert?

3) Welche Einstellungen hast du verwendet?

Wie gross sind die von dir verwendeten Pixelbilder? 
Welche Stiftgrösse hast du verwendet?

4) Wie ist dein neuronales Netz aufgebaut?

Aus wie vielen Schichten besteht dein Netz und wie gross sind diese?
Du kannst hier auch eine Abbildung der Bühne (stage) aus Snap verwenden.

5) Wie gut wurden deine Zeichen erkannt?

Welche Zeichen wurden gut erkannt? Welche nicht? Woran liegt das möglicherweise?

6) Was würdest du bei weiteren Versuchen anders machen?

Beschreibe, welchen Teil deines Experiments du anpassen würdest.

7) Was für Fragen bleiben für dich offen?

Gibt es Teile des Experiments, die du noch nicht ganz verstanden hast oder über die du gerne mehr wissen würdest?

Integration in Moodle

Snap! lässt sich über die entsprechende Webseite aufrufen, im konkreten Fall wird dafür aber das Plugin Snap! Submission in Moodle verwendet. Dieses kann innerhalb der Moodle-Aktivität Aufgabe verwendet werden, funktioniert allerdings zum Zeitpunkt der Veröffentlichung aufgrund des Updates auf Snap! v12 aktuell nicht korrekt, weshalb ein entsprechender Bugreport geschrieben wurde.

Davon abgesehen besteht der Vorteil der Integration in Moodle darin, dass sowohl die programmierten Beispiele als auch die Berichte der Schülerinnen und Schüler an einem zentralen Ort gespeichert werden. Diese können dann auf unterschiedliche Weise (hier: Kriterienraster) bewertet werden.

Ausführlicher Kriterienraster zur Bewertung der Abgaben der Lernenden.

Bei der Verwendung von Kriterienrastern kann unterdessen in Moodle auch auf externe Sprachmodelle (LLM) zurückgegriffen werden. Da im konkreten Fall keine persönlichen Daten der Schülerinnen und Schüler übermittelt werden, können Lehrpersonen so entlastet werden.

Einordnung

Mit dem vorliegenden Ansatz (Unterscheidung von Nullen und Einsen) können sich Schülerinnen und Schüler in einer didaktisch stark vereinfachten Form mit der konkreten Anwendung von neuronalen Netzen beschäftigen. Dabei sind die verwendeten Datenmengen und die darauf basierenden neuronalen Netze derart klein, dass deren Verwendung anschaulich bleibt. Trotzdem können anhand dieses Vorgehens typische Herausforderungen bei der Verwendung neuronaler Netze aufgezeigt werden. Und die dabei erworbenen Kenntnisse und Fertigkeiten können dann auch auf komplexere Anwendungen übertragen werden. Damit entspricht der Ansatz der Philosophie von Snap!: Low floor, wide walls, high ceiling!

Was der Ansatz hingegen nicht leisten kann: Er bietet keinen konkreten Einblick in die Funktionsweise eines Neurons oder wesentlicher Techniken, welche beim Training und der Verwendung von neuronalen Netzen verwendet werden. Dazu bietet Snap! andere Blöcke an und möglicherweise ist ein solcher Einblick auch eher Thema für eine höhere Schulstufe.

 

 

 

Worteinbettungen

Mithilfe von Markov-Ketten können aus Texten Wortfolgen gebildet werden, die den Grammatikregeln ziemlich gut folgen. Siehe dazu Automatische Generierung von Texten und Snap!GPT, sowie SoekiaGPT. Die resultierenden Texte enthalten aber meist unsinnige Passagen, weil sie auf statistischen Wahrscheinlichkeiten und nicht auf einem tieferen Verständnis basieren.

Damit beispielsweise ein Sprachmodell auch inhaltlich passende Texte verfassen kann, greift es nebst anderen Techniken auf sogenannte Worteinbettungen (word embeddings) zurück. Dabei werden Wörter und Begriffe als Vektoren dargestellt und in einem multidimensionalen Raum verortet. Diese Worteinbettungen sollen von den Schülerinnen und Schülern mithilfe entsprechender Blöcke in Snap! untersucht werden.

Die folgende Lerneinheit baut auf der Arbeit von Ken Kahn auf, der entsprechende Unterlagen in englischer Sprache im Rahmen des eCraft2Learn-Projektes der University of Oxford veröffentlicht hat.

Ablauf der Lektion

Zuerst werden die Schülerinnen und Schüler mithilfe einer einfachen mittels vibe coding erstellten Webseite in das Thema eingeführt: Word embeddings entdecken. Dabei handelt es sich um eine starke Vereinfachung des Sachverhalts, die aufzeigen soll: Worteinbettungen erfolgen nicht zufällig, sondern die Platzierung einzelner Begriffe spiegelt Aspekte der Sprache wider.

Didaktisch vereinfache Abbildung von Worteinbettungen.

Vor dem Wechsel zum Snap!-Programm erfahren die Lernenden auch, dass die Koordinaten der Wörter bei Worteinbettungen nicht nur aus zwei Zahlen (zweidimensional) oder drei (3D), sondern aus vielen Dimensionen bestehen, die durch den Vergleich von n-Grammen oder anderen rechnerisch aufwändigen Verfahren bestimmt wurden.

Das Snap!-Programm

Das Snap!-Programm selbst besteht aus drei Teilen: Blocks, 2D-View und Experiments. Es ist hier zu finden: Worteinbettungen – DE.

Blocks listet im Wesentlichen die wichtigsten von Ken Kahn entwickelten Blöcke auf und erklärt deren Funktion, wobei die Schülerinnen und Schüler diese unter der Anleitung der Lehrperson kennenlernen sollen.

Da die recht zahlreichen Blöcke im Programm selbst beschrieben werden, wird hier auf eine genauere Erläuterung verzichtet und nur eine grobe Übersicht gegeben.

Die hinterlegten Worteinbettungen arbeiten mit Vektoren, die 300 Dimensionen aufweisen. Zudem ist der Datensatz multilingual (15 verschiedene Sprachen) und ermöglicht damit auch den Vergleich zwischen Sprachen und Übersetzungen.

Nebst der reinen Darstellung der Vektoren, kann auch nach Wörtern im Umfeld von Begriffen gesucht werden wie etwa in einem Nachschlagewerk für sinn- und sachverwandte Wörter. Und es ist möglich mittels Verrechnung von Vektoren Analogien zu berechnen.

2D-View ermöglicht die Projektion der Vektoren auf eine Ebene und ermöglicht damit die Erkundung von Wörtern in Hinblick auf spezifische Eigenschaften.

Zwar liefert Ken Kahn bereits einen Block, mit dem die Vektoren in der Ebene abgebildet werden, bei den üblichen Verfahren gehen aber meist gerade diejenigen Zusammenhänge verloren, die bei der Verrechnung von Vektoren überraschenderweise zutage treten.

Deshalb wurde das Snap!-Programm um weitere Blöcke ergänzt, welche die Berechnung entsprechender Achsen erlaubt, mit deren Hilfe die Wörter dann so in der Ebene abgebildet werden können, dass diese Zusammenhänge grafisch einfach ersichtlich werden.

Das zu Verfügung gestellte Beispiel stellt Verwandtschaftsbeziehungen in Bezug auf Alter und Geschlecht dar.

Berechnete Beziehungen von Begriffen in der Ebene entlang der Achsen Alter und Geschlecht.

Dabei wurde das Beispiel bewusst in englischer Sprache gehalten, damit die Schülerinnen und Schüler dieses in einem ersten Schritt ins Deutsche übertragen können. Die Definition der Achsen mittels entsprechender Wortpaare ist nämlich anspruchsvoll und fordert zum Experimentieren heraus.

Blöcke die zur Abbildung von Begriffen in der Ebene verwendet werden können.

Da auch Schülerinnen und Schüler der Sekundarstufe I mit diesen Blöcken arbeiten sollen, wurden die benötigten Berechnungen bewusst wegabstrahiert. Diese können bei entsprechendem Vorwissen der Lernenden aber über die Editierfunktion der Blöcke aufgerufen und nachvollzogen werden.

Auch der „write words … in 2D“-Block ist stark abstrahiert, weil er über die Variablen „x axis“ und „minmax“ die Koordinaten der Begriffe automatisch so skaliert, dass sie den sichtbaren Teil der Ebene mehr oder weniger ausfüllen.

Experiments dient dem freien Experimentieren. Die Schülerinnen und Schüler können Blöcke in diesem Bereich ziehen und mit diesen eigene Untersuchungen durchführen.

Die Dokumentation

Sowohl das Snap!-Programm als auch die Dokumentation, welche die Schülerinnen und Schüler teilweise in der Lektion, teilweise als Hausaufgabe erstellen sollen, wird in einem Moodlekurs über die Aufgabenstellung mithilfe der Plugins Snap! Submissions und Response template umgesetzt.

Dabei nehmen die Lernenden zu folgenden Leitfragen Stellung:

1) Welche Blöcke hast du ausprobiert?
Füge entsprechende Bildschirmfotos ein und beschreibe kurz, was diese Blöcke bewirken.

2) Welche Wörter hast du untersucht?
Schreibe die von dir eingegebenen Wörter ein und notiere das vom Computer errechnete Ergebnis.

3) Bei welchen Beispielen haben dich die Ergebnisse überrascht? Was hat deinen Erwartungen entsprochen?
Nenne konkrete Beispiele.

4) Welches Ergebnis aus all deinen Versuchen findest du am spannendsten? Weshalb?
Beschreibe es in eigenen Worten und füge ein Bildschirmfoto ein.

5) Wie würdest du einem Kind erklären, wie Word embeddings funktionieren?
Verwende eine einfache Sprache, um die Technik hinter deinen Versuchen zu erklären.

Bemerkungen

Obwohl für die Umsetzung der Lerneinheit die Snap!-Programmierumgebung im Zentrum steht, liegt der Fokus nicht auf der Programmierung – diese wird in Form einer sogenannten Mikrowelt (nur wesentliche Blöcke sind sichtbar) zu Verfügung gestellt. Damit können zwei Zielsetzungen umgesetzt werden:

1) Die Schülerinnen und Schüler lernen die Grundlage einer wichtigen Technik kennen, die bei Suchmaschinen und Sprachmodellen zum Einsatz kommt: Worteinbettungen als informatorisches Konzept.

2) Die Schülerinnen und Schüler „rechnen“ mit Sprache und lernen dabei mehr über die Zusammenhänge zwischen einzelnen Begriffen (mediendidaktischer Ansatz).

Dabei ist die Erweiterung zur gesteuerten Abbildung von Begriffen aus dem multidimensionalen Vektorraum in die Ebene von zentraler Bedeutung: Denn die einschlägige Literatur zeigt zwar die Grundprinzipien der Beziehungen von Begriffen auf, verwendet dabei aber meist fabrizierte Beispiele, statt diese aus den vorhandenen Daten anschaulich zu berechnen.

 

 

„Game of Life“ und emergentes Verhalten

Das von John Conway 1970 entwickelte „Game of Life“ soll im Medien- und Informatikunterricht als Beispiel dienen, um für Schülerinnen und Schüler der Sekundarstufe I emergentes Verhalten sichtbar zu machen.

Game of Life

Das „Game of Life“ ist auf verschiedensten Webseiten und in vielen Publikationen hervorragend dokumentiert, weshalb hier auf eine Beschreibung des zellulären Automaten selbst verzichtet wird. Wer mehr darüber wissen möchte, sei auf die Webseite ConwayLife.com verwiesen.

Das Programm

Weil das „Game of Life“ so gut dokumentiert ist, eignet es sich besonders gut, um eine Version mittels Vibe Coding zu erstellen, die eine Reihe von Bedingungen erfüllt, die für den Unterricht besonders hilfreich sind.

Hier kann das Programm „Conway’s Game of Life“ ausprobiert werden.

Das Programm selbst besteht aus drei Teilen: Regeln und Muster, Übung und Simulation.

Regeln und Muster

Unter dem Reiter „Regeln und Muster“ wird das Spiel eingeführt, die Regeln erklärt und einige typischen Muster vorgestellt.

Conway's Game of Life: Erklärungen und Muster

Übung

Unter dem Reiter „Übung“ können die Schülerinnen und Schüler die jeweils nächsten Schritte zu einer Reihe von vorgegebenen Mustern „berechnen“, indem sie die Regeln manuell anwenden, oder sich die einzelnen Schritte zeigen lassen.

Conway's Game of Life: Übung

Simulation

Unter dem Reiter „Simulation“ ist es möglich, eigene Figuren zu entwerfen und deren Entwicklung zu verfolgen.

Conway's Game of Life: Simulation

Dafür bietet das Programm eine Reihe von interessanten Funktionen:

Steuerung: Hier kann die Simulation schrittweise oder automatisch mit unterschiedlicher Geschwindigkeit abgespielt werden.

Gittergrösse: Die Gittergrösse kann dem zu Verfügung stehenden Bildschirm und dem zu untersuchendem Muster angepasst werden.

Zeichnen & Vorlagen: Hier können einige bekannte Muster eingefügt oder ein Zufallsmuster ausgewählt werden. Natürlich können die Schülerinnen und Schüler auch ganz eigene Muster entwerfen.

JSON Speichern / Laden: Gezeichnete Muster können an dieser Stelle gespeichert und wieder geladen werden.

Export: Beim Export ist es möglich, den aktuellen Stand der Simulation als SVG oder eine Anzahl von Simulationsschritten als animiertes SVG zu speichern.

Einsatz im Unterricht

Im Unterricht wurde zuerst kurz mit den Schülerinnen und Schülern besprochen, wie aus einfachen Regeln komplexes Verhalten entstehen kann (Emergenz) und dann das Video „Auf den Spuren des ‚Spiels des Lebens‘“ aus der Reihe Mathewelten geschaut (bis 30.11.2028 auf SRF).

Der Hauptteil der Lektion bestand aus der Arbeit mit dem vorgestellten Programm in den Schritten „Regeln & Muster“, „Übung“ und „Simulation“, wobei letzterer Schritt den Hauptteil der Lektion umfasste.

Zum Abschluss tauschten die Schülerinnen und Schüler ihre besten Beispiele als animierte SVGs über eine entsprechende Datenbankaktivität in Moodle aus.

Dabei wurden unterschiedliche Strategien sichtbar: Während einige Schülerinnen und Schüler systematisch die zu Verfügung stehenden Beispiele ausprobierten, experimentierten andere frei. Einige beschränkten sich dabei auf einfache Figuren, andere begannen mit einer grösseren Pixelgrafik und wollen herausfinden, was mit dieser in der Simulation passierte.

Weshalb Emergenz?

Das „Game of Life“ ist unbestritten eine spannende Simulation, trotzdem stellt sich die Frage, weshalb Emergenz im Unterricht der Sekundarstufe I überhaupt ein Thema sein soll.

Die Antwort darauf liegt in der Entwicklung der künstlichen Intelligenz in den letzten Jahren, insbesondere bei den grossen Sprachmodellen (LLMs). Diese basieren ja auch auf relativ einfachen Rechenschritten, die aber in ihrer Gesamtheit weit mehr können als die blosse Summe ihrer Teile (siehe dazu „Characterizing Emergent Phenomena in Large Language Models„).

In dieser Hinsicht ist die Beschäftigung mit dem „Game of Life“ ein vergleichsweiser überschaubarer Schritt hin zu einem zumindest teilweisen Verständnis dafür, wie die grossen Sprachmodelle funktionieren.

Warum Moodle?

In „Digitale Lernplattformen in der Volksschule“ beschreiben Beat Döbeli und seine Mitautoren die Auswirkungen der Nutzung von Lernplattformen auf den Unterricht. Dabei wird auch Moodle (S. 43) mehrmals erwähnt. Da Moodle gemäss den Autoren jedoch „vorwiegend in den Hochschulen eingesetzt“ wird (S. 39), verzichtet der Bericht auf eine nähere Beschreibung der Plattform, obwohl es sich dabei um das weltweit am häufigsten eingesetzte Learning Management System (LMS) handelt. Stattdessen werden im Kapitel 5.5 die Plattformen Microsoft Teams for Education (weit verbreitet an den Volksschulen der Schweiz), LearningView (eine Eigenentwicklung der PH Schwyz) und das seit 2020 eingestellte educanet² vorgestellt. Insbesondere bei der letztgenannten Plattform ist schwer nachvollziehbar, weshalb diese Aufnahme in die Publikation gefunden hat, richtet sich diese doch an Entscheidungsträger (S. 6).

Ausserdem fällt auf, dass alle drei Plattformen auf dem sogenannten „closed-source“-Modell beruhen. Diese eingeschränkte Sichtweise wird durch eine Argumentation untermauert, welchen kommerziellen Anbietern attestiert, agiler und effizienter agieren zu können als staatlichen. So werden öffentliche Werkzeuge als „kaum bekannt, weniger benutzerfreundlich … oder schlicht ungewohnt im Vergleich zu etablierten Lösungen“ beschrieben (S. 99) und im Vergleich wird staatlich entwickelten Lösungen geringere Kompetenzen und Anreize für Innovation nachgesagt (ebenfalls S. 99). Auch wenn Aussagen wie Lehrpersonen beklagten, „Dass staatliche Lösungen zu wenig nutzungsfreundlich seien“ (S. 103) als Drittaussagen portiert werden, können diese in einem schulischen Umfeld durch den Bericht bestehende Vorurteile verstärken.

Dabei führt die Publikation durchaus starke Argumente zur Problematik des Einsatzes kommerzieller Plattformen an. Dazu gehören Lock-in Effekt (S. 17), Enshittifaction (S. 35), Datenschutz (S. 57), keine oder fehlende Anpassung an lokale Gegebenheiten (S. 50) und Preiserhöhungen (S. 93).

Gerade weil Moodle in den Volksschulen der Schweiz noch wenig Verbreitung gefunden hat, der Einsatz im Ausland aber durchaus zeigt, dass die Plattform sich auch für diese Schulstufe eignet und die Entwicklung in den letzten Jahren sehr dynamisch verläuft – im Bericht wird unter anderem mebis erwähnt (S. 40) [Anm. unterdessen ByCS] , soll hier anhand der im Bericht verwendeten Systematik detailliert auf die Plattform Moodle eingegangen werden und die dort fehlenden Informationen ergänzen.

Charakterisierung von Moodle (nach der Systematik von Döbeli, S.  44f.)

Pädagogische und inhaltliche Perspektive

Bildungsspezifität: Moodle wurde 2002 von Martin Dougiamas für den E-Learning Einsatz entwickelt und kann durch zahlreiche Plugins erweitert werden. Unterdessen gibt mit Moodle Workplace auch einen kommerziellen Ableger für Unternehmungen, das Augenmerk verschiebt sich aber zunehmend auch in Richtung Volksschule.

Unterstützung von Lehr- und Lernszenarien: Moodle (Modular Object-Oriented Dynamic Learning Environment) unterstützt verschiedenste Lehr- und Lernszenarien. Diese können durch die vorhandenen Erweiterungen weiter verfeinert werden. Solche Anpassungen können auch von Einzellehrpersonen durchgeführt werden (siehe weiter unten: Moodle Community). In den Standardeinstellungen ist Moodle jedoch vor allem ein Werkzeug, mit denen Lehrpersonen die Lerntätigkeit der Schülerinnen und Schüler organisieren.

Erstellung von Lerninhalten: Für das Erstellen von Lerninhalten benötigt man die entsprechende Berechtigung. Lernende können Inhalte standardmässig via Module wie Forum, Wiki und Datenbankaktivtäten publizieren. Technisch ist es aber auch möglich, Lernenden alle Berechtigungen zu erteilen, über die auch Lehrende verfügen (auch wenn das selten geschieht).

Adaptierbarkeit von Lerninhalten: Für die Anpassung von Lerninhalten gelten die gleichen Voraussetzungen wie für das Erstellen von Lerninhalten.

Teilbarkeit von Lerninhalten: Lerninhalte werden in Moodle in Kursen organisiert. Diese und Teile davon können in Moodle geteilt und auch extern weitergegeben werden.

Bildungspolitische Perspektive

Curriculare Passung: Da die Inhalte von Moodle von den Benutzenden selbst erstellt werden, ist die Passung davon abhängig, wie gut der Lehrplan inhaltlich abgebildet wird. Technisch ist es möglich, die Kompetenzen des Lehrplans in Moodle zu hinterlegen, dies scheitert jedoch daran, dass der Import des Lehrplans 21 von den Verantwortlichen technisch erschwert wird.

Qualitätsprüfung: Die inhaltliche Qualitätsprüfung muss durch die Personen gewährleistet werden, die Materialien zu Verfügung stellen, auch wenn es unterdessen Lehrmittelverlage oder Pädagogische Hochschulen gibt, die Materialien für Moodle zu Verfügung stellen. Die technische Qualität wird durch den Anbieter (Institution, SaaS) gewährleistet. Rechtlich liegt die Verantwortung bei den Betreibenden.

Nutzungsvorgabe/-empfehlungen: Auf der Volksschulstufe der Deutschschweiz wird Moodle punktuell eingesetzt. Es gibt keine allgemeinen Vorgaben oder Empfehlungen.

Daten-Souveränität: Wenn Moodle lokal betrieben wird, lässt sich die Nutzung der Daten vollständig kontrollieren. Mit der MoodleBox gibt es sogar die Möglichkeit, Moodle komplett ohne Internetanbindung zu verwenden.

Technische Perspektive

Instanziierung: Da Moodle quelloffen ist und frei verwendet werden darf, kann die Plattform lokal, regional und national betrieben werden. Moodle kann von einer einzelnen Lehrperson ebenso auf einem Server aufgesetzt werden, wie auf Instanzen, die Hundertausende (z.B. ByCS, Open University) oder Millionen (Betreiber in China) von Nutzern umfassen.

Lizenzierung: Moodle ist Open Source und kann damit von allen, welche über das technische Wissen verfügen angepasst und weiterentwickelt werden.

Interoperabilität: Moodle verfügt über mehrere Interoperabilitätsstandards wie SCORM, LTI und xAPI sowie verschiedene Import- und Exportformate z.B. für das Testmodul. Ausserdem können weitere Schnittstellen durch Plugins geschaffen werden (Produkte von Microsoft, Google, …).

Rechtliche Perspektive

Datenschutz: Moodle erfüllt die Vorgaben der DSGVO. Wo die Datenspeicherung stattfindet, entscheiden die Betreibenden.

Barrierefreiheit: Moodle legt grossen Wert auf Barrierefreiheit. Wie gut diese im konkreten Fall umgesetzt wird, hängt aber stark von den von Lehrpersonen erstellten Inhalten ab.

Moodle Community

Moodle zeichnet sich nicht nur durch die technische Offenheit aus, sondern verfügt auch über eine äusserst aktive Gemeinschaft, welche Moodle nicht durch technisch, sondern dessen Einsatz auch didaktisch und pädagogisch weiterentwickelt.

So gibt es verschiedenste jährliche Zusammenkünfte von der lokalen bis auf die internationale Ebene. Regional führt beispielsweise der Kanton St. Gallen jährlich ein Barcamp und einen Moodle-Impuls durch. Im Kanton Zürich finden Online-Treffen über den Digital Learning Hub Sek II statt. National und international werden jährlich mehrere MoodleMoots veranstaltet. Und im DACH-Raum trifft sich jeden Donnerstagabend die Moodlebande, ein durch Private organisierter Online-Austausch, an dem eine breite Palette von Fragen diskutiert und Neuentwicklungen vorgestellt werden.

Auch Moodle selbst bietet mit Foren in verschiedenen Sprachen eine wertvolle Austauschmöglichkeit an, bei der Fragen meist sehr wohlwollend und grossen Engagement von meist Freiwilligen beantwortet und diskutiert werden. Dabei können insbesondere mit Moodle noch nicht so vertraute Personen von teilweise mehr als 20-jähriger Erfahrung von Expertinnen und Experten profitieren.

Darüber hinaus ist es auch möglich, Entwickler direkt zu kontaktieren. Sei dies über das entsprechende Jira-Board oder bei Plugins meist über Github.

Moodle aus persönlicher Sicht

Mein erster Kontakt mit Moodle fand 2004 im Rahmen einer Weiterbildung an der FHNW statt. Seit 2007 setze ich Moodle im Unterricht ein.

Während viele Systeme im Laufe dieser langen Zeit entwickelt wurden und auch wieder verschwanden, hat sich Moodle als zuverlässige Konstante erwiesen, die nachhaltig (Aufwand für Lehrperson) eingesetzt werden kann und sich den Anforderungen eines sich verändernden und weiterentwickelnden Unterrichts gut angepasst hat.

Natürlich gab es zwischendurch seitens von Moodle Entwicklungen, welche sich im Nachhinein als Fehler erwiesen, durch den engen Kontakt mit den Nutzenden und die Beiträge vieler Freiwilliger wurden viele davon aber meist in relativer kurzer Zeit wieder korrigiert oder konnten durch lokale Anpassungen abgefedert werden.

Was ich aber an Moodle am meisten schätze, ist die Möglichkeit, meine pädagogischen Vorstellungen in Moodle weitgehend umsetzen zu können, ohne dass mich das System in wesentlichen Aspekten einschränkt. Denn wenn einmal eine entsprechende technische Voraussetzung fehlt, dann kann diese über ein bestehendes Plugin nachgerüstet oder durch den Einsatz von relativ wenig Code im Frontend ermöglicht werden. Gerade dieser Aspekt gewinnt mit der Entwicklung von KI-Sprachmodellen, die in Bezug auf Programmierung immer leistungsfähiger werden, an Bedeutung.

Die Zukunft

Das Betreiben einer Moodle-Instanz wird auch in Zukunft an technisches Wissen gebunden bleiben, weshalb Schulen entweder auf einen externen Anbieter zurückgreifen oder das dazu notwendige Wissen intern aufbauen sollten.

Pädagogisch öffnet der Einsatz von Moodle in Kombination mit zunehmend besseren Modellen des maschinellen Lernens Möglichkeiten, deren Ansätze aktuell an innovativen Schulen bereits im Einsatz aber bei weitem noch nicht ausgeschöpft sind. Diese gehen weiter darüber hinaus, was mit Learnings Analytics und Datafication aktuell eher kritisch gesehen und vielleicht in Dialogen von Lernenden mit grossen Sprachmodellen nie perfekt umzusetzen sein wird.

Als Lehrperson müssen wir uns zunehmend die Frage stellen, inwieweit es unser Vorstellungsvermögen ist, welches uns darin einschränkt, Lernszenarien erfolgreich mit Lernenden umzusetzen. Anpassbare Plattformen wie Moodle werden uns dabei in Zukunft kaum mehr einschränken, weil es immer einfacher wird, technische Hürden zu überwinden und umgangssprachlich formulierte Vorstellungen programmtechnisch umzusetzen.

Testresultate in Moodle auswerten

Das Testmodul von Moodle bietet diverse statistische Auswertungen an, diese beziehen sich jedoch auf den Test selbst oder geben einen Überblick der Gesamtergebnisse. In der Schule ist es aber häufig wichtig, Einzelergebnisse von Schülerinnen und Schülern einordnen zu können.

Histogramm der Ergebnisse eines Moodletests
Die Ergebnisse eines Moodle-Tests werden standardmässig als Histogramm dargestellt.

Am Beispiel eines an den Salzburger Lesetest angelehnten Test, soll gezeigt werden, wie mit wenig Aufwand, Prozentränge von Testresultaten berechnet und diese den interessierten Lehrpersonen zu Verfügung gestellt werden können.

Datengewinnung

Die Ergebnisse eines Moodle-Tests können unter Ergebnissen direkt in verschiedenen Formaten heruntergeladen werden.

Downloadoption in einem Moodletest
Für den Download von Daten stehen verschiedene Formate zu Verfügung.

In den meisten Fällen reicht diese Möglichkeit aus. Absolvieren aber verschiedene Klassen denselben Test, sollte die Gruppenzuordnung mit im Export gespeichert werden. Dies ist mithilfe des Plugins Ad-hoc database queries möglich. Damit können eigene Datenbankabfragen programmiert und unterschiedlichen Personen (via Rollen) zu Verfügung gestellt werden.

SELECT 
u.firstname,
u.lastname,
ROUND((qa.sumgrades / qz.sumgrades) * qz.grade, 2) AS final_grade,
GROUP_CONCAT(g.name SEPARATOR ', ') AS group_names
FROM {course_modules} cm
JOIN {quiz} qz ON cm.instance = qz.id
JOIN {quiz_attempts} qa ON qa.quiz = qz.id
JOIN {user} u ON qa.userid = u.id
LEFT JOIN {groups_members} gm ON u.id = gm.userid
LEFT JOIN {groups} g ON gm.groupid = g.id AND g.courseid = qz.course
WHERE cm.id = :itemid
AND cm.module = (SELECT id FROM {modules} WHERE name = 'quiz')
AND qa.state = 'finished'
GROUP BY qa.id, qa.quiz, qa.userid, u.firstname, u.lastname, u.email, qa.attempt, qa.timestart, qa.timefinish, qa.timemodified, qa.state, qa.sumgrades, qz.grade
ORDER BY u.lastname, u.firstname, qa.attempt

Als Eingabeparameter benötigt die Abfrage nur die ID der Quizaktivität. Diese findet man in der URL des Browsers: …/moodle/mod/quiz/view.php?id=XXXX. Die durch den Report generierte Tabelle kann als CSV-Datei exportiert werden.

Exportergebnisse des Reports (ohne Namen)
Die Namen und Gruppen wurden aus der generierten Tabelle entfernt.

Datenauswertung

Für die Auswertung der CSV-Datei wurde mit Clause-Sonnet-4 eine entsprechende Webseite programmiert, in welche die CSV-Datei hochgeladen, kopiert oder per URL importiert werden kann. Da die Webseite auch einen Musterdatensatz enthält, kann deren Funktionalität direkt ausprobiert werden: CSV Percentile Rank Calculator.

Webseite zur Berechnung des Prozentrangs von Ergebnissen aus einem Moodletest.
Die Daten in der Tabelle können sortiert und gefiltert werden.

Die Ergebnisse können nach den unterschiedlichen Kriterien (Vorname, Nachname, Ergebnis, Prozentrange und Gruppe) sortiert und nach Gruppen und Prozentrangbereichen gefiltert werden. Damit ist es möglich auch bei einer grösseren Schüleranzahl die interessierenden Ergebnisse zu sichten.

Verwendung im Unterricht

Nach einem längeren Unterbruch haben wir in diesem Schuljahr wieder einmal die Lesegeschwindigkeit und -genauigkeit mittels eines an den Salzburger Lesetest angelehnten Moodle-Test durchgeführt. In der Vergangenheit hatten sich solche Ergebnisse bei neu eintretenden Schülerinnen und Schülern als wertvoll erwiesen, da wir so Hinweise auf einen möglichen Förderbedarf eruieren konnten.

Während früher die Auswertung mittels des Statistikprogramms R erfolgte, bietet die verlinkte Webseite nun eine einfache Möglichkeit, sich schnell einen Überblick der Prüfungsergebnisse zu verschaffen. Dabei sind folgende Fragestellungen relevant:

  • Gibt es Lernende mit untypischen Ergebnissen? Beispielsweise Schülerinnen und Schüler des Grundniveau, welche in diesem Test und anderen Bereichen überdurchschnittlich gut abschneiden?
  • Gibt es Schülerinnen und Schüler mit tiefen Prozenträngen, die noch keinen DaZ-Unterricht erhalten?

Solche Fragestellungen können mithilfe der Datenlage beantwortet und anschliessend entsprechende Massnahmen auf institutioneller oder individueller Ebene aufgegleist werden.