Összetett feladatok kiértékelése

Egy teszt oldal betöltődésekor az állapotfában létrejön a teszt beállításoknak megfelelő feladat lista, amiből a szakasz megjelenítése során mindig a következő nem kiértékelt (evaluated: false) feladatot jelenítjük meg.

Az állapotfa több, a tesztfeladatok állapotára vonatkozó információt tartalmaz. Megjelenítjük benne, hogy egy feladat kiértékelhető-e, illetve hogy a tesztkitöltés során a feladatot már kiértékeltük-e, esetleg kihagytuk. Ebben a fejezetben ezekről az állapotokról és különböző variációiról lesz szó.

Kiértékelhető (evaluable) egyszerű feladat: Egy feladat kiértékelhetőségét az állapotfában az @exercise.result.evaluable változó true értéke jelzi. A feladatok alapértelmezetten mindig kiértékelhetőek (evaluable: true), ha a feladatcsoportokból a rendszer automatikusan választja ki a megoldandó feladatokat (ilyenkor az autoFilter beállítás be van kapcsolva). Egy feladat akkor lesz nem kiértékelhető (evaluable: false), ha a feladatcsoportból a tanulónak kell kiválasztania, melyik feladatot szeretné kiértékelésre megjelölni az evaluable eseménnyel (Ezt a feladat csoport beállításoknál az autoFilter: false beállítással lehet elérni.). Ilyen esetben kiértékelés előtt a tanulónak kell megadnia, hogy melyik feladatot szeretné kiértékelésre megjelölni. Amit megjelölt, az a feladat lesz kiértékelhető (evaluable: true). Ha egy feladat nem kiértékelhető (evaluable: false) attól ki lehet hagyni (lehet skipped: true). Ilyenkor az evaluated értéke is true lesz, azaz a feladat kiértékeltnek (evaluated: true) számít.

Kiértékelhető (evaluable) összetett feladat: Egy összetett feladat kiértékelhetőségét a fő feladaton lehet állítani. Az alfeladatok automatikusan felveszik a fő feladat kiértékelhetőségét (evaluable értékét). Az alfeladatokon nem lehet külön-külön ezt az adatot módosítani. Ha bármelyik alfeladatot kiértékelte a tanuló, akkor a kiértékelhetőségét (evaluable érték) már nem változtathatjuk.

Kiértékelhető (evaluable) teszt: Egy teszt kiértékelhető, ha minden feladatcsoportban a megoldandó feladatok száma (group.count) pontosan megegyezik a feladatcsoporton belül kiértékelhetőnek megjelölt feladatok számával (@group.result.evaluableCount).

Kiértékelt (evaluated) feladat: Egy feladat kiértékeltnek számít, ha a pontszám számítás már megtörtént, a feladat tovább nem módosítható. Egy feladat csak akkor lehet kiértékelt állapotban (evaluated: true), ha a feladat kiértékelhető (evaluable: true) és/vagy a feladat ki lett hagyva (skipped: true). Kiértékelés esetén beállítódik a feladat befejezésének időbélyege (@exercise.result.endTime), a feladat teljesítettségének arányszáma - ami 0 és 1 között állítódik (@exercise.result.ratio) -, és a tanuló által elért pontszám (@exercise.result.score) ami az @exercise.score × @exercise.result.score képlettel számolódik. A feladat akkor is kiértékeltnek (evaluated: true) számít, ha a tanuló kihagyta (skipped: true) az adott feladatot. Ha egy feladat nem kiértékelhető (evaluable: false), de lejár a feladatra kapott idő, akkor kihagyott (skipped: true) lesz. Ebben az esetben az evaluated értéke is true lesz, tehát a feladat kiértékeltté válik. Ha egy összetett feladat pseudo feladatát hagyjuk ki (skipped), akkor automatikusan az alfeladatok is kihagyottak (skipped: true) lesznek.

Kiértékelt (evaluated) összetett feladat: A fő feladat automatikusan kiértékeltté (evaluated) válik, ha az összes alfeladata kiértékelt (evaluated).

Kiértékelt (evaluated) teszt: Egy teszt kétféle módon válhat kiértékeltté (evaluated: true):

  1. A csoportból a megoldandó feladatok számának (group.count) megfelelő számú feladat van kiértékelve (evaluated) és nem kihagyva.

    A betöltött feladatok kiértékeltté válhatnak úgy, hogy a tanuló megoldja a feladatot (ekkor az evaluated értéke true lesz) vagy kihagyja (pl. lejár a feladatra kapott idő és a feladat még nem kiértékelhető evaluable: false). Akkor lesz a teszt kiértékelt (evaluated: true), hogyha a kiértékelt (evaluated) feladatok számából kivonva a kihagyott (skipped) feladatok számát megkapjuk a feladatcsoportban megoldandó feladatok (group.count) számát.

    @group.result.evaluatedCount - @group.result.skippedCount = @group.count

  2. A feladatcsoport minden feladata kiértékelt (evaluated vagy skipped)

    Ha egy feladatcsoportban nem lesz meg a szükséges megoldott feladatszám (group.count), de már minden feladata ki van értékelve, akkor az adott csoportot kiértékeltnek tekintjük. Például: Van egy feladatcsoportunk, amiben 4 feladatból 2-t kell megoldani. A tanuló megoldja az első feladatot és ki is értékeli. A feladatcsoport többi feladatára viszont már nem tud időben válaszolni és azok kihagyottak (skipped és egyúttal evaluated) lesznek. Ebben az esetben a csoportból már nem lehet több feladatot megjeleníteni, így azt kiértékeltnek tekintjük.

Kihagyott (skipped) feladat: egy feladat akkor számít kihagyottnak (skipped: true), ha a feladat nem kiértékelhető (evaluable: false) és lejár a feladatra kapott idő, illetve ha megszakítjuk a tesztkitöltés menetét. Ez történhet a tananyag lejátszó bezárásával, az oldalról történő ellapozással vagy a teszt kitöltésre kapott idő lejárásával. Kihagyott (skipped: true) feladatok már nem töltődhetnek be.

Kihagyott (skipped) fő feladat: egy fő feladatra is ugyanazok érvényesek mint az egyszerű feladatra.

Kihagyott (skipped) alfeladat: Egy alfeladat akkor lehet kihagyott (skipped: true) az előbbieken túl, ha az összetett feladatnak legalább a fő feladata betöltődött és evaluateAll eseményt futtatunk illetve ha a főfeladatnak lejár az ideje. Ilyen esetben a nem betöltődött alfeladatok kihagyottá (skipped: true) válnak, nem töltődnek be szakaszba és a kiértékelő táblázatban sem jelennek meg.