disengagement.fcl | ||
disengagement.js | ||
LICENSE | ||
README.md |
disengagement-controller
Ekspercki sterownik rozmyty Mamdaniego obliczający poziom zjawiska disengagement przyjmuje na wejściu dwie zmienne lingwistyczne:
- jakość nauki (learning_quality),
- czas pozostały do zamknięcia testu zaliczeniowego, liczony w momencie pierwszego wejścia do kursu (remaining_time).
Jakość nauki została zdefiniowana jako agregacja trzech zmiennych:
- średni czas spędzony w jednym elemencie kursu (time) - w proponowanym rozwiązaniu ze względu na uwarunkowania techniczne (czas spędzony w danym komponencie kursu był odnotowywany co pół minuty) zaproponowano algorytm normalizacji czasu, w którym każde pół minuty spędzone w kursie to jeden punkt - przyjęto czas maksymalny na 40 punktów (w zależności od kursu, autor może określić inny górny limit punktów), czyli 20 minut - jeśli student spędził więcej czasu, to otrzymywał również 40 punktów - tak zdefiniowany czas został znormalizowany do przedziału [0, 1],
- liczba rozwiązanych ćwiczeń w kursie (interactions) - wartość została znormalizowana do przedziału [0, 1],
- liczba elementów, których student nie odwiedził (not_visited) - jeśli student w danym komponencie spędził mniej niż pół minuty (czyli nie zdobył punktów dla zmiennej time), to komponent był oznaczany jako nieodwiedzony - wartość została także znormalizowana do przedziału [0, 1].
Jakość nauki została określona wzorem:
learning\_quality=\frac{\textit{interactions} + 2 \cdot \textit{time} - \textit{not\_visited}}{3}
Czas pozostały do zamknięcia testu zaliczeniowego, liczony w momencie pierwszego wejścia do kursu został natomiast znormalizowany do przedziału [0, 1] zgodnie ze wzorem:
remaining\_time = \frac{end - student\_start}{end - start}
gdzie:
-
start to data otwarcia dostępu do kursu (reprezentowana jako timestamp),
-
end to data zamknięcia dostępu do testu zaliczeniowego (reprezentowana jako timestamp),
-
student_start to data pierwszego wejścia studenta do kursu (reprezentowana jako timestamp).