}w !"#$%&'()+,-./012345
M ASARYKOVA UNIVERZITA FAKULTA INFORMATIKY
Adaptabilní testování pro otázky z testu˚ studijních pˇredpokladu˚ (TSP) D IPLOMOVÁ PRÁCE
Bc. Jiˇrí Mejzlík
Brno, 2011
Prohlášení Prohlašuji, že tato diplomová práce je mým puvodním ˚ autorským dílem, které jsem vypracoval samostatnˇe. Všechny zdroje, prameny a literaturu, které jsem pˇri vypracování používal nebo z nich cˇ erpal, v práci rˇ ádnˇe cituji s uvedením úplného odkazu na pˇríslušný zdroj.
Vedoucí práce: Mgr. Radek Pelánek, Ph.D. ii
Podˇekování Dˇekuji vedoucímu práce za zajímavý nápad a cenné rady. Dále také dˇekuji Masarykovˇe univerzitˇe za udˇelení licence na použití minulých verzí Testu studijních pˇredpokladu˚ ve vyvinutém systému.
iii
Shrnutí Cílem této diplomové práce bylo prozkoumat možnosti využití teorie odpovˇedi na otázku (IRT) a poˇcítaˇcového adaptabilního testování (CAT) k pˇrípravˇe na Testy studijních pˇredpokladu. ˚ CAT je založeno na teorii IRT a je využíváno k optimalizaci testu˚ adaptováním na uživatelovy schopnosti. Díky tomu mohou být pˇredkládány otázky, které dokáží nejlépe ohodnotit urˇcitý rys osoby. Tím se testování urychlí a zefektivní. Základní myšlenkou je na podobném principu vytvoˇrit systém, který se pˇrizpusobuje ˚ schopnostem uživatele a pˇredkládá mu pˇríklady z TSP nejvíce se hodící k efektivní pˇrípravˇe ke zkouškám. Duležitou ˚ souˇcástí programu je také porovnání výsledku˚ s ostatními uživateli a mezi jednotlivými kategoriemi.
iv
Klíˇcová slova TSP, IRT, CAT, adaptabilní uˇcení, Java
v
Obsah 1
Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 TSP – Testy studijních pˇredpokladu˚ . . . . . . . . . . . . . . . . . 2 Teorie testu a adaptabilní uˇcení . . . . . . . . . . . . . . . . . . . . . . 2.1 Testování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Klasická teorie testu˚ . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Teorie odpovˇedi na položku . . . . . . . . . . . . . . . . . . 2.1.3 Poˇcítaˇcové adaptabilní testování . . . . . . . . . . . . . . . 2.2 E-learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Intelligent Tutoring System . . . . . . . . . . . . . . . . . . 2.3 Uˇcení a testování . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Odhad obtížnosti položky . . . . . . . . . . . . . . . . . . . 2.3.2 Odhad schopnosti osoby . . . . . . . . . . . . . . . . . . . . 2.3.3 Algoritmus výbˇeru položky . . . . . . . . . . . . . . . . . . 3 Analýza, návrh a implementace . . . . . . . . . . . . . . . . . . . . . . 3.1 Požadavky na systém . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Prototyp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Základní myšlenky . . . . . . . . . . . . . . . . . . . . . . . 3.2 Návrh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Implementace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Vrstva DAO . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Servisní vrstva . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Uživatelské rozhraní . . . . . . . . . . . . . . . . . . . . . . 3.4 Klíˇcová rˇ ešení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Import otázek. . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 QuestionFilter . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.3 Odpovídání . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.4 Doporuˇcovací funkce . . . . . . . . . . . . . . . . . . . . . . 3.4.5 Progres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Nasazení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Analýza dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Celkové statistiky . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Statistiky kategorií . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Srovnání osob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Vývoj uživatele a vyhodnocení adaptabilního pˇredkládání otázek 5 Závˇer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Obsah pˇriloženého CD . . . . . . . . . . . . . . . . . . . . . . . . . . . B Snímky obrazovek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 2 3 3 3 5 8 9 9 9 10 10 11 12 12 12 13 14 20 21 22 22 23 23 24 25 26 26 27 28 28 30 31 34 38 42 43
vi
Kapitola 1
Úvod Testy studijních pˇredpokladu˚ jsou pro spoustu lidí branou k vysokoškolskému studiu. Pˇrípravu na nˇe formou ruzných ˚ kurzu˚ poskytuje spoustu spoleˇcností i individuálních ˇ osob. Casto se jedná o procházení pˇríkladu˚ z minulých verzí testu˚ a pˇredstavování postupu˚ jejich rˇ ešení. Masarykova univerzita zveˇrejnuje ˇ všechny verze pˇredchozích testu˚ na svém webu a také poskytuje e-learningový kurz 1 , ve kterém pomáhá se strategií pˇrípravy a dokonce poskytuje rady ke konkrétním pˇríkladum. ˚ Jistˇe jde o velmi pˇrínosnou a neocenitelnou cˇ innost. Co ale takhle zkusit jiný pˇrístup? Prosté procházení otázek z minulých let je vhodné, ale po cˇ ase vcelku nudné, nˇekteré pˇríklady jsou pˇríliš snadné, nˇekteré naopak moc obtížné. Pro efektivnˇejší testování lze využívat tzv. poˇcítaˇcové adaptabilní testování, které cˇ asto pracuje na základˇe teorie odpovˇedi na položku. Podle odpovˇedí testované osoby jsou jí vybírány následující otázky, které by mˇely vést k pˇresnˇejšímu a rychlejšímu provedení testu. Šlo by nˇeco podobného využít také pˇri pˇrípravˇe na testy? Možná bychom si mohli na základˇe dosavadních odpovˇedí vytvoˇrit pˇredstavu, jak „dobrý“ je uživatel a potom mu pˇredkládat pˇríklady, které by pro jeho pˇrípravu byly nejpˇrínosnˇejší. Pokud bychom navíc mˇeli poˇcítaˇcový systém, mohl by poskytovat i srovnání s ostatními úˇcastníky. Vytvoˇrit takovýto systém si klademe za cíl v rámci této práce. Ještˇe v této kapitole budou pˇredstaveny Testy studijních pˇredpokladu, ˚ aby bylo jasné, k pˇrípravˇe na co má sloužit vyvíjená aplikace. Druhá kapitola probírá duležité ˚ teoretické základy, ze kterých vychází další kapitoly. Zabývá se teorií testu, ˚ adaptabilnímu testování a elektronické výuce (pˇredevším v rámci tzv. inteligentních výukových systému). ˚ Nakonec spojuje svˇety testu˚ a uˇcení a nabízí rˇ ešení podstatných záležitostí. Následuje cˇ ást práce, ve které jsou stanoveny požadavky na systém a nastínˇena rˇ ešení nˇekterých cˇ ástí aplikace pomocí informací uvedených ve 2. kapitole. Dále je proveden návrh a pˇredstaveny nˇekteré technologie použité pˇri vývoji. Poslední cˇ ást 3. kapitoly ukazuje klíˇcová rˇ ešení systému. Ve cˇ tvrté kapitole najdeme vyhodnocení výsledku˚ odpovˇedí. Ukážeme si statistiky úspˇešnosti v jednotlivých kategoriích, poˇcty registrovaných uživatelu˚ a také porovnání osob podle ruzných ˚ kritérií, jako je vˇek, vzdˇelání, pohlaví a oblasti vzdˇelání. Pˇredevším tam však detailnˇe na pˇríkladu rozebereme adaptabilní výbˇer otázek a zhodnotíme, jestli má reálný význam.
1.
Test studijních pˇredpokladu: ˚
1
1. Ú VOD
1.1
TSP – Testy studijních pˇredpokladu˚
Testy studijních pˇredpokladu˚ slouží jako pˇrijímací zkoušky na vˇetšinu fakult Masarykovy univerzity už od roku 2003. [12] Rok od roku se TSP mírnˇe upravují, ale podstata zustává ˚ stejná. Pˇrijímací zkoušky podobného typu jsou i na dalších univerzitách ˇ Plzen). (PF UK Praha, UP Olomouc, ZCU ˇ Spusta vysokých škol také uznává výsledky podobných testu˚ od spoleˇcnosti Scio. Všechny testy studijních pˇredpokladu˚ mají za úkol jediné – na základˇe odpovˇedí uchazeˇcu˚ o studium rozlišit ty, u kterých se dá pˇredpokládat, že jsou schopni splnit urˇcitou úrovenˇ dovedností vyžadovaných danou fakultou, a ostatní. Jedná se o podobné testy jako jsou IQ testy. Zkoumají schopnosti cˇ lovˇeka v ruzných ˚ oblastech myšlení. Poslední verze TSP testu˚ se skládají ze 70 otázek v 7 kategoriích: •
Kritické myšlení,
•
verbální myšlení,
•
numerické myšlení,
•
symbolické myšlení,
•
prostorová pˇredstavivost,
•
analytické myšlení (dˇríve i úsudky),
•
a kulturní pˇrehled.
Každá z kategorií vyžaduje jiné schopnosti, avšak na výsledky je hledˇeno jako na celek a percentil (tedy skóre, které urˇcuje poˇradí uchazeˇce) je vypoˇcítán z celého testu nehledˇe na jednotlivé kategorie. Student tedy s velkou pravdˇepodobností nebude pˇrijat, když zvládne jednu oblast naprosto bravurnˇe, ale naopak nebude pˇríliš úspˇešný v ostatních cˇ ástech testu. Lze pˇredpokládat, že prumˇ ˚ erná obtížnost v jednotlivých kategoriích je rozdílná (a také si to v kapitole 4 ukážeme). Pro uchazeˇce by tedy byla velice zajímavá informace o tom, jak si vede v jednotlivých cˇ ástech testu v porovnání s ostatními. Je-li v nˇejaké oblasti velice podprumˇ ˚ erný, mˇel by se zamˇerˇ it na lepší pochopení otázek v ní a ne si procviˇcovat kategorie, ve kterých exceluje.
2
Kapitola 2
Teorie testu a adaptabilní uˇcení Tato kapitola probírá duležité ˚ teoretické základy, ze kterých vychází další kapitoly. Vycházíme pˇredevším z literatury Classical test theory (CTT) od Gerianna de Klerka [6], The Theory and Practice of Item Response Theory od R. J. de Ayaly [5] a Elementy z psychometrie a teorie testu˚ od Petra Blahuše [2].
2.1
Testování
Témˇerˇ každý cˇ lovˇek prochází v životˇe ruznými ˚ testy. At’ už se jedná o testy dobrovolné, napˇríklad kvízy publikované v ruzných ˚ cˇ asopisech, nebo o testy, které cˇ lovˇek musí podstoupit, aby nˇecˇ eho dosáhl nebo mu bylo nˇeco povoleno. Jsou to ruzné ˚ testy ve škole, testy v autoškole, psychologické testy pˇri pˇrijímacích pohovorech na nároˇcnˇejší pozice nebo právˇe testy studijních pˇredpokladu, ˚ kterým se tato práce vˇenuje. U testu˚ je zcela klíˇcové, abychom pomocí nich dokázali objektivnˇe posoudit a porovnat testovaný pˇredmˇet nebo osobu s ostatními, pˇrípadnˇe s požadavky, které je nutné splnit. Ovšem vyhnout se ruzným ˚ vnˇejším vlivum ˚ a zajistit naprostou objektivnost není vubec ˚ snadné. Je rozdíl, jestli cˇ lovˇek sedí v poloprázdné místnosti s cˇ erstvým vzduchem a v naprostém klidu, nebo má omezený prostor a je neustále vyrušován okolím – potom není spravedlivé mít na tyto lidi stejný metr. Další duležitou ˚ vlastností testu˚ je, aby mˇerˇ ily skuteˇcnˇe to, co mˇerˇ it mají. Pˇríkladem muže ˚ být zadání testu napsané pˇríliš složitým jazykem. V tomto pˇrípadˇe zjistíme, že rozdˇelení mezi úspˇešnými a neúspˇešnými bude nakonec záviset spíše na jejich jazykových schopnostech než na znalostech (nebo vlastnostích), které jsme ve skuteˇcnosti chtˇeli testovat. Oba tyto pˇríklady vykazují urˇcitou chybu (nesystematickou resp. systematickou). Tˇemito chybami se zabývá Klasická teorie testu. ˚ Vlastnost, kterou chceme odvodit z výsledku testu se nazývá latentní rys. Muže ˚ jí být napˇríklad úzkost – tento latentní rys však není mˇerˇ itelný pˇrímo, ale lze ho odhadnout na základˇe mˇerˇ itelných, manifestních, promˇenných, jako je nespavost, bolest hlavy apod. [5] Je dobré si také uvˇedomit, že jednotlivé rysy mohou být kontinuální nebo diskrétní (rozdˇelené diskrétnˇe do kategorií). 2.1.1 Klasická teorie testu˚ Klasická teorie testu˚ (angl. Classical Test Theory, CTT) vznikla na zaˇcátku 20. století. Koneˇcná podoba ovšem byla publikovaná až v 60. letech. [6] Má za úkol optimalizovat nˇekteré vlastnosti testu jako je spolehlivost a validita. Jak uvádí Petr Blahuš: „Smyslem 3
ˇ 2. T EORIE TESTU A ADAPTABILNÍ U CENÍ
je prakticky pusobit ˚ na nˇekteré ovlivnitelné vlastnosti a tím zmˇenit jiné, cílové vlastnosti testu, zpravidla jeho užitnou validitu k nˇejakému praktickému úˇcelu.“[2] Vzorec. Základní vzorec pro CTT je následující (nazývá se true score model): X = T + E, kde X je celkové skóre, T je true score, a E je chyba v mˇerˇ ení. Celkové skóre, které jsme namˇerˇ ili, se tedy skládá z „opravdové“ složky a z chyby v mˇerˇ ení. Jak je zmínˇeno výše, jedním z úkolu˚ CTT je rˇ ešit chyby at’ už systematické, nebo nesystematické. Spolehlivost. Spolehlivost testu, nebo také konzistence v mˇerˇ ení, je jedním ze základních požadavku˚ na dobrý test. Nemuže ˚ být odhadnuta pˇrímo, protože by to vyžadovalo, abychom vˇedˇeli skuteˇcné skóre (T ), což je podle CTT nemožné. Spolehlivost muže ˚ být odhadnuta dvˇema zpusoby: ˚ 1.
opakovaným mˇerˇ ením (a)
paralelní – porovnají se výsledky dvou testu, ˚ které by mˇely být ekvivalentní
(b) test-retest – jeden test je proveden stejnou skupinou (lidí) dvakrát. Zde je problém s nezávislostí obou provedení (lidé si mohou odpovˇedi vyhledat). 2.
jedním mˇerˇ ením (a)
split-half metoda – test se rozdˇelí na dvˇe poloviny se stejnou délkou a obtížností. Skóre je spoˇcítáno pro obˇe cˇ ásti zvlášt’. Korelace mezi výsledky je potom odhadem spolehlivosti.
(b) metoda vnitˇrní konzistence – jednotlivé položky v testu jsou považovány za samostatné testy. Celkový test je položen jedné reprezentativní skupinˇe. Na základˇe jeho výsledku˚ jsou spoˇcítány kovariance mezi jednotlivými dvojicemi otázek. Položky, jejichž korelace je vysoká, jsou potom brány, že mˇerˇ í stejný konstrukt (promˇennou). Úrovenˇ spolehlivosti, kterou pro ten který test vyžadujeme, je závislá na cíli testu. Pokud je urˇcen k duležitým ˚ rozhodnutím, budeme chtít samozˇrejmˇe vyšší spolehlivost než u testu˚ s nižším významem. Platnost. Platnost nebo validita urˇcuje, s jakou spolehlivostí jsou mˇerˇ ení skuteˇcnou manifestací latentního rysu. [5] Vztah mezi validitou a spolehlivostí vyjadˇruje Petr Blahuš: „reliabilita (spolehlivost) je nutným pˇredpokladem validity“. [2] 1.
Face-validity – posouzení na „první pohled“, [15]
2.
Konstruktová validita – jestli mˇerˇ íme skuteˇcnˇe to, co chceme, 4
ˇ 2. T EORIE TESTU A ADAPTABILNÍ U CENÍ
3.
Kriteriální validita – posuzuje vztah mezi výsledky testu a kritériem,
4.
Predikˇcní validita – porovnává se výsledek testu s pozdˇejší úspˇešností úˇcastníka v tom, na co byl testován.
2.1.2 Teorie odpovˇedi na položku Teorie odpovˇedi na položku (angl. Item Response Theory, IRT) se na rozdíl od CTT, která je zamˇerˇ ena na celý test, zabývá jednotlivými položkami nezávisle na kontextu. IRT je založena na pravdˇepodobnosti správné odpovˇedi na otázku urˇcité obtížnosti osobou mající nˇejaký latentní rys (schopnost). Pomocí odpovˇedí v testu tedy manifestujeme tuto schopnost. Schopností muže ˚ být tˇreba inteligence, nebo v rámci TSP percentil. Baker [1] poznamenává, že od 1. vydání jeho knihy v roce 1985 do aktuálního vydání v roce 2001 se pozice IRT výraznˇe zlepšila a je používána vˇetšinou tvurc ˚ u˚ testu˚ ve Spojených státech. V IRT se provádí analýza vhodnosti modelu pro data na rozdíl od CTT, kde se prostˇe pˇredpokládá, že model je správný. IRF. Item response function, funkce odpovˇedi na položku. Osa x nese hodnotu latentního rysu, osa y potom pravdˇepodobnost, s jakou osoba s danou schopností odpoví správnˇe na otázku. Položky i osoby jsou tedy kladeny na spoleˇcnou škálu a mužeme ˚ je spolu porovnávat. [7]
Obrázek 2.1: Item response function Existuje nˇekolik základních modelu˚ pro výpoˇcet pravdˇepodobnosti úspˇešného rˇ ešení úkolu. Liší se v poˇctu parametru˚ a tím i v tom, jaké promˇenné berou v úvahu. Jednoparametrový model (nazvaný Model 1PL) se zabývá cˇ istˇe jen obtížností položky a 5
ˇ 2. T EORIE TESTU A ADAPTABILNÍ U CENÍ
pravdˇepodobností správné odpovˇedi u osob s ruznou ˚ hodnotou latentního rysu (schopnosti). Na obrázku 2.1 mužeme ˚ vidˇet, jak muže ˚ v tomto pˇrípadˇe vypadat IRF. Model 2PL bere v potaz i rozlišovací schopnost položky (ˇcím vyšší, tím lepší). Poslední model, který si uvedeme, je tˇríparametrový 3PL – ten navíc uvažuje i o možnosti náhodného uhodnutí odpovˇedi bez jakýchkoliv vˇedomostí. Model 1PL. Pravdˇepodobnost správné odpovˇedi na otázku se vypoˇcítá následovnˇe: P =
1
, kde 1+e−1(Θ−b)
•
Θ – je latentní rys testované osoby,
•
b – je obtížnost položky.
Obtížnost položky je definována jako bod na ose schopnosti, kde je pravdˇepodobnost správnˇe odpovˇedi 50 %. Obtížnost b muže ˚ nabývat hodnot z intervalu −4 <= b =< +4, ale bˇežnˇe se používá od −3 do +3 ([1] str. 22). Je-li tato hodnota kladná, posouvá kˇrivku v grafu doprava, je-li záporná, tak naopak doleva. Latentní rys muže ˚ být napˇríklad percentil v nˇejakém testu, nebo hodnota IQ.
Obrázek 2.2: IRF – rozdíl obtížnosti Na obrázku 2.2 mužeme ˚ vidˇet, jaký je rozdíl mezi IRF u položek s parametrem b = 0 a b = 2. Aby mˇel cˇ lovˇek 50procentní pravdˇepodobnost správné odpovˇedi, musí mít v prvním pˇrípadˇe schopnost Θ = 0, v druhém ale už Θ = 2. 6
ˇ 2. T EORIE TESTU A ADAPTABILNÍ U CENÍ
Model 2PL pomáhá urˇcit, jak úˇcinnˇe daná otázka oddˇelí schopné od ménˇe schopných. P =
1 , kde 1+e−D·a(Θ−b)
•
Θ – je latentní rys testované osoby,
•
b – je obtížnost položky,
•
a – rozlišení úˇcinnosti dané položky,
•
D = 1.7 – škálovací konstanta, muže ˚ a nemusí se používat. [5]
Obrázek 2.3: IRF – rozdíl úˇcinnosti Na obrázku 2.3 je vidˇet, že druhá otázka (a = 2) nám lépe odliší schopné a mˇenˇe schopné. Napˇríklad šance, že cˇ lovˇek s latentím rysem Θ = −2 odpoví správnˇe otázku mající první funkci, se blíží k 20 %, avšak pravdˇepodobnost, že by správnˇe vyˇrešil druhou otázku, je témˇerˇ nulová. Pokud by nˇejaká položka mˇela rozlišovací schopnost a = 0, mˇel by každý bez závislosti na hodnotˇe jeho schopnosti stejnou pravdˇepodobnost správné odpovˇedi. Model 3PL navíc zavádí parametr, díky kterému bereme v úvahu možnost uhádnutí odpovˇedi, aniž by k tomu mˇela testovaná osoba nˇejaké znalosti. P =
c+(1−c) , kde 1+e−D·a(Θ−b) 7
ˇ 2. T EORIE TESTU A ADAPTABILNÍ U CENÍ
Obrázek 2.4: IRF – hádání •
Θ – je latentní rys testované osoby
•
b – je obtížnost položky
•
a – rozlišení úˇcinnosti dané položky
•
D = 1.7 – škálovací konstanta, muže ˚ a nemusí se používat [5]
•
c – pseudouhádnutelnost
C je pravdˇepodobnost, že testovaná osoba uhádne správnou odpovˇed’. Teoreticky muže ˚ tento parametr nabývat hodnot od 0 do 1. Horní funkce na obrázku 2.4 nám ukazuje pravdˇepodobnosti správných odpovˇedí za pˇredpokladu, že je parametr uhádnutelnosti c = 0, 3. Tedy i osoba, která má velmi nízkou schopnost, má nemalou pravdˇepodobnost, že se jí podaˇrí odpovˇedˇet správnˇe. 2.1.3 Poˇcítaˇcové adaptabilní testování Poˇcítaˇcové adaptabilní testování (angl. Computerized Adaptive Testing, CAT) je typ testu, ve kterém se za pomoci poˇcítaˇce vybírají testové otázky za urˇcitým cílem. Otázky v testu jsou dynamicky kladeny tak, aby se pomocí nich co nejlépe dala odvodit hodnota ˇ urˇcitého rysu. Casto je v CAT systémech využívána teorie odpovˇedi na položku, s jejíž pomocí jsou bˇehem testu kladeny otázky pˇribližnˇe na úrovní schopnosti zkoušeného. Celý proces se zjednodušenˇe dá shrnout následujícími cˇ tyˇrmi kroky: 8
ˇ 2. T EORIE TESTU A ADAPTABILNÍ U CENÍ
1.
otázka je vybrána na základˇe odhadu z dosavadních odpovˇedí,
2.
zkoušený otázku zodpoví dobˇre nebo špatnˇe,
3.
schopnost cˇ lovˇeka je upravena na základˇe této odpovˇedi,
4.
opakujeme kroky 1 – 3, dokud nedojdeme do konce testu.
Ruzným ˚ osobám mohou být kladeny rozdílné sady otázek. Jejich schopnosti mužeme ˚ mezi sebou porovnat díky využití IRT. Výhodou tˇechto systému je pˇredevším to, že dokáží adaptabilnˇe pˇredkládat testové otázky, které efektivnˇe urˇcí uživatelovy schopnosti. Muže ˚ se tak zvýšit pˇresnost a rychlost cˇ asu testování. Více adaptabilní pˇrístup rozvedeme v kapitole 2.3 Uˇcení a testování.
2.2
E-learning
Už ze samotného slova e-learning plyne, o co se vlastnˇe jedná. Jde o využití elektronických prostˇredku˚ ke vzdˇelávání. Mužeme ˚ sem zaˇradit jak uˇcení z multimediálních CDROMu, ˚ tak i používání komplexních webových systému˚ umožnujících ˇ interakci s lektorem i ostatními studenty. Tato práce se bude zabývat vývojem systému pro e-learning se samouˇcícími prvky umožnující ˇ adaptabilní uˇcení. 2.2.1 Intelligent Tutoring System Intelligent Tutoring System (ITS), neboli inteligentní výukový systém, je systém, který poskytuje studentovi zpˇetnou vazbu a dokáže se pˇrizpusobit ˚ jeho potˇrebám. Jak uvádí Elena Verdú ve své práci [13], každý student má individuální potˇreby a preferuje ruzné ˚ druhy materiálu˚ podávané ruznými ˚ zpusoby. ˚ Dalšími aspekty pro efektivní uˇcení je pˇredevším motivace a pˇredchozí znalosti studované problematiky. Námi budovaný systém je urˇcen pro pˇrípravu na pˇrijímací zkoušky, takže o motivaci nouze jistˇe nebude. Samozˇrejmˇe záleží na pˇredchozích zkušenostech s TSP – uživatel, který se s nimi potká poprvé, bude pravdˇepodobnˇe ménˇe úspˇešný než ten, který je už absolvoval nˇekolikrát. Úplný ITS by mˇel imitovat individuální interakci studenta s uˇcitelem a navíc využívat výhody a možnosti informaˇcních technologií. Proto by mˇel obsahovat všechny komponenty uˇcícího procesu: obsah, instrukce k výuce a hodnocení studentova pokroku. [13] Jak Verdú dodává na konci své práce, „Mnoho ze zkoumaných systému˚ spoléhá na detailní a cˇ asovˇe nároˇcný obsah a na málo automatické parametrizace (. . . ) mužeme ˚ z toho vyvozovat, že adaptabilní uˇcení je velmi manuálnˇe nároˇcná cˇ innost. Proto jsou malé šance na to, aby se adaptabilní vzdˇelávací systémy staly hlavním proudem v bˇežné vzdˇelávací praxi.“ Základní otázkou tedy je, jestli systém, který se pˇrizpusobuje ˚ požadavkum ˚ a schopnostem uživatele, opravdu pomuže ˚ zvýšit efektivitu uˇcení.
2.3
Uˇcení a testování
V pˇredchozích kapitolách jsme si prošli základy teorie testu, ˚ teorie odpovˇedi na položku a poˇcítaˇcové adaptabilní testování. Dále byl pˇredstaven e-learning a myšlenka inteligent9
ˇ 2. T EORIE TESTU A ADAPTABILNÍ U CENÍ
ního výukového systému. Jak ale skloubit tyto dvˇe oblasti (testování a uˇcení) dohromady a vytvoˇrit systém, který by pˇripravoval na Testy studijních pˇredpokladu? ˚ Velice zajímavou studii této problematiky publikoval Kelly Wauters. [14] Konkrétnˇe se zabývá použitím teorie odpovˇedi na položku v adaptabilním vzdˇelávacím prostˇredí založeným na položkách. Pro využívání této teorie musíme rˇ ešit 3 vˇeci: (a) odhadnout obtížnost položek v testu, (b) podle postupu odpovídání otázek stanovovat schopnost osoby, (c) na základˇe znalosti schopnosti cˇ lovˇeka a obtížností všech otázek v testu vytvoˇrit algoritmus pro výbˇer vhodných položek. Vhodnými položkami rozumíme otázky takové, které umožní uživatelovi efektivní uˇcení.
2.3.1 Odhad obtížnosti položky Nejjednodušší postup pro výpoˇcet obtížnosti položky je pomˇer správných odpovˇedí a odpovˇedí celkem. Má to výhodu v tom, že tyto údaje lze poˇcítat zárovenˇ s odpovídáním. Prostˇe se jen zvˇetší celkový poˇcet a pˇrípadnˇe poˇcet správných odpovˇedí. Výsledky jsou jasné – cˇ ím ménˇe správných odpovˇedí, tím má otázka vyšší obtížnost. Pro jednoduchost a pˇrínosnost byl v našem systému implementován tento pˇrístup, jak ostatnˇe uvidíme v následující kapitole. Nevýhoda je ovšem v tom, že obtížnost otázky záleží na schopnostech lidí, kteˇrí odpovídali. Pokud byli odpovídající vysoce podprumˇ ˚ erní, bude mít otázka kvuli ˚ jejich pravdˇepodobnˇe horším odpovˇedím vyšší obtížnost než reálnˇe je. Tím pˇrestává být funkce odpovˇedi na položku nezávislá a my mužeme ˚ na jejím základˇe pˇresnˇe porovnávat mezi otázkami jen tehdy, je-li i skupina odpovídajících lidí ˇ porovnatelná. Rešením tohoto problému je spravedlivé pˇredkládání otázek, které nebude (ne)zvýhodnovat ˇ žádného uživatele. Jinou možností, jak mužeme ˚ stanovit obtížnost položek, je zpˇetná vazba uživatelu. ˚ V pˇrípadˇe našeho systému je ovšem naprosto nevhodné a rušící se po každé odpovˇedi ptát, jestli byla jednoduchá nebo složitá. Dalším pˇrístupem je skupina expertu, ˚ která obtížnosti odhadne. Výhodou je, že hodnoty obtížností získané jakýmkoliv odhadem mužeme ˚ použít v algoritmech založených na IRT.
2.3.2 Odhad schopnosti osoby Cílem adaptabilního uˇcení je zajistit pˇredkládání takových otázek, které umožní efektivní uˇcení. Pro možnost výbˇeru vhodných otázek musíme mít informaci o uživatelových schopnostech. U nových uživatelu˚ vyvstává problém „studeného startu“ – nemáme žádná data o jejich pˇredpokladech. Schopnosti mužeme ˚ však odhadovat napˇríklad z osobních informací, jako je vˇek, vzdˇelání apod. Druhou problematickou cˇ ástí je aktualizace schopnosti bˇehem odpovídání na otázky. Vhodné by bylo provádˇet aktualizaci po každé odpovˇedi, aby byla hodnota stále pˇresná. Využít k tomu mužeme ˚ znovu pomˇer správných ku celkovému poˇctu odpovˇedí. Opˇet ale tímto postupem nebudeme brát v potaz obtížnost odpovˇezených otázek. Ideální by proto bylo, kdyby mˇely jednotlivé položky váhu, podle které by se schopnost zvýšila (resp. snížila) úmˇernˇe k její hodnotˇe. To by ovšem znamenalo po každé odpovˇedi aktualizovat nejen schopnost odpovídající 10
ˇ 2. T EORIE TESTU A ADAPTABILNÍ U CENÍ
osoby, ale i obtížnost otázky a tím i schopnosti všech lidí, kteˇrí ji také rˇ ešili. Z tohoto duvodu ˚ bude lepší nezahrnovat tuto vlastnost do programu. 2.3.3 Algoritmus výbˇeru položky Cílem testování je zmˇerˇit co nejpˇresnˇeji hodnotu schopnosti testované osoby. Naopak pˇri uˇcení je nejduležitˇ ˚ ejší efektivita získávání nových informací. Jak uvádí Wauters, pˇri uˇcení je mnohem duležitˇ ˚ ejší motivace i úspˇešnost odpovˇedí (nízká úspˇešnost bude od pokraˇcování hodnˇe odrazovat). Zajímavým nápadem, jak zvýšit motivaci, je umožnit uživateli nastavit si obtížnost pˇredkládaných otázek podle vlastních pˇredstavy. V našem systému je toto bohužel nepˇrípustné, protože by potom schopnosti uživatele neodpovídaly reálnému stavu. Kdyby si výraznˇe snížil obtížnost, dostával by otázky ne podle skuteˇcného vývoje svých schopností, ale podhodnocené, a tím by se porušila ona spravedlnost zmínˇená v cˇ ásti o odhadu obtížnosti položky. Sekvenci vybíraných položek urˇcujeme dynamicky. Pˇri každém výbˇeru vhodné otázky je porovnávána schopnost osoby s obtížnostmi ještˇe nezodpovˇezených položek. Rozsah požadované obtížnosti mužeme ˚ zvolit. Podle nˇekterých studií jsou pro uˇcení nejefektivnˇejší jednodušší otázky [11], podle jiných má být obtížnost mírnˇe nad schopnosti uživatele (Wauters cituje studii Geka Hootsena). Pro náš systém, jak se dozvíme dále, byl zvolen kompromis. Tzn. budou pˇredkládány otázky v rozmezí obtížnosti kolem uživatelovy schopnosti.
11
Kapitola 3
Analýza, návrh a implementace V této kapitole nejprve projdeme požadavky, které by mˇel vyvíjený systém splnovat. ˇ Dále navrhneme datovou strukturu a probereme technologie využité pˇri vývoji. Pˇredposlední cˇ ást obsahuje pravdˇepodobnˇe nejzajímavˇejší informace. Shrnuje totiž klíˇcová rˇ ešení odpovídání, adaptabilního pˇredkládání otázek nebo udržování aktuálních informací o vývoji uživatelových schopností. Jedním z prvních úkolu˚ bylo získání svolení od Masarykovy univerzity na využití Testu studijních pˇredpokladu˚ ve vytváˇreném systému. Byla podepsána licence na délku jednoho roku. Na jejím základˇe bylo povoleno vyvinout aplikaci, která bude využívat testy z pˇredchozích let.
3.1
Požadavky na systém
Cílem práce je vyvinout poˇcítaˇcový systém pro pˇrípravu na testy TSP. Hlavním prvkem má být pˇredkládání otázek z testu˚ z minulých let, avšak v poˇradí, které muže ˚ být pro každého uživatele jedineˇcné. Poˇradí závisí na odpovˇedích uživatele. Systém se tak bude adaptovat na vývoj každého uživatele. Pro aplikaci byl zvolen název TSP Coach, který dobˇre vystihuje, co je jejím cílem – trénink na Testy studijních pˇredpokladu. ˚ Nejprve byl ovšem vyvinut prototyp, s jehož pomocí jsme posbírali reálné odpovˇedi konkrétních lidí. 3.1.1 Prototyp Prototyp umožnoval ˇ odpovˇedˇet sadu otázek jako celek. V každé kategorii bylo dvakrát 10 otázek ze dvou posledních roˇcníku TSP a uživatelé odpovídali jednu otázku za druhou. Teprve po dokonˇcení jedné sady (deseti) otázek se zobrazily výsledky. 1 Finální verze aplikace má podporu pro tuto funkci a mohla by být jednoduše zprovoznˇena. Dokonce byl zaznamenán požadavek na vrácení této možnosti, uživatel uvádí: „To, že je za každou otázkou hned výsledek mˇe zdržuje a znervóznuje, ˇ když to mám špatnˇe.“ Osoba v databázi má atribut instantMode, kterým po nastavení na false pˇrepneme do módu jedna po druhé. I každá odpovˇed’ si udržuje informaci o tom, v kterém módu byla zodpovˇezena. Na datech získaných z prototypu byly provádˇeny testy a zkoumány možnosti vývoje aplikace. Ukázalo se, že jsou skuteˇcnˇe rozdíly mezi úspˇešnostmi v jednotlivých katego1. Bylo tak uˇcinˇeno pˇredevším pro to, že nˇekolik po sobˇe jdoucích špatných odpovˇedí by mohlo nˇekoho odradit.
12
3. A NALÝZA , NÁVRH A IMPLEMENTACE riích a pˇredevším mezi otázkami v kategorii. A že má tedy význam pokoušet se vytvoˇrit systém založený na uˇcení a pˇrizpusobování ˚ se. 3.1.2 Základní myšlenky Schopnost a obtížnost. Schopnost uživatele a obtížnost otázky jsou na stejné škále (což je základní myšlenka IRT) a v souˇcasné dobˇe jsou vypoˇcítávány následovnˇe: spravne odpovedi obtiznost = 1− vsechny odpovedi
Schopnost uživatele: spravne odpovedi schopnost = vsechny odpovedi
Pokud máme uživatele se schopností napˇr. 0,8, znamená to, že odpovˇedˇel 80 % otázek správnˇe. Dá se tedy pˇredpokládat, že otázky s obtížností pod 0,8 (zodpovˇedˇelo je dobˇre 20 a více procent lidí a tento uživatel mezi nimi je) by mohl vyˇrešit správnˇe. Samozˇrejmˇe se nedá takto generalizovat – ruzní ˚ lidé mají schopnosti na ruzné ˚ vˇeci. Napˇríklad vysoce inteligentní cˇ lovˇek muže ˚ mít problém s urˇcitým typem pro ostatní snadných otázek. Obecnˇe se ovšem dá pˇredpokládat, že chytˇrejší cˇ lovˇek (na základˇe pˇredchozích odpovˇedí) bude schopen správnˇe odpovídat složitˇejší otázky. Na tomto pˇrístupu by mˇela být založena funkce, která bude vybírat úkoly na základˇe pˇredchozích odpovˇedí tak, aby vedly k efektivnˇejší pˇrípravˇe. Mˇely by cˇ lovˇeka donutit zapˇremýšlet, ale zárovenˇ by mˇely být obtížné tak, aby ve vˇetšinˇe pˇrípadu˚ mˇel šanci odpovˇedˇet správnˇe. Pˇri vybírání otázek vycházíme z 1PL modelu IRT, avšak pravdˇepodobnost není zjišt’ována výpoˇctem podle tohoto modelu, ale pouhým porovnáním s obtížností stanovené na základˇe odpovˇedí ostatních úˇcastníku˚ a schopností odpovídajícího. Zpˇetná vazba. Pro uˇcení (i ve formˇe testování) je pro cˇ lovˇeka duležitá ˚ informace o tom, jestli to, co dˇelá, dˇelá správnˇe. Proto je vhodné mu po pˇremýšlení a zodpovˇezení otázky hned ukázat odpovˇed’ správnou a využít toho, že má v hlavˇe svuj ˚ postup rˇ ešení a muže ˚ si ho na jejím základˇe poopravit. Srovnání s ostatními. Neménˇe duležitou ˚ souˇcástí systému výuky je porovnání s ostatními spolužáky nebo uchazeˇci o studium. Ideální by pro uživatele bylo srovnání nejen se skupinou odpovídajících jako celkem, ale i zvlášt’ se skupinou lidí, hlásících se na stejný obor, majících stejný stupenˇ vzdˇelání nebo pˇribližnˇe stejného vˇeku. Anonymní pˇrístup. Zajímavou možností by mohl být zkušební pˇrístup bez registrace. ˇ Clovˇ ek si tak vyzkouší odpovˇedˇet nˇejaké otázky a v pˇrípadˇe zájmu se muže ˚ zaregistrovat. Stávající odpovˇedi mu budou pˇrevedeny pod nový úˇcet a uživatel tím získá možnost opˇetovného pˇrístupu pˇrihlášením. Tato vlastnost systému se v provozu ukázala velice duležitou. ˚ Lidem se totiž pˇríliš nechce registrovat do nˇejaké aplikace, aniž by si ji mohli pˇredem vyzkoušet. 13
3. A NALÝZA , NÁVRH A IMPLEMENTACE
3.2
Návrh
Diagram balíku˚ Zde si uvedeme pˇrehled balíku, ˚ který dobˇre ilustruje strukturu aplikace, použitou architekturu a závislosti mezi jednotlivými vrstvami. Diagram je na obrázku 3.1. •
V balíku domain jsou uloženy entitní tˇrídy (jako napˇríklad osoba, otázka, odpovˇed’, apod.).
•
Balík dao (Data access object) obsahuje tˇrídy, které rˇ ídí pˇrístup k databázi, ukládání entit, apod.
•
Vrstva service pracuje nad entitami a dao objekty. Poskytuje business logiku prezentaˇcní vrstvˇe.
•
V balíku wicket jsou tˇrídy prezentaˇcní vrstvy, je pojmenován podle použitého frameworku.
•
Filter obsahuje tˇrídy pro snadnˇejší vyhledávání a poté zobrazení dat.
•
A koneˇcnˇe v balíku dto (Data transfer object) jsou uloženy objekty nesoucí data, které však nejsou entitami.
Datový model Zcela zásadní jsou objekty Person, Question a Answer, všechny ostatní se dají z tˇechto odvodit. Na obrázku 3.2 je diagram entitních tˇríd. DomainObject. Rozhraní, které musí ostatní doménové objekty (entitní tˇrídy) implementovat. Obsahuje pouze metodu getIDd(), pˇredevším pak omezuje typ objektu˚ pro vrstvu DAO. Person. Objekt Jeho souˇcástí je i metoda hasRole(RoleLevel), která vrátí true, pokud má daná osoba oprávnˇení alesponˇ na úrovni RoleLevel. Viz. Diagram „osoby“ 3.3. •
username – pˇrihlašovací jméno,
•
password – heslo,
•
roleLevel – použity jsou 4 úrovnˇe oprávnˇení:
•
–
PUBLIC – kdokoliv, v souˇcasné dobˇe není využívána,
–
GUEST – neregistrovaný návštˇevník,
–
USER – registrovaný uživatel,
–
ADMIN – administrátor.
instantMode – v jakém módu uživatel pracuje (viz. 3.1.1), 14
3. A NALÝZA , NÁVRH A IMPLEMENTACE
Obrázek 3.1: Diagram balíku˚
15
3. A NALÝZA , NÁVRH A IMPLEMENTACE
Obrázek 3.2: Zjednodušený doménový model
16
3. A NALÝZA , NÁVRH A IMPLEMENTACE •
lastLogin – datum posledního pˇrihlášení dané osoby, slouží pˇredevším pro možnost filtrování neaktivních uživatelu, ˚
•
testUser – slouží pro testovací úˇcely, zodpovˇezené otázky potom nejsou ukládány do celkových statistik,
•
personInfo – viz. další objekt.
PersonInfo. Objekt, nesoucí podrobnˇejší informace o osobˇe uživatele. Viz. Diagram „osoby“ 3.3. •
firstName, lastName, email,
•
sex – pohlaví,
•
age – vˇekové rozmezí uživatele, je rozdˇeleno na 8 podskupin,
•
education – stupenˇ dosaženého vzdˇelání (ZŠ, SŠ/Gymnázium, VŠ),
•
educationArea – oblast vzdˇelání (zamˇerˇ ení školy, na kterou se osoba hlásí nebo kde studuje).
Question. Tato entitní tˇrída slouží k uložení informace o jedné otázce (položce testu). •
year, testNumber, questionNumber – pro jednoznaˇcnou identifikaci otázky v systému,
•
category – z jaké kategorie je tato otázka (viz. sekce o TSP 1.1),
•
descriptionAvailable – nˇekteré otázky mají spoleˇcný rozšiˇrující popis, tato promˇenná o tom drží informaci,
•
correctAnswer – správná odpovˇed’,
•
questionStats QuestionStats
–
rozšiˇrující
objekt,
podrobnˇejší
popis
pod
entitou
Answer. Naprosto stˇežejní tˇrída, uchovávající informaci o tom, kdo, kdy, jak a kterou otázku zodpovˇedˇel. •
person – osoba,
•
question – otázka,
•
answer – vybraná odpovˇed’,
•
answerDate – cˇ asová známka,
•
answerTime – jak dlouho trvalo odpovˇedˇet,
•
inInstantMode – v jakém módu byla otázka zodpovˇezena.
•
metoda isCorrect porovná odpovˇed’ se správnou odpovˇedí uvedenou v otázce. 17
3. A NALÝZA , NÁVRH A IMPLEMENTACE
Obrázek 3.3: Diagram „osoby“
18
3. A NALÝZA , NÁVRH A IMPLEMENTACE CummulativeObject. Abstraktní tˇrída. Jejím rozšíˇrením získáme základní funkcionalitu agregátních objektu. ˚ •
numberOfAnswers – poˇcet odpovˇedí,
•
numberOfCorrectAnswers – poˇcet správných odpovˇedí,
•
answersInInstant – poˇcet odpovˇedí v instantním módu,
•
totalTime – celkový cˇ as odpovˇedí,
•
metoda addAnswer(Answer) pˇridá odpovˇed’ (poˇcet odpovˇedí, cˇ as),
•
metoda getCorrectPercentage() vrátí pomˇer správných/všech odpovˇedí,
•
metoda getAverageTime() vrátí pomˇer odpovˇedí/celkový cˇ as.
CategoryStats. Jednoduchý objekt rozšiˇrující CummulativeObject. Slouží k agregování statistik jednotlivých kategorií. •
category – kategorie.
CategoryPersonStats. Podobné jako CategoryStats, avšak uchovává statistiky konkrétní osoby v dané kategorii. •
category – kategorie,
•
person – osoba.
QuestionStats. Statistiky otázky. •
question – otázka,
•
difficulty – obtížnost otázky,
•
answerXcount – 5 podobných promˇenných, kde X je hodnota A–E. Uchovávají poˇcet odpovˇedí pro jednotlivé volby.
•
Metoda addAnswer(Answer) pˇrekrývá metodu pˇredka, využívá ji, ale pˇridává další funcionalitu.
ProgressCP. Tato tˇrída uchovává informace o statistikách osoby v kategorii v urˇcitý cˇ asový okamžik. •
timestamp – cˇ asová známka,
•
person – osoba,
•
category – kategorie. 19
3. A NALÝZA , NÁVRH A IMPLEMENTACE
3.3
Implementace
Jako implementaˇcní platforma byla zvolena Java. Projekt je založen na aplikaˇcních rámcích Spring a Hibernate a je spravován systémem Maven. Maven. Maven2 je nástroj pro správu projektu. Mezi jeho základní funkce patˇrí pˇredevším sestavení projektu, provádˇení testu˚ a další. V konfiguraˇcním souboru pom.xml (Project Object Model) jsou definovány repozitáˇre, závislosti a pluginy. Závislosti udávají odkazy na artefakty (knihovny, balíˇcky, . . . ), které jsou potom dostupné v projektu. Následuje ukázka zadání takovéto závislosti pro zpˇrístupnˇení základních knihoven Springu. <dependency> org.springframework <artifactId>spring-core 3.0.2 Tato knihovna v zadané verzi bude pˇri mavenovském „buildu“ stažena z repozitáˇre na webu a uložena do místního repozitáˇre (typicky v domovském adresáˇri do složky .m2). Pˇri pˇríštím sestavení už bude nahrána pˇrímo z tohoto adresáˇre. Stejnˇe tak projekt je importován do místního repozitáˇre a je stejným postupem dostupný dalším projektum. ˚ Hlavní výhodou tohoto pˇrístupu je transparentnost, pˇri spolupráci více vývojáˇru˚ na jedné aplikaci tak odpadá kopírování a udržování jednotných verzí knihoven. Velice užiteˇcnou pomuckou ˚ pro zaˇcátek je pˇríkaz mvn archetype:generate. Jeho provedením je možné vygenerovat kostry projektu˚ založených na rozmanitých technologiích. Pro usnadnˇení práce existují zásuvné moduly do vývojových prostˇredí (pro Eclipse je to napˇr. m2eclipse). Spring. Spring Framework3 je aplikaˇcní rámec pro snadnˇejší vývoj kvalitních a výkonných programu˚ v Javˇe, pˇredevším v Javˇe EE.[10] Hlavním rysem Springu je kontejner IoC (Inversion of Control), který vykonává tzv. Dependency Injection (DI), cˇ esky vkládání závislostí. V kontejneru si registrujeme závislé služby. Tyto služby jsou potom automaticky vkládány do tˇríd, které je využívají – jsou odkazovány pouze rozhraním a implementace je zamˇenitelná. Spring tímto zajišt’uje volné závislosti mezi komponentami. Pro použití Springu je nutné v souboru web.xml uvést, odkud se má naˇcíst konfiguraˇcní soubor. V nˇem potom povolit skenování komponent v nˇekterých balíˇccích. Spring od verze 2.5 je možné témˇerˇ úplnˇe konfigurovat pomocí anotací. Implementace rozhraní služeb oznaˇcíme anotací @Service nebo @Repository. V místˇe, kde chceme službu využít, mužeme ˚ promˇenou typu rozhraní hledané služby anotovat @Autowired, za bˇehu programu potom bude správnˇe „injektována“ a pˇripravena k použití. Vhodné je to napˇríklad pˇri oddˇelení aplikaˇcní vrstvy od vrstvy DAO (viz. následující podkapitola). 2. 3.
Maven: Spring Framework:
20
3. A NALÝZA , NÁVRH A IMPLEMENTACE Eclipse. Jako vývojové prostˇredí byl zvolen program Eclipse. 4 . Jedná se o nejrozšíˇrenˇejší prostˇredí pro vývoj v jazyce Java. Existuje pro nˇej spoustu zásuvných modulu. ˚ S jejich pomocí velice usnadnuje ˇ programátorovi práci.
Subversion. Apache Subversion byl zvolen pro správu a verzování zdrojových kódu.
3.3.1 Vrstva DAO Pˇrístup k datum ˚ z datových úložišt’ je rˇ ešen na úrovni DAO (Data access object). V Javˇe se používá JDBC (Java Database Connectivity) – standard definující jednotné rozhraní pro pˇripojení k databázi. Nízkoúrovnové ˇ JDBC vyžaduje psaní spousty kódu okolo, zachytávání výjimek apod. Proto se vˇetšinou používají nástroje, které za nás rˇ eší základní problémy a umožnují ˇ nám se soustˇredit na podstatné vˇeci. Mezi takovéto nástroje patˇrí Hibernate nebo EclipseLink. Hibernate je velice pokroˇcilý rámec, nˇekteré jeho cˇ ásti byly dokonce použity pˇri vytváˇrení standardu JPA 2.0 5 . Pro aplikaci TSP Coach byl vybrán právˇe Hibernate.
Hibernate. Rámec pro objektovˇe-relaˇcní mapování Hibernate usnadnuje ˇ persistování objektu˚ v aplikaci. Pomocí anotací (nebo konfigurace v XML souboru) u entitních tˇríd mužeme ˚ definovat, jak bude vypadat databáze (názvy tabulek, sloupcu, ˚ ruzná ˚ omezení, indexy – to všechno Hibernate umí). Jeho souˇcástí je také vlastní dotazovací jazyk HQL, který umožnuje ˇ v dotazech odkazování pˇres objekty (entitní tˇrídy) a jejich atributy. Vývojáˇr proto není nucen pˇrepínat mezi objektovým pˇrístupem Javy a relaˇcní databází. Další výbornou funkcí Hibernate je naprosté odstínˇení od použité databáze. Dotazy v HQL jsou na základˇe konfiguraˇcního souboru automaticky pˇrekládány do dialektu té které databáze.
Databáze. Díky použití technologie Spring a Hibernate je volba použité databáze otázkou 5 rˇ ádku˚ v jednom konfiguraˇcním souboru. Pro testování jUnit byla používána databáze v pamˇeti H26 . Pˇri testování si sice pokaždé musíme vytvoˇrit objekty v ní (trvá to nˇejaký cˇ as), potom s H2 už ovšem pracujeme jako s každou jinou databází až na to, že nedochází k fyzickému upravování položek a po každém spuštˇení testu máme tedy databázi naprosto cˇ istou s novˇe vytvoˇrenými objekty. Pˇri reálném bˇehu aplikace je používána databáze MySQL na školním stroji db.fi.muni.cz. Puvodnˇ ˚ e to mˇela být PostgreSQL, ale kvuli ˚ problému se vzdáleným pˇrístupem a zálohováním nakonec vyhrála prvnˇe jmenovaná databáze.
4. 5. 6.
Eclipse: JPA (Java Persistence API) je aplikaˇcní rozhraní, které slouží k usnadnˇení pˇrístupu k databázi. H2:
21
3. A NALÝZA , NÁVRH A IMPLEMENTACE 3.3.2 Servisní vrstva Servisní vrstva je využívána prezentaˇcní vrstvou a poskytuje jí služby byznys logiky7 . Na druhou stranu využívá jednoduchých služeb vrstvy DAO pro získání dat z datového úložištˇe. 3.3.3 Uživatelské rozhraní Pro vývoj uživatelského rozhraní byl zvolen webový rámec Apache Wicket8 , který se rˇ adí mezi tzv. frameworky založené na komponentách. Každá komponenta se skládá ze znaˇckovací cˇ ásti a Java cˇ ásti. Na obrázku 3.4 mužeme ˚ vidˇet, že ve Wicketu je cˇ istˇe prezentaˇcní cˇ ást oddˇelena od cˇ ásti, která dodává data. Ve standardním HTML vytvoˇríme návrh a rozložení stránky. Dynamické komponenty, panely, seznamy apod. jsou odkazovány wicket:id="nazev", komponenta s tímto identifikátorem potom musí být pˇridána i v Java kódu. [4] 1 2 3 4 5 6 7 8 9 10
HOME Obrázek 3.4: Wicket (XHTML cˇ ást)
1 public class TspCoachPage extends WebPage { 2 3 public TspCoachPage() { 4 add(new Label("title","Název stránky")); 5 add(new TspCoachPanel("tspCoachPanel")); 6 add(new Link<String>("homeLink") { 7 public void onClick() { 8 setResponsePage(HomePage.class); 9 }; 10 }); 11 } 12 } Obrázek 3.5: Wicket (Java cˇ ást) 7. 8.
Za byznys logiku se typicky oznaˇcují tˇrídy obsahující algoritmy a výkonný kód. Wicket:
22
3. A NALÝZA , NÁVRH A IMPLEMENTACE Tˇrída webové stránky musí implementovat WebPage. Tím se zpˇrístupní napˇríklad i Session. Linkování mezi stránkami je velice snadné – v HTML se vytvoˇrí
3.4
Klíˇcová rˇešení
3.4.1 Import otázek. Pro možnost využití otázek TSP k úˇcelu vytvoˇrení této aplikace byla autorovi Masarykovou univerzitou udˇelena licence. Testy z minulých let i jejich rˇ ešení jsou dostupné na webu9 v souborech pdf. Velkým úkolem bylo zpracovat tyto soubory, získat z nich otázky a správné odpovˇedi a ty poté importovat do aplikace. Jak nejlépe zpracovat otázky z pdf? Jednou možností by bylo použít automatizovaný pˇrevod. Avšak ta 9.
Minulé verze Testu studijních pˇredpokladu: ˚
23
3. A NALÝZA , NÁVRH A IMPLEMENTACE byla brzo zamítnuta, protože spoustu otázek obsahuje ruzné ˚ symboly a obrázky, nˇekde je duležité ˚ i formátování textu. Proto jako nejlepší rˇ ešení se jeví pracovat s celými obrázky (kopiemi jednotlivých otázek). Uložení obrázku˚ v databázi sice možné je použitím blobu˚ apod., ale pro webovou aplikaci je nejjednodušší (a asi i nejlepší) jejich prosté uložení do adresáˇrové struktury souborového systému. Ukládání obrázku˚ ze souboru pdf je velice snadné za pomoci aplikace Okular10 . Myší staˇcí „pˇretáhnout“ rámeˇcek pˇres cˇ ást souboru a uložit jako jpg. Strategie pojmenování adresáˇru˚ je velice jednoduchá: rok/verze/cislo_otazky. Objekt Question má také odpovídající promˇenné. Na jejich základˇe jsou potom obrázky získány a zobrazeny v prohlížeˇci. Druhou cˇ ástí importování otázek bylo jejich pˇridání (spolu se správnými odpovˇed’mi) do databáze. Byl napsán jednoduchý parser, který prochází výsledky testu˚ a na základˇe struktur z jednotlivých roku˚ vytváˇrí objekty s pˇríslušnými atributy a pˇridává je do databáze. Problém je, že v jeden rok jsou otázky v ruzných ˚ variantách testu˚ velice podobné. Z tohoto duvodu ˚ byla do systému pˇridána vždy jen jedna sada pro jeden konkrétní rok. Možným rˇ ešením by bylo pˇrednostnˇe pˇredkládat uživateli jen odlišné testy. Teprve pokud by mˇel vše hotové, položit mu z tˇechto podobných. V tomto smˇeru by bylo možné pˇri vybírání otázky testovat, jestli není ještˇe zodpovˇezena položka se stejným poˇradovým cˇ íslem pro daného uživatele ze stejného roku ale s rozdílnou verzí testu. 3.4.2 QuestionFilter Pro snadnˇejší sdˇelování informací prezentaˇcní cˇ ásti aplikaˇcní logice, jaká data chce, je využíván filtr QuestionFilter. Obsahuje mimo jiné kategorii, osobu, rok, variantu testu a cˇ íslo otázky. Tato datová struktura potom nese informaci o tom, jaká data požadujeme. Další atributy této tˇrídy jsou: •
completeAnswersOnly – když je nastaveno na true, jsou z vráceného seznamu vynechány odpovˇedi, které nemají zadanou vybranou odpovˇed’ (typicky se jedná o otázku, která byla uživatelem otevˇrena, ale nebyla zodpovˇezena),
•
difficulty – v jakém rozmezí obtížnosti mají být vrácené otázky,
•
dateFrom a dateTo – interval, v jakém se mají odpovˇedi hledat,
•
orderBy – poˇradí výsledku˚ (napˇríklad podle data nebo podle cˇ ísla otázky),
•
limit – kolik maximálnˇe položek chceme vrátit. Duležité ˚ napˇríklad u doporuˇcovací funkce nebo u dotazu, jestli existuje alesponˇ jedna odpovˇed’ v dané kategorii.
Takovýto objekt s nˇekterými zadanými atributy je potom používán pro tvorbu komplexních dotazu˚ na databázi. 10. Okular:
24
3. A NALÝZA , NÁVRH A IMPLEMENTACE 3.4.3 Odpovídání Hlavním rysem systému je pˇredkládání otázek, jejichž rˇ ešení je pro pˇrípravu nejefektivnˇejší. Nejdˇríve je nutné od uživatele posbírat nˇekolik odpovˇedí a na jejich základˇe stanovit jeho schopnost. Potom už mu mužeme ˚ klást otázky, které jsou pˇribližnˇe na jeho úrovni (nebo mírnˇe nad ní), a po každé odpovˇedi jeho schopnost upravovat. Využití cˇ isté IRT by nebylo možné, kvuli ˚ vzájemnému ovlivnování ˇ schopnosti uživatele, obtížnosti otázky a tím i všech ostatních odpovídajících. To by vyžadovalo vysoké nároky na databázi a strojový výkon serveru. Proto bylo zvoleno rˇ ešení s duplicitními záznamy v databázi a obˇcas úmyslným porušením normálních forem. Systém také poskytuje uživatelum ˚ velice užiteˇcnou možnost porovnání statistik v jednotlivých kategorií s ostatními úˇcastníky. Což ovšem vyžaduje pˇri každém zobrazení stránky se statistikami kompletní pruchod ˚ všech odpovˇedí, odfiltrování neplatných a pˇrepoˇcítání statistik. Což je samozˇrejmˇe nereálné. Z tohoto duvodu ˚ se pˇri odpovídání ukládají údaje do nˇekolika pomocných tabulek. Celý prubˇ ˚ eh odpovˇedi na otázku mužete ˚ vidˇet na obrázcích B.7 a B.8 v pˇríloze práce. První obrázek ukazuje uložení neukonˇcené odpovˇedi. To je provedeno pˇri otevˇrení otázky – zaznamenáme tím, že daná osoba už otázku otevˇrela, a pokud ji nezodpoví (napˇríklad neví odpovˇed’, nebo se mu nad ní nechce pˇremýšlet), je nutné o tom uložit informaci do statistik. Provede se tedy zvýšení poˇctu zodpovˇezených otázek v kategorii. Pokud uživatel otázku skuteˇcnˇe zodpoví, je nejprve uložena samotná odpovˇed’. Data pro statistiky však musí dosahovat urˇcitých kvalit. Je tedy testováno, jestli odpovˇed’ netrvala podezˇrele krátkou dobu. Lze pˇredpokládat, že nˇekteˇrí uživatelé budou chtít vˇedˇet odpovˇedi a statistiky rovnou, a proto odpovˇedí jakkoliv. Jako minimum bylo stanoveno 5 vteˇrin11 . Na druhou stranu nechceme ani statistiky odpovˇedí na otázky, kdy si je uživatel otevˇre a odejde na delší dobu od poˇcítaˇce. Maximální cˇ as pro zapoˇcítání odpovˇedi do statistik je pul ˚ hodiny. Dalším omezením pro zapoˇcítání statistik je podmínka na 7. rˇ ádku zjišt’ující, jestli není osoba odpovídající na otázku v testovacím módu12 . Jsou-li pˇredchozí 3 podmínky splnˇeny, program vstoupí do metody addToStats(), kde se uloží statistiky konkrétní otázky, statistiky všech otázek v kategorii a statistiky všech otázek v kategorii pro konkrétní osobu (viz. návrh 3.2). Všechny tyto statistiky si nesou informace o celkovém poˇctu odpovˇedí, poˇctu správných odpovˇedí, odpovˇedí v instantním módu a celkovém cˇ asu. Speciálnˇe pro QuestionStats je zvýšen poˇcet odpovˇedí pro vybranou odpovˇed’ a je pˇrepoˇcítána obtížnost otázky. Obtížnost se vypoˇcítá z poˇctu odpovˇedí a správných odpovˇedí (viz. 3.1). Tato redundantní informace je v objektu i v databázi uložena pro umožnˇení rychlejšího vyhledávání. Na základˇe tohoto atributu funguje i doporuˇcovací funkce (viz. 3.4.4).
11. Za 5 vteˇrin se dá stihnout pˇreˇcíst jen minimum otázek. Zamyslet se a odpovˇedˇet správnˇe je témˇerˇ nemožné. I když se objevilo nˇekolik jedincu, ˚ kteˇrí byli schopni v nˇekteré kategorii odpovˇedˇet správnˇe za velice krátkou dobu, nakonec bylo stanoveno pˇet sekund jako rozumné minimum. Puvodnˇ ˚ e bylo testováno i se 2 vteˇrinami, ale bezmyšlenkovité odkliknutí nˇejaké odpovˇedi pravdˇepodobnˇe ve vˇetšinˇe pˇrípadu˚ trvá déle než tento cˇ asový okamžik. 12. Testovací mód slouží pro testování funkˇcnosti systému na produkˇcním serveru. Zajišt’uje neukládání statistik a další chování, které by mˇelo vliv na data v aplikaci.
25
3. A NALÝZA , NÁVRH A IMPLEMENTACE Tímto postupem se pˇri odpovídání dynamicky mˇení obtížnost otázky a také schopnost uživatele v jednotlivých kategoriích. Pomocí tˇechto dvou hodnot jsou potom otázky vybírány tak, aby nebyly pˇríliš snadné, ani obtížné.
3.4.4 Doporuˇcovací funkce Díky ukládaným informacím pˇri odpovídání otázek jsme snadno schopni vybírat pro uživatele pˇrimˇerˇ enˇe obtížné úkoly. Na obrázku B.9 vidíme metodu recommendNextQuestion, která vrací vybranou otázku pro danou osobu a kategorii. Mužeme ˚ vidˇet, jak se nejprve nastaví filtr pro vyhledávání podle osoby a kategorie a také limit vráceného seznamu na pouze jednu položku. Dále je potom náhodnˇe prumˇ ˚ ernˇe jednou z deseti pruchod ˚ u˚ vybíráno ze všech otázek (nejenom tˇech doporuˇcovaných). Toto bylo pˇridáno pro to, aby byly obˇcas pˇredloženy i otázky s velice nízkou, nebo naopak velice vysokou obtížností a nezustávaly ˚ tak zcela mimo dˇení. Na rˇ ádku 13 se ze statistik osoby v kategorii vezme procento úspˇešnosti. Do filtru se poté nastaví rozmezí okolo této hodnoty. Interval byl stanoven na ± 20 procentních bodu. ˚ Pokud tedy má osoba úspˇešnost napˇr. 62 %, budou jí pˇredkládány otázky obtížnosti 42–82 %. Úkoly pˇríliš snadné a pˇríliš obtížné budou vybírány jen výjimeˇcnˇe. Pokud se v prubˇ ˚ ehu testování zlepší nebo zhorší, bude tento interval automaticky upravován. Když není podle zadaných kritérií nalezena žádná otázka, je na rˇ ádku 17 nastavena promˇenná pro požadované rozmezí difficulty na null. Další vyhledávání potom není omezeno tímto parametrem a je vybíráno ze všech dostupných (nezodpovˇezených) otázek v dané kategorii. V pˇrípadˇe, že je nˇejaká položka nalezena, je pˇredložena uživateli. Co se týká poˇradí pˇredkládaných otázek v pˇrípadˇe, že je nalezeno více vyhovujících, postupuje se popoˇradˇe tak, jak byly otázky do systému vkládány. Mimo jiné to znamená, že otázky „ze zaˇcátku“ budou mít více odpovˇedí než ty „na konci“. Ne všichni uživatelé totiž zodpoví všechny otázky v dané kategorii a na ty nejnovˇejší se tak ne vždy dostane. Toto je na jednu stranu nevýhoda z toho pohledu, že nebude rovnomˇerné rozložení odpovˇedí. Na druhou stranu, když všichni uživatelé rˇ ešili nˇekolik stejných otázek, je mužeme ˚ pˇresnˇeji porovnat.
3.4.5 Progres Pro uživatele by mohla být velice zajímavá informace o vývoji jeho úspˇešnosti v cˇ ase. Proto byla implementovaná funkcionalita pro pravidelné ukládání statistik. Na obrázku B.10 je algoritmus, který je spouštˇen pravidelnˇe každý den ve 4 hodiny ráno (protože to je zátˇež systému nejnižší a zárovenˇ se v tento cˇ as jakoby uzavírá pˇredchozí den). Nejprve jsou získány jen ty osoby, které se do systému pˇrihlásily bˇehem pˇredchozího dne (obecnˇe za období, pro které chceme statistiky uložit). Tento dotaz je velmi snadný, protože se u každého uživatele uchovává atribut lastLogin, jenž je pˇri každém pˇrihlášení aktualizován. Všechny takto vybrané osoby jsou postupnˇe procházeny. Pokud je uživatel ale26
3. A NALÝZA , NÁVRH A IMPLEMENTACE sponˇ registrovaný13 , projdou se aktuální statistiky dané osoby v jednotlivých kategoriích. Když je nˇekterá z nich novˇejší než je poslední ProgressCP, je uložena do databáze. Na konci kvˇetna 2011 jsou v systému pouze 2 osoby, které mají alesponˇ 5 zmˇen (tzn. odpovídaly v minimálnˇe 5 ruzných ˚ dnech). Proto se zatím nezdá pˇríliš zajímavé uvádˇet takovouto funkci. TSP Coach byl oficiálnˇe spuštˇen a povˇedomí o nˇem rozšíˇreno týden pˇred pˇrijímacími zkouškami TSP. Zájem o nˇej po nich pochopitelnˇe výraznˇe opadl. Dá se ovšem pˇredpokládat, že pˇred pˇríštími testy studijních pˇredpokladu˚ bude systém využíván v pˇredstihu a pravidelnˇeji, a proto by implementace této funkcionality mohla být žádoucí.
3.5
Nasazení
TSP Coach byl nejprve pro testovací úˇcely zprovoznˇen na studentském testovacím serveru Kore14 . Po domluvˇe s provozovateli Tutor webu15 , bylo umožnˇeno nasadit aplikaci na stabilnˇejší server http://tutor.fi.muni.cz/tspcoach. Díky použití technologií jako je Maven, Spring a Hibernate je vytvoˇrení, nahrání a spuštˇení aplikace na serveru otázkou nˇekolika pˇríkazu. ˚ Oproti vývojovému prostˇredí je nutné jen zmˇenit pˇrístup k databázi. Pro bˇeh aplikace je používán servletový kontejner Apache Tomcat16 . Jedinou menší nepˇríjemností byla nutnost nakopírovat do složky aplikace adresáˇr s obrázky jednotlivých otázek po každém novém nahrání aplikace na server.
13. Když je uživatel jenom host (tzn. neregistrovaný), nemuže ˚ se už vrátit a odpovídat dál. Proto by bylo naprosto zbyteˇcné u nˇej ukládat progres. 14. Kore: 15. Tutor web: 16. Apache Tomcat:
27
Kapitola 4
Analýza dat Jak je uvedeno v pˇredchozí kapitole, nejprve byl vyvinut prototyp pro sbˇer vzorových dat a teprve na zaˇcátku kvˇetna byl systém dotažen do té fáze, že mohl být rozšíˇren mezi širší veˇrejnost. Od 2. kvˇetna 2011 je v provozu i adaptabilní mód, ve kterém se systém pˇrizpusobuje ˚ podle odpovˇedí uživatele a pˇredkládá mu vhodné otázky. V následujících kapitolách, pokud není rˇ eˇceno jinak, jsou statistiky uvedeny k 26. kvˇetnu 2011. Jsou filtrovány na odpovˇedi, které trvaly déle než 5 sekund a zahrnuty jsou jen ty osoby, které mají alesponˇ 10 odpovˇedí. Postupnˇe bylo pˇridáno 474 otázek ve dnech: 26.04.2011 rok 2010, varianta 13 26.04.2011 rok 2009, varianta 1 01.05.2011 rok 2008, varianta 18 02.05.2011 rok 2007, varianta 5 03.05.2011 rok 2006, varianta 41 04.05.2011 rok 2005, varianta 68 05.05.2011 rok 2004, varianta 24
4.1
Celkové statistiky
V tabulce 4.1 mužeme ˚ vidˇet, jak postupnˇe pˇribývalo uživatelu, ˚ odpovˇedí, i jak se vyvíjela úspˇešnost odpovˇedí. Datum 01.05.2011 02.05.2011 03.05.2011 04.05.2011 05.05.2011 06.05.2011 07.05.2011 08.05.2011 26.05.2011
Osob 48 101 155 209 253 289 320 326 357
Reg. 25 46 60 75 90 99 106 108 116
Odp. 1037 2555 5199 7948 10473 13071 14753 14942 15370
OK 641 1798 3644 5430 7167 8764 9836 9959 10217
% OK 62 % 70 % 70 % 68 % 68 % 67 % 67 % 67 % 66 %
ˇ Cas 1779 3566 6407 9052 12199 15201 16877 17126 17700
Pozn. testovací provoz veˇrejné spuštˇení
zaˇcátek TSP konec TSP
Tabulka 4.1: Absolutní cˇ etnosti Následující tabulka 4.2 je lépe vypovídající, zobrazuje totiž relativní cˇ etnosti v prubˇ ˚ ehu cˇ asu. Do 2. 5. probíhal testovací provoz bez spuštˇené doporuˇcovací funkce. 28
4. A NALÝZA DAT Mužeme ˚ vidˇet, že procento úspˇešných odpovˇedí je nejnižší a naopak prumˇ ˚ erný cˇ as nejvyšší za celé období. Dá se ovšem pˇredpokládat, že je to dáno omezenou skupinou lidí, ve které nebyli témˇerˇ žádní letošní uchazeˇci o studium na Masarykovˇe univerzitˇe. Po propagaci aplikace TSP Coach na Facebooku, na nˇekolika diskuzních fórech a s vidinou toho, že pˇrijímací zkoušky jsou už za týden, zaˇcal velice rychle narustat ˚ poˇcet uživatelu. ˚ Zajímavé je, že první den úspˇešnost vyskoˇcila až k 76 % a dále se už jen snižovala. Ve dnech 3.–6. 5. (poslední 4 dny pˇred Testy studijních pˇredpokladu) ˚ dosáhla používanost systému vrcholu. Každý den se pˇrihlásilo témˇerˇ 50 lidí a zodpovˇedˇelo kolem 2500 otázek. Zajímavá je kupˇríkladu stˇreda 4. 5., kdy prumˇ ˚ erný cˇ as odpovˇedi byl pod 1 minutou a zárovenˇ klesla úspˇešnost na 65 %. V pátek a sobotu (1. den testu) ˚ se výraznˇe snížila úspˇešnost. Pravdˇepodobnˇe to je dáno faktem, že nˇekteˇrí studenti zaˇcali s pˇrípravou pozdˇe a snažili se to na poslední chvíli „dohonit“. Po skonˇcení pˇrijímacích zkoušek zájem zcela pochopitelnˇe výraznˇe opadl. V prubˇ ˚ ehu následujících témˇerˇ 3 týdnu˚ bylo zodpovˇezeno jen nˇeco kolem 500 otázek. Uživatelé ale prubˇ ˚ ežnˇe pomalu pˇribývají. Datum 01.05.2011 02.05.2011 03.05.2011 04.05.2011 05.05.2011 06.05.2011 07.05.2011 08.05.2011 26.05.2011
Osob 48 53 54 54 44 36 31 6 31
Reg. 25 21 14 15 15 9 7 2 8
Odp. 1037 1518 2644 2749 2525 2598 1682 189 427
OK 641 1157 1846 1786 1737 1597 1072 123 258
% OK 62 % 76 % 70 % 65 % 69 % 61 % 64 % 65 % 60 %
ˇ Cas 1779 1787 2841 2645 3147 3002 1676 249 574
Prum.ˇ ˚ c. 01:43 01:10 01:04 00:58 01:15 01:09 01:00 01:19 01:20
Pozn. testovací provoz veˇrejné spuštˇení
zaˇcátek TSP konec TSP
Tabulka 4.2: Relativní cˇ etnosti Osob je celkový poˇcet uživatelu˚ (i tˇech, kteˇrí nezodpovˇedˇeli ani 10 otázek). Reg. je poˇcet registrovaných uživatelu. ˚ Odp. je poˇcet odpovˇedí. OK je poˇcet správných odpovˇedí. % OK je procento správných odpovˇedí. ˇ Cas je cˇ as v minutách strávený odpovídáním. Prum.ˇ ˚ c. je prumˇ ˚ erný cˇ as jedné odpovˇedi.
Absolutní cˇ ísla systému v souˇcasné dobˇe: •
celkovˇe lidí: 357
•
registrovaných: 116
•
lidí, kteˇrí odpovˇedˇeli alesponˇ 10 otázek: 202
•
otázek v systému: 474
•
celkem odpovˇedí: 16354
•
cˇ as strávený odpovídáním: 295 hodin 29
4. A NALÝZA DAT Hodnoty nˇekterých percentilu˚ všech osob napˇríˇc kategoriemi: •
dolní kvartil: 0,49
•
medián: 0,60
•
horní kvartil: 0,74
4.2
Statistiky kategorií
Dále uvádíme porovnání mezi kategoriemi. Jednotlivé oblasti vyžadují ruzné ˚ druhy schopností, ruznou ˚ míru soustˇredˇení a cˇ asu potˇrebného k odpovídání otázek. Puvodnˇ ˚ e byla v systému TSP Coach na první pozici kategorie kritické myšlení (stejnˇe jako je tomu v testech roku 2010), avšak pravdˇepodobnˇe kvuli ˚ vysoké obtížnosti tato první zkušenost uživatele od testování odrazovala.1 Kritické myšlení tedy bylo pˇresunuto na konec. V tabulce 4.3 jsou kategorie v poˇradí, v jakém jsou na hlavní stránce aplikace. Pravdˇepodobnˇe proto je poˇcet odpovídajících osob sestupný. S výjimkou kulturního pˇrehledu, kde jsou otázky pˇrevážnˇe takové, že na nˇe uživatel bud’ zná, nebo nezná odpovˇed’. Prumˇ ˚ erný cˇ as strávený v této kategorii je výraznˇe nižší než v ostatních. Procento úspˇešnˇe zodpovˇezených otázek v prvních cˇ tyˇrech kategoriích dosahuje úrovnˇe pˇetasedmdesáti bodu. ˚ U následujících je výraznˇe nižší. Kategorie verbální numerické symbolické prostor. p. analytické kulturní p. kritické
Osob 100 62 56 59 45 87 33
Odp. 3541 1904 1449 2156 1671 3137 904
OK 2673 1364 1052 1603 1001 1709 474
% OK 75 % 72 % 73 % 74 % 60 % 54 % 52 %
ˇ Cas 2823 3565 2640 2416 3020 1486 1012
Prum.ˇ ˚ c. 00:47 01:52 01:48 01:06 01:50 00:28 01:07
% Bez odp. 3,0 % 5,4 % 6,8 % 3,2 % 5,6 % 1,9 % 6,4 %
Tabulka 4.3: Statistiky kategorií Sloupeˇcek % Bez odp. udává poˇcet „vynechaných otázek“. Otázky se vynechávat nedají, ale tím, že ji cˇ lovˇek otevˇre a neodpoví, zustane ˚ nezodpovˇezená a už mu nebude znovu položena. Mužeme ˚ vidˇet, že i podle tohoto kritéria jsou mezi jednotlivými kategoriemi podstatné rozdíly. Zatímco v kulturním pˇrehledu takto skonˇcila jen necelá 2 % odpovˇedí, v symbolickém myšlení to je témˇerˇ 7 %. To znamená, že každá 14. položka zustane ˚ po otevˇrení nezodpovˇezená. V tabulce 4.4 je pro každou kategorii uveden medián a horní a dolní kvartil ze statistiky úspˇešnosti osob. Tyto hodnoty vypovídají lépe o celkové obtížnosti kategorie. Být prumˇ ˚ erný znamená ve verbálním myšlení a prostorové pˇredstavivosti odpovˇedˇet správnˇe pˇribližnˇe 70 % otázek. Další je numerické, následované symbolickým a analytickým myšlením. Zajímavé je srovnání právˇe symbolické a analytické cˇ ásti. Obˇe mají sice 1. Pˇripomínáme, že v první fázi odpovídali vˇetšinou už studenti nebo absolventi vysokých škol. Proto nemˇeli takovou motivaci pˇrekonat nepˇríjemnosti.
30
4. A NALÝZA DAT Kategorie verbální numerické symbolické prostor. p. analytické kulturní p. kritické
K0.25 0,57 0,47 0,45 0,56 0,44 0,42 0,35
K0.50 0,72 0,65 0,56 0,70 0,54 0,50 0,47
K0.75 0,84 0,83 0,81 0,83 0,71 0,60 0,58
Tabulka 4.4: Percentily osob podobný medián a dolní kvartil, ale horní kvartil (tedy být lepší než 75 % lidí) se výraznˇe liší. Naznaˇcuje to, že více lidí dokáže správnˇe zodpovˇedˇet více tˇežších úkolu˚ v symbolickém než v analytickém myšlení. Tabulka 4.5 nám podobnou informaci jako pˇredchozí tabulka ukazuje z jiného úhlu pohledu – mužeme ˚ zde najít percentily obtížnosti otázek v jednotlivých kategoriích. Jak je vidˇet, u verbálního myšlení jsou velice jednoduché otázky s mediánem 20 % špatných odpovˇedí. Kategorie verbální numerické symbolické prostor. p. analytické kulturní p. kritické
K0.25 0,11 0,14 0,11 0,12 0,24 0,33 0,33
K0.50 0,20 0,25 0,22 0,23 0,40 0,46 0,50
K0.75 0,36 0,38 0,36 0,35 0,50 0,60 0,60
Tabulka 4.5: Percentily otázek Obecnˇe se dá usuzovat, že kategorie kritické myšlení je pro uživatele nejnepˇríjemnˇejší. Více než 10 otázek v ní zodpovˇedˇelo jen 33 lidí, úspˇešnost je nejnižší a nezodpovˇezených položek zustává ˚ 6,4 %. Také medián nedosahuje ani 50 procent.
4.3
Srovnání osob
Porovnání podle vˇeku Celkem 80 uživatelu˚ uvedlo pˇri registraci svuj ˚ vˇek. Z nich 62 zodpovˇedˇelo alesponˇ 10 otázek. V tabulce 4.6 mužeme ˚ vidˇet, že „na vˇeku nezáleží“, co se týká celkové úspˇešnosti. Pouze v prvních dvou vˇekových kategoriích je dostatek odpovídajících, abychom mohli dˇelat nˇejaké závˇery. Následující tabulka nám ukazuje, že nejmladší vˇeková skupina je o nˇeco horší ve verbálním a numerickém myšlení a prostorové pˇredstavivosti, zatímco lidé ve vˇeku 21–25 jsou slabší v analytickém a kritickém myšlení. 31
4. A NALÝZA DAT Vˇek 17–20 21–25 26–35 36–45
Poˇcet 35 17 6 4
Prum. ˚ úspˇešnost 0,60 0,60 0,60 0,58
Tabulka 4.6: Prumˇ ˚ er úspˇešnosti odpovˇedí podle vˇeku Kategorie verbální numerické symbolické prostor. p. analytické kulturní p. kritické
17–20 0,69 (29) 0,63 (17) 0,60 (15) 0,68 (14) 0,59 (9) 0,47 (19) 0,48 (4)
21–25 0,75 (11) 0,70 (9) 0,62 (8) 0,77 (11) 0,51 (4) 0,47 (14) 0,37 (5)
26–35 0,67 (4) 0,71 (4) 0,83 (3) 0,65 (4) 0,63 (3) 0,47 (5) 0,42 (2)
36–45 0,63 (3) 0,38 (2) 0,56 (3) 0,33 (1) 0,29 (2) 0,50 (2)
Tabulka 4.7: Prumˇ ˚ er úspˇešnosti odpovˇedí v kategoriích podle vˇeku Porovnání podle vzdˇelání Celkem 76 uživatelu˚ uvedlo dosažené vzdˇelání. Z nich 60 zodpovˇedˇelo alesponˇ 10 otázek. Vidíme, že vysokoškoláci jsou v prumˇ ˚ eru o 5 % lepší než stˇredoškoláci. Výraznˇe vyšší úspˇešnost mají v numerickém a symbolickém myšlení. Prumˇ ˚ ery ovšem mohou být zkresleny nízkým poˇctem odpovídajících z rˇ ad vysokoškolsky vzdˇelaných úˇcastníku. ˚ Vzdˇelání stˇredoškolské vysokoškolské
Poˇcet 49 10
Prum. ˚ úspˇešnost 0,60 0,65
Tabulka 4.8: Prumˇ ˚ er úspˇešnosti odpovˇedí podle dosaženého vzdˇelání
Porovnání podle oblasti vzdˇelání Celkem 61 uživatelu˚ uvedlo oblast vzdˇelání. Z nich 47 zodpovˇedˇelo alesponˇ 10 otázek. K pˇrírodovˇednému smˇeru se pˇrihlásili jen 2 úˇcastníci, proto je ve srovnání vynecháváme. Studenti humanitních oboru˚ jsou ve všech oblastech lepší než studenti technických. Dokonce i v numerickém a symbolickém myšlení a prostorové pˇredstavivosti, které by mˇeli být doménou právˇe technických smˇeru. ˚ Pravdˇepodobnˇe se tato skuteˇcnost dá vysvˇetlit vyšším pomˇerem pˇrijatých a hlásících se studentu˚ na technické obory a tudíž i menší motivací a snahou v testech. 32
4. A NALÝZA DAT
Kategorie verbální numerické symbolické prostor. p. analytické kulturní p. kritické
SŠ 0.69 (36) 0,62 (27) 0,58 (23) 0,70 (24) 0,58 (12) 0,45 (31) 0,46 (8)
VŠ 0,75 (9) 0,79 (5) 0,78 (6) 0,70 (6) 0,57 (4) 0,48 (7) 0,37 (5)
Tabulka 4.9: Prumˇ ˚ er úspˇešnosti odpovˇedí v kategoriích podle dosaženého vzdˇelání
Oblast vzdˇelání humanitní technické pˇrírodovˇedné
Poˇcet 27 18 2
Prum. ˚ úspˇešnost 0,63 0,55 0,64
Tabulka 4.10: Prumˇ ˚ er úspˇešnosti odpovˇedí podle oblasti vzdˇelání
Kategorie verbální numerické symbolické prostor. p. analytické kulturní p. kritické
Hum. 0.77 (19) 0,67 (16) 0,66 (10) 0,73 (14) 0,66 (7) 0,52 (19) 0,44 (6)
Tech. 0,63 (14) 0,63 (11) 0,65 (11) 0,69 (12) 0,54 (7) 0,39 (14) 0,37 (5)
Tabulka 4.11: Prumˇ ˚ er úspˇešnosti odpovˇedí v kategoriích podle oblasti vzdˇelání
33
4. A NALÝZA DAT Porovnání podle pohlaví Celkem 93 uživatelu˚ uvedlo svoje pohlaví. Z nich 74 zodpovˇedˇelo alesponˇ 10 otázek. Jedinou doménou mužu˚ je prostorová pˇredstavivost. Ve vˇetšinˇe ostatních kategoriích jsou lepší ženy. Pohlaví muž žena
Poˇcet 27 47
Prum. ˚ úspˇešnost 0,59 0,61
Tabulka 4.12: Prumˇ ˚ er úspˇešnosti odpovˇedí podle pohlaví Kategorie verbální numerické symbolické prostor. p. analytické kulturní p. kritické
Muž 0.68 (17) 0,64 (14) 0,59 (14) 0,77 (15) 0,57 (9) 0,44 (20) 0,37 (6)
Žena 0,71 (36) 0,64 (20) 0,67 (19) 0,66 (17) 0,60 (11) 0,49 (26) 0,48 (9)
Tabulka 4.13: Prumˇ ˚ er úspˇešnosti odpovˇedí v kategoriích podle pohlaví
4.4
Vývoj uživatele a vyhodnocení adaptabilního pˇredkládání otázek
V následující cˇ ásti si projdeme krok po kroku odpovídání jedné osoby v jedné kategorii. Na dvou pˇríkladech uvidíme, jak se chová adaptabilní doporuˇcování a jak reaguje na vývoj schopnosti cˇ lovˇeka. Jako ukázku zvolíme osobu s poˇradovým cˇ íslem 2412 , která má v souˇcasné dobˇe v kritickém myšlení úspˇešnost odpovˇedí 32 %. V tabulce 4.14 mužeme ˚ vidˇet postupný vývoj této osoby. Sloupec OK znaˇcí skuteˇcnost, zda byla daná otázka správnˇe zodpovˇezena. Následující sloupce jsou složitost otázky a schopnost osoby v daném cˇ asovém okamžiku. Po zodpovˇezení otázky se schopnost upravuje. Položky jsou pro pˇrehlednost rozdˇeleny do skupin po deseti. Pod každou takovouto skupinou je uveden pomˇer správných a celkových odpovˇedí a také prumˇ ˚ er obtížnosti položených otázek. Mužeme ˚ pozorovat, že vybraná osoba odpovídá dobˇre vˇetšinou na jednodušší otázky. Prumˇ ˚ er obtížnosti správnˇe zodpovˇezených položek je totiž 36 %, zatímco špatnˇe zodpovˇezených 49 %. Úspˇešnost se po deseti úvodních otázkách usadí na hodnotˇe 0,30. Po sérii špatných odpovˇedí ovšem klesne až na 0,21, což zapˇríˇciní v následující cˇ ásti výbˇer jednodušších otázek a opˇetovný rust ˚ úspˇešnosti. 2. V dobˇe, kdy se uživatel s poˇradovým cˇ íslem 241 zaregistroval, už bylo v systému velké množství odpovˇedí, ze kterých se dala odvodit složitost otázek.
34
4. A NALÝZA DAT Poslední 4 položky jsou ty, které kvuli ˚ své vyšší obtížnosti „zbyly“ a nebyly doporuˇcovací funkcí vybrány. # 01 02 03 04 05 06 07 08 09 10
ID otázky 2009-01-70 2010-13-01 2010-13-02 2010-13-04 2010-13-05 2010-13-03 2010-13-06 2010-13-08 2010-13-10 2009-01-65
11 12 13 14 15 16 17 18 19 20
2009-01-66 2008-18-62 2009-01-61 2009-01-69 2008-18-63 2008-18-64 2008-18-65 2008-18-68 2008-18-69 2007-05-24
OK A N A N N N N N A 3/10 N A N N N N N N N A 2/10
Sl. 0,10 0,56 0,62 0,61 0,59 0,28 0,32 0,37 0,42 0,25 0,41 0,58 0,28 0,50 0,60 0,50 0,53 0,31 0,62 0,40 0,57 0,49
Sch. 1 0,50 0,67 0,50 0,40 0,33 0,29 0,25 0,22 0,30
# 21 22 23 24 25 26 27 28 29 30
ID otázky 2007-05-17 2006-41-32 2006-41-34 2006-41-35 2006-41-36 2007-05-20 2010-13-07 2009-01-64 2007-05-18 2009-01-67
0,27 0,33 0,31 0,29 0,27 0,25 0,24 0,22 0,21 0,25
31 32 33 34
2006-41-38 2010-13-09 2009-01-62 2009-01-63
OK N A N A A A N N A N 5/10 N N N A
Sl. 0,46 0,15 0,33 0,23 0,33 0,46 0,68 0,50 0,42 0,46 0,40 0,58 0,63 0,60 0,60
1/4
0,60
11/34
0,45
Sch. 0,24 0,27 0,26 0,29 0,32 0,35 0,33 0,32 0,34 0,33 0,32 0,31 0,30 0,32
Tabulka 4.14: Percentily otázek, kritické myšlení, osoba cˇ . 241 Druhá zvolená osoba (ˇc. 191) má v analytickém myšlení úspˇešnost odpovˇedí 52 %. V tabulce 4.15 mužeme ˚ vidˇet postupný vývoj této osoby. Nejprve musíme upozornit, že cˇ ást odpovˇedí této osoby je „podezˇrelá“. Mezi prvními 24 je vˇetšina odpovˇedí za velice nízký cˇ as. Pro ilustraci pˇredkládání otázek však muže ˚ posloužit dobˇre. Zbˇežným pohledem na hodnoty sloupce schopnost vidíme, jak má stoupající tendenci – od poˇcáteˇcních pˇribližnˇe 20 % až ke koneˇcným více než 50 procentum. ˚ Obtížnost otázek je v první sadˇe nízká, ale uživatel zvládl jen 2 otázky. V 6. sadˇe je obtížnost stejná, ale správných odpovˇedí je už 7. Ostatní obtížnosti jsou blízko 0,45. Je to dáno tím, že (a) 50 % otázek v analytickém myšlení je v rozmezí obtížnosti 0,24–0,50 (viz. tabulka 4.5), (b) schopnost uživatele se vyvíjí a po rozšíˇrení o ± 0,2 stále zahrnuje otázky v širokém spektru. Mužeme ˚ také pozorovat, jak algoritmus adaptabilního výbˇeru otázek jednou za cˇ as (v prumˇ ˚ eru by to mˇelo být jednou z deseti) pˇredloží otázku, která je mimo rámec uživatelovy schopnosti rozšíˇrené o ± 0,2 body. Je to vidˇet napˇr. u otázek cˇ íslo 19, 23, 27, 30, 36 a 46. Posledních 10 položek jsou ty, co „zbyly“. 35
4. A NALÝZA DAT # 01 02 03 04 05 06 07 08 09 10
ID otázky 2010-13-51 2010-13-54 2010-13-52 2010-13-55 2010-13-53 2010-13-58 2009-01-41 2009-01-42 2009-01-44 2009-01-46
11 12 13 14 15 16 17 18 19 20
2008-18-42 2010-13-56 2010-13-57 2010-13-59 2009-01-48 2010-13-60 2009-01-49 2008-18-43 2009-01-43 2009-01-47
21 22 23 24 25 26 27 28 29 30
2008-18-46 2008-18-50 2008-18-47 2007-05-47 2007-05-15 2007-05-14 2007-05-46 2007-05-13 2007-05-10 2008-18-49
31 32 33 34 35 36 37 38 39 40
2006-41-65 2006-41-66 2009-01-45 2007-05-48 2006-41-68 2009-01-50 2008-18-41 2007-05-09 2006-41-70 2006-41-72
OK N N N A N N N A N N 2/10 A A A N N N A A N 5/10 N A N N N A N A A N 4/10 N A A N A A N N A N 5/10
Sl. 0,24 0,26 0,40 0,26 0,42 0,29 0,23 0,21 0,41 0,23 0,30 0,40 0,44 0,41 0,41 0,36 0,51 0,41 0,52 0,64 0,42 0,45 0,52 0,21 0,63 0,50 0,39 0,28 0,58 0,47 0,23 0,65 0,45 0,40 0,33 0,56 0,48 0,38 0,65 0,68 0,40 0,33 0,40 0,46
Sch. 0 0 0 0,25 0,20 0,17 0,14 0,25 0,22 0,20
# 41 42 43 44 45 46 47 48 49 50
ID otázky 2006-41-73 2006-41-75 2006-41-77 2006-41-79 2008-18-45 2006-41-69 2008-18-44 2006-41-74 2008-18-48 2007-05-45
0,27 0,33 0,38 0,36 0,33 0,31 0,29 0,33 0,37 0,35
51 52 53 54 55 56 57 58 59 60
2007-05-44 2007-05-43 2007-05-42 2007-05-41 2007-05-16 2007-05-12 2007-05-11 2006-41-61 2006-41-62 2006-41-63
0,33 0,36 0,35 0,33 0,32 0,35 0,33 0,36 0,38 0,37
61 62 63 64 65 66
2006-41-64 2006-41-67 2006-41-71 2006-41-76 2006-41-78 2006-41-80
OK N A A A N N A A A N 6/10 N A A N A A N A A A 7/10 A A A A A N
Sl. 0,39 0,27 0,47 0,46 0,55 0,73 0,55 0,62 0,26 0,41 0,47 0,31 0,22 0,44 0,40 0,38 0,30 0,68 0,00 0,11 0,20 0,30 0,11 0,00 0,11 0,80 0,73 0,91
5/6
0,44
34/66
0,41
Sch. 0,39 0,40 0,42 0,43 0,42 0,41 0,43 0,44 0,45 0,44 0,43 0,44 0,45 0,44 0,45 0,46 0,46 0,47 0,47 0,48 0,49 0,50 0,51 0,52 0,52 0,52
0,35 0,38 0,39 0,38 0,40 0,42 0,41 0,39 0,41 0,40
Tabulka 4.15: Percentily otázek, analytické myšlení, osoba 191
36
4. A NALÝZA DAT Podobné výsledky mužeme ˚ sledovat u nˇekterých dalších uživatelu. ˚ Problém však nastává, když více než 50 % lidí odpoví více než 50 % otázek dobˇre. Vˇetšina otázek pak má obtížnost hodnˇe nízko a naopak lidé mají schopnosti dost vysoko. Potom se tyto hodnoty nesetkávají. Pˇredpokladem pro dobˇre fungující doporuˇcovací funkci (resp. mající reálný význam) pro vˇetší spektrum uživatelu˚ je tedy, zdá se, obtížnost otázek v jedné kategorii nˇekde blízko hodnoty 0,50 (ˇcili i prumˇ ˚ erný uživatel bude mít úspˇešnost 50 %) a zárovenˇ velký rozptyl obtížností. V tabulkách 4.4 a 4.5 mužeme ˚ pozorovat (logický) rozdíl mezi mediánem schopnosti osob a mediánem obtížnosti otázek v jednotlivých kategoriích. Napˇríklad u verbálního myšlení vidíme, že medián je 0,72. To znamená, že osoba musí odpovˇedˇet 72 % otázek správnˇe, aby mˇela prumˇ ˚ erný výsledek. Proto by mohla být schopna odpovídat otázky s obtížností 0,72, avšak žádná tak složitá otázka se v téhle kategorii nenachází. Z druhé tabulky vidíme, že polovina položek má obtížnost mezi 0,11–0,36, což je v porovnání s pˇredchozím cˇ íslem velice nízká hodnota. Ve vˇetšinˇe pˇrípadu˚ tak doporuˇcovací funkce selže, nenajde žádného vhodného kandidáta a musí být znovu dotázána databáze na nˇejakou otázku mimo zadané rozmezí. Selhání to však není v pravém slova smyslu. Uživatel je totiž tak schopný, že pro nˇej už prostˇe neexistuje z našeho pohledu vhodná otázka. Navíc i snadné otázky (hluboko pod uživatelovou schopností), mužou ˚ být pro pˇrípravu velice duležité. ˚ Výhodné tedy je si je projít všechny. Podobným problémem trpí i další kategorie (numerické a symbolické myšlení a prostorová pˇredstavivost). Pro analytickou cˇ ást a kritické myšlení (jak jsme si ukázali) by mohlo být dynamické pˇredkládání otázek použitelné. U kulturního pˇrehledu je skuteˇcný pˇrínos kvuli ˚ typu otázek diskutabilní. Možné úpravy Pro využití adaptabilního uˇcení pro pˇrípravu na TSP by pravdˇepodobnˇe bylo vhodné mít v systému ještˇe mnohem více odpovˇedí, aby jich bylo více i v jednotlivých intervalech, ve kterých hledá doporuˇcovací funkce. Potom by intervaly mohly mít menší rozsah a my mohli lépe a pˇresnˇeji vybírat položky. Jak jsme si ukázali na pˇríkladech, prumˇ ˚ erné obtížnosti pˇredkládaných položek se bˇehem vývoje osoby nijak výraznˇe neliší i když se mˇení schopnosti cˇ lovˇeka. Doporuˇcovací funkce v souˇcasné dobˇe vybírá první vhodnou otázku se složitostí z intervalu schopnosti osoby ±0,2. Je-li osoba se schopností 0,3 a vˇetšina otázek v dané kategorii má obtížnost blížící se 0,5 a s nízkou obtížností jich je velmi málo, bude tato osoba z intervalu výbˇeru (0,10–0,50) dostávat otázky z jeho vyšší cˇ ásti. Vhodnˇejší by proto bylo spravedlivˇejší vybírání jednodušších i složitˇejších položek. Z dat slabších úˇcastníku˚ vyplývá, že zodpovˇedˇeli ménˇe otázek než ti úspˇešnˇejší. To muže ˚ být zpusobeno ˚ faktem, že dostávají právˇe vˇetšinu složitˇejších otázek a neví si s nimi rady. Vhodným úkonem by mohl být posun intervalu smˇerem dolu. Osoba se schopností napˇr. 0,5 by nedostávala otázky z intervalu 0,3–0,7, ale napˇríklad 0,3–0,6 nebo podobnˇe. Jak jsme uvádˇeli na konci kapitoly 2, podle nˇekterých studií, se cˇ lovˇek lépe uˇcí z jednodušších otázek. A nadpoloviˇcní úspˇešnost s sebou jistˇe pˇrináší i vyšší chut’ v odpovídání pokraˇcovat.
37
Kapitola 5
Závˇer Jako souˇcást diplomové práce byla vyvinuta aplikace pro pˇrípravu na Testy studijních pˇredpokladu˚ na základˇe inspirace z oblasti adaptabilního poˇcítaˇcového testování a teorie odpovˇedi na položku. Jádrem systému je pˇredkládání otázek na základˇe pˇredchozích odpovˇedí. Jednotlivé kategorie TSP se liší obtížností otázek v nich zaˇrazených a spolu s tím se liší i použitelnost inteligentního doporuˇcování vhodných pˇríkladu. ˚ Zdá se, že pro oblasti verbálního, numerického a symbolického myšlení a prostorové pˇredstavivosti není takovýto pˇrístup vhodný. Je možné, že s výrazným zvýšením poˇctu otázek a zúžením intervalu obtížnosti pˇri výbˇeru otázky by se na tom v tˇechto kategoriích nˇeco zlepšilo. V souˇcasné dobˇe ale schopnˇejší uživatel bˇehem krátké chvíle vyˇcerpá otázky na své úrovni a dále jsou mu stejnˇe pˇredkládány i ty jednoduché. Oblast kulturního pˇrehledu je specifická typem otázek, a proto nelze snadno rˇ íct, jestli pro ni muže ˚ být adaptabilní uˇcení vhodné. Naopak v analytickém a kritickém myšlení se pro nˇekteré osoby jeví inteligentní pˇredkládání otázek jako úˇcinné. Samotná webová aplikace, která umožnuje ˇ online odpovídání otázek z Testu˚ studijních pˇredpokladu˚ a okamžité vyhodnocení odpovˇedí, je pro zájemce o studium na Masarykovˇe univerzitˇe podle ohlasu˚ na Facebooku i v mailu velkým pˇrínosem (a zajímavým zpestˇrením pˇri pˇrípravˇe). A nejen pro pˇrípadné budoucí vysokoškoláky. I spoustu starších osob a absolventu˚ si našlo cˇ as, aby potrénovali mozek a porovnali svoje schopnosti s ostatními. Mezi výhody systému mužeme ˚ zaˇradit pˇredevším: •
interaktivnost, kdy je cˇ lovˇeku hned zobrazeno, jestli odpovˇedˇel správnˇe,
•
uživatel také vidí rozložení odpovˇedí ostatních. Z toho muže ˚ usuzovat, jestli šlo napˇríklad o chyták, kde vˇetšina lidí odpovídá špatnˇe (viz. napˇríklad obrázek B.4).
•
rozšíˇrené procházení odpovˇedí podle kategorií. Otázky jsou seˇrazeny podle cˇ asu odpovˇedi sestupnˇe. Uživateli je nabídnut základní pˇrehled dobrých a špatných odpovˇedí a také obtížnost otázek (viz. obrázek B.5).
•
statistiky kategorií a úspˇešnosti v nich, kde je zobrazen i percentil uživatele.
•
navíc pokud uživatel uvedl pˇri registraci nˇekteré z údaju: ˚ vˇek, vzdˇelání a nebo oblast vzdˇelání, jsou mu zpˇrístupnˇeny filtry, s jejichž pomocí se muže ˚ porovnat pˇresnˇe s osobami stejných parametru. ˚
Nˇekteˇrí uživatelé požadovali implementování možnosti na otázku neodpovˇedˇet. To je trochu problematická vˇec, protože kdyby tato volba byla pˇridána, pravdˇepodobnˇe by 38
ˇ 5. Z ÁV ER
pˇribyl poˇcet lidí, kteˇrí, jen aby vidˇeli správnou odpovˇed’, radˇeji neodpoví. Na druhou stranu by bylo zˇrejmé, že nechtˇejí odpovídat. V souˇcasné dobˇe odkliknutím jakékoliv možnosti ztrácíme informaci o jejich volbˇe. Dalším požadavkem, jak uvádíme v 3. kapitole, bylo pˇrepnutí ze souˇcasného módu (instantního), kdy je po každé otázce zobrazena odpovˇed’, do módu, ve kterém je po sobˇe pˇredloženo 10 otázek z konkrétního testu a až poté jsou zobrazeny výsledky. Systém má pro tuto funkci podporu a po drobnˇejších úpravách by mohla být zprovoznˇena. Každý uživatel by si mohl sám zvolit mód, který by mu více vyhovoval. Další možností rozšíˇrení by mohla být diskuze pod odpovˇed’mi. Na ruzných ˚ serverech sice už existují fóra k TSP, ale tam chybí provázanost a pˇrehlednost. Zde by mohla být diskuze pˇrímo pod každou odpovˇedí, což by mohlo nˇekterým uživatelum ˚ velice pomoci. Pokud by došlo s Masarykovou univerzitou k dohodˇe na prodloužení licence, která bude konˇcit pˇred zaˇcátkem Testu˚ studijních pˇredpokladu˚ pro rok 2012, bylo by vhodné v systému upravit práci se statistickými údaji. V souˇcasné dobˇe se spoustu vˇecí pˇrepoˇcítává v reálném cˇ ase – což bylo ze zaˇcátku vhodné. Nyní však už je v systému velké množství dat a prumˇ ˚ erné úspˇešnosti se nˇekolika málo odpovˇed’mi pˇríliš nezmˇení. Na závˇer mužeme ˚ uvést ohlas jedné úˇcastnice: „Pˇreju hodnˇe úspˇechu˚ a nevykašlete se na toto, uchazeˇci pˇríští rok Vám za tuto aplikaci utrhnou ruce.“
39
Literatura [1] Frank B. Baker. The Basics of Item Response Theory. ERIC Clearinghouse on Assessment and Evaluation, USA, second edition, 2001. [2] Petr Blahuš. Elementy z psychometrie a teorie testu. ˚ Psychologická diagnostika. [Online] [Citace: 7. kvˇetna 2011.] Dostupné z URL: . [3] Chih-Ming Chen. Personalized e-learning system using item response theory. Computers & Education, pages 237–255, April 2005. [4] Martijn Dashorst and Eelco Hillenius. Wicket in Action. Manning, Greenwich, 2009. [5] R. J. de Ayala. The Theory and Practice of Item Response Theory. The Guilford Press, New York, 2009. [6] Gerianne de Klerk. Classical test theory (ctt). Online Readings in Testing and Assessment. [Online] [Citace: 3. kvˇetna 2011.] Dostupné z URL: . [7] Susan E. Embretson and Steven P. Reise. Item Response Theory for Psychologists. Lawrence Erlbaum Associates, Inc., Mahwah, New Jersey, second edition, 2000. [8] O’Brien et al. Maven: The Complete Reference. Apress, New York, 2010. [9] Paul Tepper Fisher and Brian D. Murphy. Spring Persistence with Hibernate. Apress, New York, 2010. [10] Gary Mak. Spring Recipes. Apress, New York, 2008. [11] Philip Pavlik and John Anderson. Using a model to compute the optimal schedule of practice. Journal of Experimental Psychology, pages 101–117, 2008. [12] Masarykova univerzita. Test studijních pˇredpokladu, ˚ 2009. [Online] [Citace: 3. dubna 2011.] Dostupné z URL: . [13] Elena Verdú. An analysis of the research on adaptive learning: The next generation of e-learning. WSEAS Transactions on Information Science and Applications, pages 859–868, June 2008. [14] Kelly Wauters, Piet Desmet, and Wim van den Noortgate. Adaptive item-based learning environments based on the item response theory: possibilities and challenges. Journal of Computer Assisted Learning, pages 549–562, December 2010. 40
ˇ 5. Z ÁV ER
[15] www.SCIO.cz s.r.o. Scio - Výzkum, 2008. [Online] [Citace: 8. kvˇetna 2011.] Dostupné z URL: .
41
Pˇríloha A
Obsah pˇriloženého CD Souˇcástí práce je CD, které obsahuje: •
tento text,
•
zdrojové kódy aplikace.
42
Pˇríloha B
Snímky obrazovek
Obrázek B.1: Pˇrihlašovací obrazovka
43
B. S NÍMKY OBRAZOVEK
44 Obrázek B.2: Základní stránka
B. S NÍMKY OBRAZOVEK
Obrázek B.3: Otázka
45
B. S NÍMKY OBRAZOVEK
Obrázek B.4: Odpovˇed’
Obrázek B.5: Procházení odpovˇedí
46
B. S NÍMKY OBRAZOVEK
Obrázek B.6: Statistiky kategorie
47
Ukázky zdrojových kódu˚ 1 public void preCreateAnswer(Answer answer) { 2 answerDao.save(answer); 3 4 Category category = answer.getQuestion().getCategory(); 5 CategoryPersonStats catPer = categoryPersonStatsDao 6 .findByCategoryAndPerson(category, answer.getPerson()); 7 if (catPer == null) { 8 catPer = new CategoryPersonStats(); 9 catPer.setCategory(category); 10 catPer.setPerson(answer.getPerson()); 11 } 12 if (!answer.getPerson().isTestUser()) { 13 catPer.setNumberOfAnswers(catPer.getNumberOfAnswers()+1); 14 } 15 categoryPersonStatsDao.saveOrUpdate(catPer); 16 } Obrázek B.7: Prvotní uložení otevˇrené otázky
48
B. S NÍMKY OBRAZOVEK
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
@Transactional public void createAnswerFilterTime(Answer answer) { answerDao.saveOrUpdate(answer); if (Answer.ANSWER_TIME_MIN < answer.getAnswerTime() && answer.getAnswerTime() < Answer.ANSWER_TIME_MAX) { if (!answer.getPerson().isTestUser()) { addToStats(answer); } } } private void addToStats(Answer answer) { Category category = answer.getQuestion().getCategory(); QuestionStats questionStats = answer.getQuestion().getQuestionStats(); if (questionStats == null) { questionStats = new QuestionStats(answer.getQuestion()); } questionStats.addAnswer(answer); CategoryPersonStats catPer = categoryPersonStatsDao .findByCategoryAndPerson(category, answer.getPerson()); if (catPer == null) { catPer = new CategoryPersonStats(); catPer.setCategory(category); catPer.setPerson(answer.getPerson()); } catPer.addAnswer(answer); // was added in preCreate method catPer.setNumberOfAnswers(catPer.getNumberOfAnswers() - 1); CategoryStats cat = categoryStatsDao.findByCategory(category); if (cat == null) { cat = new CategoryStats(); cat.setCategory(category); } cat.addAnswer(answer); questionStatsDao.saveOrUpdate(questionStats); categoryPersonStatsDao.saveOrUpdate(catPer); categoryStatsDao.saveOrUpdate(cat); } Obrázek B.8: Uložení odpovˇedi
49
B. S NÍMKY OBRAZOVEK
1 2 3 4 5 6 7 8 9 10 11 12
public Question recommendNextQuestion( Person person, Category category) { QuestionFilter filter = new QuestionFilter(); filter.setCategory(category); filter.setPerson(person); filter.setLimit(1); List questionList;
13 14 15 16 17 18 19 20 21 22 23 24 25 26 }
int nextInt = new Random().nextInt(10) if (nextInt == 3) { // v~prumeru 1 z~10 se vybere ze vsech questionList = questionDao.findByQuestionFilter(filter); } else { CategoryPersonStats personStats = statsService.getCategoryPersonStats(category, person); Double percentage = personStats.getCorrectPercentage(); filter.setDifficulty(filter.new DifficultyRange( percentage - LOW_BOUNDARY, percentage + HIGH_BOUNDARY)); questionList = questionDao. findByQuestionFilter(filter); if (questionList.isEmpty()) { filter.setDifficulty(null); questionList = questionDao. findByQuestionFilter(filter); } } if (questionList.isEmpty()) { return null; } else { return questionList.get(0); } Obrázek B.9: Doporuˇcovací funkce
50
B. S NÍMKY OBRAZOVEK
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
public void updateAllProgressCP() { Date date = new Date(); Date dateSince = DateUtils.addDays(date, ACTIVE_SINCE_DAYS); List persons = personDao.getPersonsActiveSince(dateSince); for (Person p : persons) { if (p.hasRole(RoleLevel.USER)) { for (Category c : Category.values()) { ProgressCP last = progressCPDao.findLast(c, p); CategoryPersonStats categoryPersonStats = statsService.getCategoryPersonStats(c, p); if (last == null || !last.getNumberOfAnswers().equals( categoryPersonStats.getNumberOfAnswers())) { ProgressCP cpStats = new ProgressCP(date, categoryPersonStats); progressCPDao.save(cpStats); } } } } } Obrázek B.10: Progres
51