Warum untersuche Dialog Cards im Detail?
In meinem letzten Beitrag habe ich moniert, dass die Anzahl der Wiederholungen bei H5P Dialog Cards nicht richtig berechnet wird. Inzwischen habe ich von Oliver Tacke, der diesen neuen Teil von Dialog Cards programmiert hat, korrigierende Informationen dazu bekommen.
In einem öffentlichen Hinweis über Twitter verweist mich Oliver auf drei Links:
Ehrlich gesagt bin ich aber aus den Informationen dieser drei Seiten nicht recht klug geworden. Die Erklärungen im H5P Ticket System, als auch die etwas ausführlichere Diskussion im Forum waren mir zu abstrakt. Und dieser für mich zu hohe Abstraktionsgrad betrifft in noch stärkerem Ausmaße den Programmcode selbst.
Ich brauche ein konkretes Beispiel, um die verschiedenen Durchläufe (Runden) von Dialog Cards im Detail nachvollziehen zu können. Ich möchte verstehen wann und warum Karten – in Abhängigkeit davon ob sie falsch oder richtig beantwortet wurden – präsentiert werden.
Erst nachdem Oliver mir an meinem eigenen Beispiel demonstriert hat, wie der Algorithmus von Dialog Cards im Detail arbeitet, habe ich es verstanden. Nachfolgend versuche ich diese Informationen für andere H5P Nutzer*innen – die vielleicht ebenfalls damit Schwierigkeiten haben – ausführlich aber hoffentlich verständlich zusammenzufassen.
Dialog Cards im Detail: Zwei Beispiele Schritt für Schritt erklärt
Bei den beiden folgenden Beispielen bin ich jeweils von 5 Karten ausgegangen: C1, C2, C3, C4 und C5. Außerdem habe ich im Feld "Nicht gewusste Karten wiederholen" die Zahl 3 eingetragen.
Wie sich nun zeigt, besteht hier gleich das erste große Missverständnis. Statt dieser deutschen Übersetzung wäre es besser eine dem englische Original "Proficiency Level" (im Folgenden mit PL abgekürzt) näherliegende Übersetzung zu verwenden. Ich würde "Proficiency Level" mit "Übungsniveau" oder vielleicht noch neutraler mit "Übungsstand" übersetzen.
Dialog Cards im Detail: Erstes Beispiel
Beim ersten Beispiel bin ich davon ausgegangen, dass immer alle Karten richtig beantwortet werden.
Round # | Comments | |||||
---|---|---|---|---|---|---|
==1== | C1 | C2 | C3 | C4 | C5 | Card names |
PL1 | ✅ | ✅ | ✅ | ✅ | ✅ | PL = Proficiency Level: All cards start at PL1. |
PL2 | ⎯ | ⎯ | ⎯ | ⎯ | ⎯ | empty at start |
PL3 | ⎯ | ⎯ | ⎯ | ⎯ | ⎯ | Chosen max. proficiency level = 3; empty at start |
Show cards | ✅ | ✅ | ✅ | ✅ | ✅ | All cards at PL1 will always presented randomly to learners - |
Answer | ✅ | ✅ | ✅ | ✅ | ✅ | All cards answered correctly |
==2== | As all cards are answered correctly: All cards move from PL1 to PL2 | |||||
PL1 | ⎯ | ⎯ | ⎯ | ⎯ | ⎯ | empty |
PL2 | ✅ | ✅ | ✅ | ✅ | ✅ | Important: A card in a certain PL higher than 1 does not necessarily mean that it will be presented! PL present 1/1, PL2 only ½, PL3 only ⅓ etc. |
PL3 | ⎯ | ⎯ | ⎯ | ⎯ | ⎯ | PL3 still empty |
Show cards | ✅ | ✅ | ✅ | ✅ | ✅ | All cards presented in a random order |
Answer | ✅ | ✅ | ✅ | ✅ | ✅ | All cards answered correctly |
==3== | As all cards are answered correctly: All cards move from Pl2 to PL3. Important: PL2 becomes PL1! As always all cards in PL1 will be presented therefore all cards from PL2 (= now PL1!) will be presented! | |||||
PL1 | ⎯ | ⎯ | ⎯ | ⎯ | ⎯ | empty |
PL2 | ⎯ | ⎯ | ⎯ | ⎯ | ⎯ | empty |
PL3 | ✅ | ✅ | ✅ | ✅ | ✅ | All cards have reached the chosen level of proficiency. Therefore stop! This explains the discrepancy that chosen PL3 has only two repetitions. |
Dieses einfache Beispiel brachte für mich die Diskrepanz, dass es statt drei nur zwei Wiederholungen gab. Wenn jedoch von einem Übungsstand 3 ausgegangen wird, dann ist es verständlich, wenn mit Übungsstand 1 aufgehört wird. Es wird also von drei (oder welcher Zahl auch immer) bis auf eins herunter gezählt.
Eine Wiederholung würde sinnvoll sein aber Übungsstand 1 ist nach diesem System daher völliger Unsinn: Es ist dann bereits der höchste Übungsstand erreicht und es werden daher überhaupt keine Karten präsentiert. Aber auch Übungsstand 2 macht noch recht wenig Sinn: Wenn alles richtig eingegeben wird, dann ist H5P Dialog Cards mit einer einzigen Präsentation (= 0 Wiederholungen!) bereits beendet. Deshalb wird Übungsstand 1 und 2 richtigerweise verboten.
Dialog Cards im Detail: Zweites Beispiel
Im zweiten Beispiel bin ich ebenfalls von einem Übungsstand 3 bei 5 Karten ausgegangen. Diesmal aber wird in der ersten Runde Karte 1 und 2 falsch beantwortet. In der zweiten Runde werden alle präsentierten Karten mit Ausnahme der Karte 1 richtig beantwortet. "Präsentiert" habe ich hier hervorgehoben, weil auf PL2 nurmehr die Hälfte der bereits einmal gewussten Karten präsentiert werden.
Round # | Comments | |||||
---|---|---|---|---|---|---|
==1== | C 1 | C 2 | C 3 | C 4 | C 5 | Card names |
PL1 | ✅ | ✅ | ✅ | ✅ | ✅ | PL = Proficiency Level: All cards start at PL 1. |
PL2 | ⎯ | ⎯ | ⎯ | ⎯ | ⎯ | empty at start |
PL3 | ⎯ | ⎯ | ⎯ | ⎯ | ⎯ | Chosen max. proficiency level = 3; empty at start |
Show cards | ✅ | ✅ | ✅ | ✅ | ✅ | All five cards from PL1 presented randomly to learners. |
Answer | ❌ | ❌ | ✅ | ✅ | ✅ | C1, C2 wrong. Other cards answered correctly |
==2== | Only cards answered correctly go to next PL | |||||
PL1 | ✅ | ✅ | ⎯ | ⎯ | ⎯ | C1, C2 remain at PL1 |
PL2 | ⎯ | ⎯ | ✅ | ✅ | ✅ | C3, C4, C5 answered correctly and rise to next PL |
PL3 | ⎯ | ⎯ | ⎯ | ⎯ | ⎯ | PL3 still empty |
Show cards | ✅ | ✅ | ✅ | - | ✅ | Taken 1/1 (100%) from PL1 = C1 and C2. ½ (50%) from PL2, rounded up = two cards randomly chosen, e.g., C3 and C5. This explains my mentioned "erratic behavior". |
Answer | ❌ | ✅ | ✅ | ⎯ | ✅ | C1 still wrong, C4 not presented. |
==3== | Round 3 starts with a combination of all three PLs. | |||||
PL 1 | ✅ | ⎯ | ⎯ | ⎯ | ⎯ | C1 twice answered wrongly therefore still at PL1. |
PL 2 | ⎯ | ✅ | ⎯ | ✅ | ⎯ | C2 answered correctly therefore rises from PL1 to PL2. C4 was not presented, therefore still at PL2. |
PL 3 | ⎯ | ⎯ | ✅ | - | ✅ | C3, C5 twice in a row answered correctly. They rise therefore from PL2 to PL3. This is the max PL3. Therefore: C3 and C5 will not shown anymore! |
Show cards | ✅ | ✅ | All cards at PL1 are shown. Only C1 is still at PL1. PL2 shows 50%. PL2 has two cards: C2 and C4. One of these two cards will be shown randomly, e.g. C4. | |||
Answer | ✅ | ✅ | C1 rises from PL1 to PL2; C4 from PL2 to PL3 and will not be shown anymore. | |||
==4== | In round 4 PL1 is empty. We have only C1 and C2, both at PL2. But PL2 is now the first level, meaning aLL cards from the the first level will be presented! Assuming we will answer both cards correctly, then Dialog Cards is finished and will stop. |
Die Situation in diesem zweiten Beispiel ist komplexer. Aber mit denselben Regeln, die ich unten zusammenfasse, nun relativ einfach nachvollziehbar.
Das Regelset von Dialog Cards
- Wird eine Karte richtig beantwortet, steigt sie von einem Übungsstand zum nächsten auf.
- Erreicht eine Karte den höchsten Übungsstand wird sie nicht mehr angezeigt.
- Wieviele Karten präsentiert werden richtet sich nach ihrem Übungsstand. Auf PL1 immer alle, auf PL2 die Hälfte, auf PL3 ein Drittel usw. Bei der Berechnung wird immer aufgerundet.
- Welche Karten aus dem Pool des jeweiligen Übungsstands präsentiert werden, lässt sich nicht sagen. Sie werden zufällig ausgewählt.
- Ist PL1 leer, dann wird PL2 zu PL1 und es werden alle Karten aus diesem Übungsstand präsentiert.
Rückblickend muss ich gestehen, dass bei den eingangs erwähnten Links ziemlich genau dieses Regelset beschreiben wird. Aber ich habe es erst jetzt verstanden und nachvollziehen können 😥.
Beschriftungsvorschlag für das Dialog Cards-Formular
Es hat sich gezeigt, dass die deutsche Übersetzung sehr verwirrend ist. Die Übersetzer*innen sind offensichtlich – wie ich – davon ausgegangen, dass das traditionelle System der Flashcards simuliert wird. Aber auch die englische Originalfassung spricht von "Repetitions".
Ich schlage daher an zwei Stellen bei zwei Stellen im Formular für Dialog Cards textliche Änderungen vor:
Änderungsvorschlag im deutschen Formular
Änderungsvorschlag im englischen Formular
Warum nicht komplettes Aussetzen bei den zeitlich verteilten Wiederholungen?
Nachdem ich jetzt den Algorithmus von Dialog Cards im Detail nachvollziehen habe können, stellt sich die Frage: Warum so kompliziert? Warum nicht einfach gleich "richtig" Flashcard nach dem Leitner-System umsetzen?
Wäre es nicht einfacher statt ½, ⅓, ¼ der gewussten Karten darzubieten (also je nach dem Pool des Übungstands, in dem sich die Karten befinden), einfach ganze Runden mit der Präsentation komplett auszusetzen? Also je nach dem Übungsstand eine Runde, zwei Runden, drei Runden etc. die gewussten Karten aus diesem Pool überhaupt nicht zu präsentieren?
Regelset des Leitner-Systems
Zum weiteren Verständnis muss unterschieden werden: Lernrunden und Kartenpools.
Lernrunden
Beim Leitner-System wird – unter der Annahme, dass täglich gelernt wird – eine Lernrunde mit einem Tag gleich gesetzt. Wobei jedes Aufsteigen in einem höheren Pool die Zeit der Nicht-Präsentation verdoppelt. Also z.B. werden Karten aus dem Pool2 für zwei Tage, aus dem Pool3 für vier Tage, aus dem Pool4 für acht Tage ausgesetzt. Das wird bei den meisten System bis 32 oder gar 64 Tage fortgesetzt.
Das lässt sich so mit Dialog Cards wahrscheinlich so nicht realisieren. Es müsste dann nämlich eine App automatisch jedenTag entsprechende Karten präsentieren. Aber wir können eine Lernrunde mit dem Aufrufen der Dialog Cards durch die Benutzer*innen definieren. Dabei ist es dann egal ob Karten zweimal am Tag oder nur jeden zweiten Tag wiederholt werden.
Kartenpools
Die Anzahl der Kartenpools richtet sich nach dem gewählten maximalen Übungsniveau, also z.B. bei Übungsniveau 3 gibt es drei Kartenpools. Pool1, Pool2, Pool3.
Karten aus dem Pool1 werden jede Lernrunde präsentiert. Karten aus dem Pool2 jede zweite Lernrunde, Karten aus dem Pool3 jede dritte Lernrunde usw. Es gilt dann
Algorithmus nach dem Leitner-System
- Wird eine Karte gewusst, wandert sie in den nächst höheren Pool.
- Wird eine Karte nicht gewusst, fällt sie zurück. Es gibt hier zwei Varianten: Entweder die Karte stürzt komplett ab, kehrt also wieder an den Start (Pool1) zurück. Oder die fällt bloß einen Pool zurück. (Zurück zum Startpunkt ist natürlich die didaktisch "härtere", d.h. intensivere Version.)
- Bei jeder Lernrunde wird festgehalten, wie oft eine Karte entsprechend ihrer Pool-Nummer aussetzen muss und wie oft sie davon bereits ausgesetzt hat.
- Außerdem gibt es noch die Variante: Wird eine Karte beim aller ersten Mal gewusst, wird sie überhaupt nicht mehr präsentiert. Die Idee dahinter ist, dass beim ersten Aufruf von Dialog Cards die darin abgefragte Information schon lange vorher gelernt und memorisiert, d.h. in Langzeitgedächtnis übergangen ist.
Dialog Cards im Detail nach dem Leitner-System
Weil Beispiel 1 trivial ist, zeige ich die Vorgangsweise Schritt für Schritt nur am Beispiel 2. Also fünf Karten: C1, C2, C3, C4 und C5. In der ersten Lernrunde wird C1 und C2 falsch beantwortet, in der zweiten Lernrunde nur C1. Sonst sind alle Antworten in allen Runden richtig. Dann ergibt sich:
Round # | Comments | |||||
---|---|---|---|---|---|---|
==1== | C 1 | C 2 | C 3 | C 4 | C 5 | Card names |
PL1 | ✅ | ✅ | ✅ | ✅ | ✅ | PL = Proficiency Level: All cards start at PL1. |
PL2 | ⎯ | ⎯ | ⎯ | ⎯ | ⎯ | empty at start |
PL3 | ⎯ | ⎯ | ⎯ | ⎯ | ⎯ | Chosen max. proficiency level = 3; empty at start |
Show cards | ✅ | ✅ | ✅ | ✅ | ✅ | All cards presented randomly to learners |
Answer | ❌ | ❌ | ✅ | ✅ | ✅ | C1, C2 wrong. Other cards answered correctly |
==2== | Only cards answered correctly go to next PL | |||||
PL1 | ✅ | ✅ | ⎯ | ⎯ | ⎯ | C1, C2 remain at PL1 |
PL2 | ⎯ | ⎯ | ✅ | ✅ | ✅ | C3, C4, C5 answered correctly and rise to next PL |
PL3 | ⎯ | ⎯ | ⎯ | ⎯ | ⎯ | PL3 still empty |
Show cards | ✅ | ✅ | - | - | - | Only Cards from PL1 are presented. Cards from PL2 are paused one round and only presented in second future round |
Answer | ❌ | ✅ | ⎯ | C1 still wrong, C2 answered corrctly. | ||
==3== | Round 3 starts with a combination of all three PLs. | |||||
PL1 | ✅ | ⎯ | ⎯ | ⎯ | ⎯ | C1 is still at PL1 and will be presented |
PL2 | ⎯ | ✅ | ✅ | ✅ | ✅ | C2 is now in PL2, but C2 has to pause. C3, C4, C5 terminate their pause and will be presented. |
PL3 | ⎯ | ⎯ | ⎯ | - | ⎯ | PL3 is still empty! |
Show cards | ✅ | ✅ | ✅ | ✅ | With the exception of C2, all cards will be presented. C1 because it is still at PL1, C3, C4, C5 because they have already paused once and will now presented again. | |
Answer | ✅ | ✅ | ✅ | ✅ | This time all presented cards are answered correctly. | |
==4== | C3, C4, and C5 have reached their final level and are retired. They will not be shown anymore. C1 is known the first time and will rise to PL2 where it meets C2. C2 has already paused once and has to be presented in this round. | |||||
PL1 | ⎯ | ⎯ | ⎯ | ⎯ | ⎯ | PL1 is now empty. |
PL2 | ✅ | ✅ | ⎯ | ⎯ | ⎯ | C1 comes from PL1 and has to pause. C2 has already paused and will be shown. |
PL3 | ⎯ | ⎯ | ✅ | ✅ | ✅ | C3, C4, C5 have reached their final level and will not be shown anymore. |
Show cards | ✅ | C2 has already paused once and will be shown in this round. | ||||
Answers | ✅ | C2 is answered correctly and will rise to level 3 and not be shown anymore. | ||||
==5== | With the exception of C1 are all cards retired. If C1 is answered correctly in the 5th round again, the Dialog Cards stops. |
Im Unterschied zur aktuellen Implementation braucht das Leitner-System bei diesem Beispiel eine Runde mehr. Nach Leitner braucht es immer mehr Runden, weil ja systematisch alle Karten im entsprechenden Pool ausgesetzt werden und nicht einige doch gleich gezeigt werden.
Zusammenfassung
Dialog Cards versus Leitner-System
Ich habe in diesem Beitrag den Wiederholungsmodus für Dialog Cards im Detail nachgezeichnet. Statt das Wort "Wiederholung" zu verwenden, ist es jedoch für das Verständnis besser von einem Übungsstand oder Übungsniveau zu sprechen. Ich habe daher textliche Änderungen in den Formularen für Dialog Cards vorgeschlagen.
Im zweiten Teil des Beitrags habe ich das Verhalten von Dialog Cards im Detail nach dem Leitner-System nachgezeichnet. Mein Fazit dabei ist: Das Leitner-System ist systematischer und logischer, weil je nach der Pool-Nummer immer alle Karten gleich behandelt werden. Im derzeitigen Algorithmus von Dialog Cards wird ja durch einen Zufallsgenerator immer ein Teil der Karten sofort wieder präsentiert, ein anderer Teil muss aussetzen. Bei vielen Karten hat das zur Folge, dass einige Karten sehr lange aussetzen und nicht abgefragt werden. Andere Karten aber – wenn sie "Glück" haben gewählt zu werden und gleichzeitig auch gewusst werden – steigen ständig auf.
Das ist nicht nur "ungerecht" vom Standpunkt der Informationskarten, sondern auch ein didaktisches Problem. Wenn Karten – bei gleich häufigen richtigen oder falschen Antwortverhalten – öfter als andere präsentiert werden, haben sie weniger Chancen in das Langzeitgedächtnis zu wechseln!
Algorithmus begrenzt Lernhoheit
Eine weitere Kritik, die beide hier vorgestellten System betrifft, möchte ich nicht verheimlichen: Selbstverantwortliche Lernende verlieren bei beiden Varianten die Kontrolle über die in jeder Runde zu lernenden Karten. Und das System funktioniert nur korrekt, wenn immer alle jener Karten, die in der aktuellen Runde zu präsentieren sind, auch tatsächlich aufgerufen werden. Lernenden wird damit vom Algorithmus ein Rhythmus aufgezwungen, der ihre Lernhoheit einschränkt.
Es gibt dafür verschiedene Abhilfen:
- Lernenden wird erlaubt, dass sie Karten manuell in die höchste Übungsstufe einordnen können. Diese Karten werden damit aus dem laufenden Übungsprozedere herausgenommen. Das ist z.B. dann wichtig, wenn eine komplexe Information die Aufnahmefähigkeit belastet, der Sachverhalt aber selbst für die Lernenden in ihrem realen Leben ganz und gar unwichtig ist.
- Lernenden wird erlaubt, auszuwählen aus welchen Pool ihnen Karten präsentiert werden. In diesem Fall wird gänzlich von einer Erhöhung der Wartezeiten für die Kartenpräsentation mit steigender Poolnummer abgegangen. Die Karten steigen zwar weiter auf oder stürzen weiter ab; es wird jedoch nur jener Teil der Karten präsentiert, den die Lernenden durch die Wahl eines Pools ausgewählt haben. Diese letzte Variante ist aus meiner Sicht vorbildhaft von dict.cc umgesetzt worden. Es gibt auch eine Demo dieses Vorgangsweise, ohne selbst Vokabellisten anlegen zu müssen.