Masarykova univerzita Fakulta informatiky
Mobilní aplikace pro procvičování převodů jednotek Diplomová práce
Petr Zvoníček
Brno, jaro 2016
Prohlášení Prohlašuji, že tato diplomová práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj.
Petr Zvoníček
Vedoucí práce: doc. Mgr. Radek Pelánek, Ph. D. i
Poděkování Rád bych touto cestou vyjádřil poděkování vedoucímu mé práce, Radku Pelánkovi, za cenné rady, inspirativní poznatky a zajímavé nápady během tvorby této práce. Poděkování patří také mé rodině za jejich vytrvalou podporu během celé mé devatenáctileté cesty vzdělávacím systémem. iii
Shrnutí Tato diplomová práce se zabývá návrhem a implementací adaptabilní výukové aplikace pro procvičování převodů jednotek. Aplikace je určena pro systém iOS a zařízení iPhone a iPad. Práce shrnuje základní principy adaptabilního procvičování s rozšířením o faktory času a přesnosti odpovědi. Popisuje proces návrhu adaptabilního systému pro zvolenou problémovou doménu, zkoumá možné způsoby řešení a snaží se nalézt nejvhodnější z nich pro účely vyvíjeného systému. Stručně dokumentuje implementaci systému, jejímž výsledkem bylo zveřejnění mobilní aplikace v tržišti App Store. Na základě chování několika stovek uživatelů je pak analyzován její provoz, který poukázal na podstatný vliv rozhraní systému na úspěšnost uživatelů.
iv
Klíčová slova adaptabilní procvičování, výukový systém, převody jednotek, vzdělávání, převody, mobilní aplikace, Elo, iOS
v
Obsah 1 2
3
4
5
Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Existující systémy . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Výukové mobilní aplikace . . . . . . . . . . . . . . . . . . . 2.2 Výukové systémy na webu . . . . . . . . . . . . . . . . . . 2.3 Adaptivní výukové systémy . . . . . . . . . . . . . . . . . . Cíle řešeného systému . . . . . . . . . . . . . . . . . . . . . . 3.1 Charakteristika . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Cílová platforma . . . . . . . . . . . . . . . . . . . . . . . 3.3 Cílové skupiny . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Očekávaná funkčnost . . . . . . . . . . . . . . . . . . . . . 3.4.1 Výběr a konfigurace otázek . . . . . . . . . . . . 3.4.2 Zpětná odezva uživateli . . . . . . . . . . . . . . 3.4.3 Hodnocení otázek . . . . . . . . . . . . . . . . . 3.4.4 Vyhodnocení sady otázek . . . . . . . . . . . . . 3.5 Nefunkční požadavky . . . . . . . . . . . . . . . . . . . . . Adaptabilní procvičování . . . . . . . . . . . . . . . . . . . . 4.1 Modely pro odhad znalosti . . . . . . . . . . . . . . . . . . 4.1.1 Raschův model . . . . . . . . . . . . . . . . . . . 4.1.2 Hodnotící systém Elo . . . . . . . . . . . . . . . . 4.2 Adaptabilní procvičování převodů jednotek . . . . . . . . . . 4.2.1 Modelování kompromisu mezi časem a přesností 4.2.2 Odhad znalosti uživatele . . . . . . . . . . . . . 4.2.3 Odhad obtížnosti otázky . . . . . . . . . . . . . . 4.2.4 Vyhodnocení správnosti odpovědi . . . . . . . . 4.2.5 Výběr vhodné otázky . . . . . . . . . . . . . . . . Návrh a implementace systému . . . . . . . . . . . . . . . . 5.1 Typy otázek . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Úlohy a jejich otázky . . . . . . . . . . . . . . . . . . . . . 5.3 Rozsah znalosti uživatele . . . . . . . . . . . . . . . . . . . 5.4 Architektura systému . . . . . . . . . . . . . . . . . . . . . 5.5 Klientská část . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Serverová část . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.1 Datový model . . . . . . . . . . . . . . . . . . . . 5.6.2 Převod jednotek . . . . . . . . . . . . . . . . . . . 5.7 Tvorba zadání otázek . . . . . . . . . . . . . . . . . . . . .
1 3 3 5 6 9 9 9 10 11 11 12 13 13 14 15 15 16 16 17 17 18 19 20 21 23 23 26 27 28 31 33 33 35 35 vii
6 Zhodnocení provozu a další rozvoj systému . . . . 6.1 Analýza provozních dat . . . . . . . . . . . . . . . 6.1.1 Oblíbenost úloh a typů otázek . . . . . 6.1.2 Obtížnost a doba řešení otázek . . . . . 6.1.3 Výběr otázek . . . . . . . . . . . . . . . 6.1.4 Poměr správných odpovědí . . . . . . . 6.1.5 Úspěšnost nápovědy . . . . . . . . . . . 6.2 Možnosti rozvoje systému . . . . . . . . . . . . . . 6.2.1 Výběr otázek . . . . . . . . . . . . . . . 6.2.2 Výpočet skóre otázky . . . . . . . . . . 6.2.3 Uživatelské rozhraní . . . . . . . . . . . 6.2.4 Frekvence aktualizace znalosti uživatele 6.2.5 Režim bez připojení k internetu . . . . . 6.2.6 Ostatní vylepšení . . . . . . . . . . . . . 7 Závěr . . . . . . . . . . . . . . . . . . . . . . . . . . . A Přílohy . . . . . . . . . . . . . . . . . . . . . . . . . . B Snímky uživatelského rozhraní aplikace . . . . . .
viii
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
39 39 40 41 44 44 45 46 46 47 47 48 49 49 51 57 59
1 Úvod Schopnost převodu jednotek je jednou z důležitých dovedností pro praktický život. Tato důležitost ještě vzrostla s globalizací světa, díky které i Středoevropan přichází do styku s imperiálními jednotkami a Američan s jednotkami metrickými, mimo jiné například na internetu, v literatuře či ve filmech. Přestože se v současnosti stále častěji diskutuje o přechodu na společné jednotkové systémy, což dokládají kupříkladu sílící snahy anglosaských zemí o zavedení metrické soustavy (tzv. metrifikace) nebo přechod na jednotnou měnu Euro, tento proces není jednoduchý a v dohledné době zajisté nevyústí v globální sjednocení měrných (a tím spíše měnových) systémů. Může se však zdát, že problém mentálního převodu jednotek je dnes, v době výkoných mobilních telefonů dostupných na dosah ruky, již překonaný. Je zajisté pravdou, že případy vyžadující velmi přesný výsledek je v současnosti vhodné přenechat počítači, přece však existují situace, kdy není možné konkrétní hodnotu zadat na klávesnici a čekat na výsledek. V takových situacích je užitečné mít alespoň přibližné povědomí o dané hodnotě, tedy přinejmenším jestli je to mnoho nebo málo. Soudobé technologie přinášejí nové způsoby procvičování podobných znalostí a dovedností. Jeden z nich je označován jako adaptabilní procvičování a usiluje o zvýšení efektivity procvičování pomocí analýzy obtížnosti otázek, dovednosti uživatelů a predikce jejich odpovědi. Umožňuje tak vybírat právě takové otázky, které jsou pro konkrétního uživatele v daný moment nejpřínosnější. Tento princip je již v praxi používán v procvičovacích systémech napříč různými oblastmi, od geografie po matematiku. Cílem této práce je návrh a implementace mobilní aplikace pro procvičování převodů jednotek umožňující trénovat schopnost přibližně odhadnout výsledek. Klíčovým prvkem systému je již zmíněná adaptabilita, tedy přizpůsobení výběru otázek konkrétnímu uživateli. Aplikace je vytvořena pro platformu iOS a výstupem této práce je její uveřejnění v obchodu App Store1 . Dílčím cílem je taktéž zhodnocení veřejného provozu aplikace. 1. App Store je distribuční platforma pro aplikace určené pro zařízení s operačním systémem iOS. App Store obsahuje jak bezplatný, tak placený software.
1
1. Úvod Struktura této práce odpovídá pracovnímu postupu při její tvorbě. Druhou kapitolu tvoří přehled existujících systémů, ze kterých navrhovaný systém v různých směrech čerpá inspiraci. Třetí kapitola je věnována formalizaci požadavků na navrhovaný systém a popisuje jeho očekávané chování. Ve čtvrté kapitole jsou rozebrány modely a postupy používané při adaptabilním programování s důrazem na přizpůsobení potřebám procvičování převodů jednotek. Pátá kapitola popisuje návrh systému a jeho implementaci. V předposlední kapitole je zhodnocen bezmála dvouměsíční provoz systému a jsou navržena vylepšení, která se na základě tohoto provozu ukázala být jako smysluplná. Závěrečná kapitola se pak ohlíží za současným stavem a nastiňuje budoucí možnosti rozvoje. V příloze jsou uvedeny zdrojové kódy, exportovaná data z databáze a snímky uživatelského rozhraní aplikace.
2
2 Existující systémy Cílem této kapitoly je zasadit navrhovaný systém do kontextu podobných systémů formou přehledu existujících souvisejících řešení. Kapitola je rozdělena na tři podkapitoly, kde první se zabývá výukovými aplikacemi v prostředí mobilních zařízení, druhá výukovými systémy na webu a třetí pak adaptabilními výukovými systémy vyvíjenými na FI MUNI. Popsány jsou jednak některé významné výukové systémy obecného druhu, jednak řešení se zaměřením na matematiku a převody jednotek.
2.1
Výukové mobilní aplikace
Výukové mobilní systémy se stávají stále významnější kategorií mobilních aplikací. Pravděpodobně nejpopulárnějším druhem výukových aplikací na dvou nejrozšířenějších mobilních platformách, Google Android a Apple iOS, jsou programy pro výuku jazyků. Velké popularitě a komerčnímu úspěchu se těší také výukové aplikace na pomezí logických her, které slibují trénink mozku a paměti. Na rozdíl od zmíněných kategorií jsou aplikace zaměřené na výuku matematiky zpravidla jednoduchého rázu a postrádají jakékoliv adaptabilními prvky. To se vztahuje i pro aplikace trénující převody jednotek, kterých je pro platformu iOS dostupných pouze několik a nejsou příliš sofistikované. Duolingo Duolingo1 je bezplatná služba zaměřená na výuku jazyků. V širší známost vešla zejména díky svým mobilním aplikacím, které jsou jedny z nejpoužívanějších v kategorii výukových aplikací2 . 1. Dostupné na https://www.duolingo.com/ 2. Uvedena v žebříčku nejstahovanějších mobilních aplikací roku 2014 na Google Play (zdroj: http://thenextweb.com/apps/2014/12/11/ google-play-remembers-year-entertainment/), v roce 2013 oceněna jako iPhone App Of The Year s více než šestnácti miliony stažení (zdroj: http://gigaom.com/2013/12/17/duolingo-snags-iphone-app-of-the-year/).
3
2. Existující systémy
Obrázek 2.1: Mobilní aplikace Elevate Aplikace uživateli předkládá k řešení sadu úloh několika různých typů. Úspěšné splnění sady je podmíněno určitým počtem správných odpovědí a je odměněno udělením jistého počtu bodů uživateli. Aplikace využívá prvky gamifikace3 , např. udělováním odznaků za splněné milníky nebo porovnáváním svého skóre s přáteli. Z hlediska navrhovaného systému je Duolingo inspirativní jako příklad úspěšné výukové mobilní aplikace s dobře navrženým uživatelským rozhraním a zajímavými herními prvky. Ačkoliv používá prvky personalizovaného učení [1], o detailech není známo více. Elevate Elevate4 je freemium5 mobilní aplikace zaměřená na trénování kognitivních funkcí. Obsahuje desítky úloh procvičujících různé schopnosti – pozornost, verbální projev, paměť, rychlost nebo matematiku. Při prvním spuštění aplikace na základě série otázek analyzuje uživa3. Termín gamifikace označuje užití herních prvků v neherní oblasti, obvykle za účelem zvýšení motivace uživatelů používat systém. 4. Dostupné na http://elevateapp.com 5. Freemium je obchodní politika při které je samotný produkt nabízen zdarma, zpoplatněny jsou však jeho doplňující funkce nebo možnost opakovaného použití.
4
2. Existující systémy telovy dovednosti a dle těchto informací následně doporučuje typy úloh. Autoři tvrdí, že obtížnost těchto úloh je následně adaptabilně přizpůsobována postupu uživatele. Podrobnosti však nejsou veřejně dostupné. Matematická část, která je obsahu této práce nejbližší, zahrnuje například úlohy konverze jednotek (viz obrázek 2.1), odhad součtu čísel, dělení, počítání s procenty nebo odhad útraty pravidelného nakupování. V porovnání s navrhovaným systémem není možné přesněji specifikovat danou úlohu, např. omezením jednotek pouze na imperiální či hmotnostní. Uživatelské rozhraní aplikace je však velmi povedené a některé její úlohy posloužily jako inspirace pro navrhovanou aplikaci.
2.2
Výukové systémy na webu
Na webu se nachází velké množství materiálů, jednoduchých her a aktivit (často využívajících technologii Flash) určených k procvičování matematiky a převodů jednotek. Jsou však zpravidla určeny pro děti školního věku, čemuž odpovídá i samotné zpracování úloh, a postrádají prvky adaptabilního procvičování. Zajímavý rozcestník na podobné hry je možné nalézt na webu OnlineLearningMath6 . Matematické aktivity na webu IXL Learning Web IXL Learning7 obsahuje mnoho jednoduchých úloh pro procvičování různých předmětů na úrovni základní školy, rozčleněné dle ročníku nebo tématu. Základní použití systému je bezplatné, po větším množství zodpovězených otázek je vyžadováno zakoupení plné verze. Součástí matematické sekce jsou také úlohy pro převod jednotek. Ty jsou několika druhů, mezi praktičtěji zaměřené patří např. výběr vhodnější veličiny pro popis určitého předmětu (viz obrázek 2.2) nebo příklady typu „vyberte odpověď s největší hmotností“. Při testování se otázky poměrně často opakovaly, na portálu také chyběly interaktivnější úlohy jako např. výběr na ose. Některé z praktičtějších příkladů byly inspirací pro navrhovaný systém. 6. 7.
Dostupné na http://onlinemathlearning.com/measurement-games.html Dostupné na https://www.ixl.com/
5
2. Existující systémy
Obrázek 2.2: Procvičování převodů jednotek na webu IXL Learning Výukové materiály na webu Math is Fun Mathisfun.com je matematický portál usilující o vysvětlení základních pojmů jednoduchým jazykem a za pomoci her, kvízů a aktivit. Nabízí mimo jiné i sekci věnovanou měření a jednotkám8 , která poskytuje velmi názorný výklad tématu a zajímavé analogie pro snazší pochopení tématu. Sesterský portál Mathopolis.com pak obsahuje úlohy k procvičování látky. Ty jsou poměrně kreativně navrženy, často jsou kombinovány s obrázky a mohou být zajímavým zdrojem nápadů pro tvorbu vlastních otázek. Ke každému tématu je však obvykle vytvořeno pouze 10 otázek, portál je proto, na rozdíl od navrhovaného systému, vhodný spíše pro jednorázově ověření znalostí a ne pro rozsáhlejší procvičování.
2.3
Adaptivní výukové systémy
Skupina Adaptive Learning na Fakultě Informatiky MU se podílí na vývoji adaptabilních výukových systémů, z nichž nejrozsáhlejší jsou projekty Slepé mapy9 pro procvičování geografie, Umíme česky10 pro český jazyk, MatMat11 pro matematiku nebo Anatom12 pro anatomii. 8. 9. 10. 11. 12.
6
Dostupné na https://www.mathsisfun.com/measure/index.html Dostupné na http://www.slepemapy.cz Dostupné na http://www.umimecesky.cz Dostupné na https://www.matmat.cz/ Dostupné na https://anatom.cz/
2. Existující systémy Všechny tyto systémy integrují prvky adaptabilního výběru otázek s cílem udržet uživatelovu pozornost a zajistit co nejvyšší efektivitu učení. MatMat.cz MatMat je adaptabilní výukový systém pro procvičování základoškolské matematiky. Zaměřuje se na procvičování sčítání, odčítání, násobení a dělení. Z pohledu navrhovaného systému je zajímavé, že systém MatMat pracuje také s časem (podrobnosti popsány v [2]) a poskytuje uživateli odezvu v závislosti na rychlosti odpovědi. Strávený čas při odpovědi se projevuje také na odhadu náročnosti otázky. Systém naopak nebere v potaz nepřesnost odpovědi, jelikož pro tento typ systémů není tolerance nepřesnosti vhodná. Priblizne.cz Adaptivnímu procvičování odhadů se ve své bakalářské práci [3] věnoval Roman Orlíček. Součástí práce je také webová aplikace13 trénující odhady. Zahrnuje širokou škálu úloh, od početních, přes vizuální až po převody jednotek a konverzi měny. Adaptivně dokáže přizpůsobovat obtížnost otázek a při hodnocení bere v potaz jak přesnost odhadu, tak rychlost zodpovězení příkladu. Rozdílů oproti navrhovanému systému je několik. Jednak má tento web širší zaměření a pokrývá také matematické a grafické úlohy (např. odhad počtu objektů na obrazovce). Každá úloha nicméně obsahuje pouze jeden typ otázek – zadání odpovědi v číselné podobě. Rozdílný je také přístup k zobrazení správnosti a rychlosti odpovědi, které jsou uživateli prezentovány na dvou škálách o rozsahu 0-5, kde 0 je pomalá/nepřesná a 5 je rychlá/přesná odpověď. Zajímavou funkcí systému je dvoudimenzionální graf zobrazený po dokončení sady příkladů, který znázorňuje zodpovězené příklady na základě procentuální správnosti a rychlosti odpovědi.
13. Dostupné na http://www.priblizne.cz/
7
3 Cíle řešeného systému Tato kapitola popisuje cíle adaptabilního výukového systému, který je výsledkem praktické části této práce. Vymezuje charakteristiku systému, jeho cílovou skupinu a očekávanou funkčnost.
3.1
Charakteristika
Systém je zaměřen na procvičování převodů jednotek veličin délky, hmotnosti, obsahu a teploty a převodů mezi různými měnami. Tyto převody jsou trénovány pomocí sad otázek několika typů, akcentujících různé schopnosti, od numerických (např. zadání výsledné hodnoty číselnou klávesnicí) po vizuální (výběr výsledné hodnoty na úsečce reprezentující pravítko). Výběr otázek v systému je zajištěn adaptabilně tak, aby jejich obtížnost odpovídala schopnostem uživatele. Snahou systému je také motivovat uživatele k rychlé odpovědi a rozumně přesnému odhadu v situaci, kdy není schopen přesný výsledek rychle poskytnout. Systém je koncipován jako mobilní aplikace pro platformu iOS, která je obsluhována serverovou částí generující zadání příkladů. Vzhledem k většímu cílovému publiku byla jako primární jazyk aplikace zvolena angličtina, přičemž je počítáno s lokalizací do dalších jazyků (např. češtiny).
3.2
Cílová platforma
Chytré mobilní telefony (tzv. smartphony) tvoří v současnosti významnou platformu. Podle [4] jejich celosvětová penetrace v roce 2015 tvořila 54 %, v jedenácti nejvyspělejších ekonomikách světa pak vystoupala až na 87 %. Vlastnictví chytrého telefonu znamená především možnost instalovat do zařízení software třetích stran (označovaný jako aplikace), což v kombinaci s vysokou penetrací těchto přístrojů tvoří velký trh, na který je možné z pozice tvůrce aplikací cílit. Výhodami nativních mobilních aplikací oproti webovým aplikacím jsou především jejich širší možnosti (mj. pokročilá práce s gesty a s animacemi a přístup k systémovým službám) a vyšší uživatelský komfort. 9
3. Cíle řešeného systému Z globálního pohledu jsou v roce 2016 nejrozšířenější mobilní operační systémy Android s tržním podílem 80,7 % a iOS (zařízení iPhone, iPad a Apple TV) s 17,7 % [5]. Jako cílový operační systém navrhované aplikace byl zvolen iOS, který i přes svůj nižší podíl na trhu generuje vyšší profitabilitu a také vyšší zapojení uživatelů. Zdroje uvádí [6], že uživatelé iOS aplikace spouští dvakrát tak často a používají dvojnásobně dlouho než v případě Androidu.
3.3
Cílové skupiny
Cílové skupiny systému jsou poměrně rozmanité a jejich požadavky se liší. Níže jsou uvedeny tyto skupiny spolu s jejich motivací pro použití systému a s očekáváními, které od něj mohou mít. ∙ Uživatelé rozšiřující si obzor – Motivace této cílové skupiny může být různá (např. snaha využít volný čas při čekání na zastávce), neodráží se však od bezprostřední potřeby zvládnutí převodů jednotek. Důležitým kritériem je zde dobrý pocit z řešení a také jistá míra zábavnosti procvičování. ∙ Uživatelé v kontaktu se zahraničím – Motivace pro použití systému je ryze praktická – usnadnění orientace v měrném a měnovém systému používaném v cizí zemi. Klíčové je především vybudování intuice pro převod mezi imperiální a metrickou soustavou a různými měnami. ∙ Žáci základních a středních škol – Motivací žáků pro použití aplikace bude snaha naučit se aktuálně probíranou látku, požadavkem proto je co nejpřesnější výběr procvičovaného tématu. Vzhledem k anglické lokalizaci aplikace jsou primárním cílem žáci a školy v USA. Americké výukové osnovy Common Core [7] předepisují výuku převodů jednotek pro matematiku čtvrté, páté a šesté třídy základní školy a převody je možné zařadit také do volněji definovaných osnov středních škol (high schools). Pro porovnání, v českém výukovém systému jsou převody jednotek součástí matematických osnov shodně pro čtvrtou, pátou a šestou třídu základní školy [8] a napříč ročníky se vyskytují též v hodinách fyziky. 10
3. Cíle řešeného systému
3.4
Očekávaná funkčnost
Samotnému použití systému předchází bezplatné stažení klientské aplikace do mobilního zařízení prostřednictvím platformy App Store. Prvním krokem po spuštění aplikace je výběr tématu k procvičování. V případě úloh typu převod jednotek si uživatel pro vybranou veličinu zvolí mezi imperiálními, metrickými nebo kombinovanými převody, u typu převod měny si pak vybere svou měnu, pro kterou chce převody procvičovat. 3.4.1 Výběr a konfigurace otázek Pro zvolenou úlohu systém vygeneruje na straně serveru sadu otázek, která bude následně předložena uživateli. Jak již bylo zmíněno, otázky jsou vybírány s cílem udržet pozornost uživatele a zajistit co nejvyšší efektivitu učení. K tomu mohou přispět následující faktory. Ty jsou často definovány relativně volně, což má svou příčinu v adaptabilitě systému. ∙ Obtížnost otázky a zdatnost uživatele – Systém na základě uživatelské interakce s ním odhaduje obtížnost jednotlivých otázek a zdatnost uživatelů. Na změny těchto hodnot má vliv správnost a rychlost odpovědí. Přesná a rychlá odpověď vede ke snížení obtížnosti otázky a zvýšení zdatnosti uživatele, obdobně v opačném případě. Také očekáváme, že velikost změny bude závislá na dosavadních hodnotách, tedy například, že chybná odpověď zkušeného uživatele na jednoduchou otázku bude mít na změnu hodnot větší vliv, než chybná odpověď nezkušeného uživatele na obtížnou otázku. ∙ Výběr otázek – Systém zpočátku generuje jednodušší sady, následně jsou otázky vybírány v závislosti na zdatnosti uživatele. Je vhodné cílit na mírnou převahu správných odpovědí (např. 75 %), které uživateli zajistí dobrý pocit z procvičování [9]. Zároveň však nesmí být otázky příliš jednoduché, aby bylo uživateli umožněno zlepšování se. ∙ Typy otázek – Cílem je zabránit opakování stejných typů po sobě, což může být pro uživatele nudné. 11
3. Cíle řešeného systému ∙ Počet otázek v jedné sadě – Sady obsahují vždy 6 otázek s výjimkou první sady uživatele pro danou úlohu, která obsahuje otázek 5. Tento relativně nízký počet byl zvolen pro zajištění častější aktualizace znalosti uživatele, která probíhá vždy při dokončení sady. U první sady dané úlohy je žádoucí provést prvotní odhad znalosti dříve, proto v tomto případě sada obsahuje o jednu otázku méně. ∙ Nápověda při chybné odpovědi – U některých typů otázek, zejména u numerické odpovědi, je smysluplné při nesprávném zodpovězení zobrazit nápovědu. Nápověda může být dvojího typu, textová (například jednotkový převodní poměr), nebo vizuální (dvě paralelní pomyslná pravítka zobrazující zdrojovou a cílovou jednotku). 3.4.2 Zpětná odezva uživateli Jedním z cílů systému je naučit uživatele odpovědět na otázku rychle a s rozumnou přesností. Důležitým rozhodnutím při tvorbě specifikace systému proto bylo, jakým způsobem poskytovat uživateli zpětnou odezvu o rychlosti a přesnosti, která by jej v tomto směru motivovala ke zlepšování. Žádoucí je tedy mimo jiné vytvoření mírného tlaku na rychlé zodpovězení otázky. Jedna z uvažovaných možností počítala s omezeným časem (např. jednou minutou) pro řešení sady úloh, který by byl uživateli viditelný. Jde o řešení snadno pochopitelné pro uživatele, které má současně tendenci vyvíjet tlak na rychlou odpověď. Toto řešení zvolili např. autoři aplikace Elevate (blíže popsaná v sekci 2.1). Na druhou stranu, pro část uživatelů může být tento element stresující, jelikož „zaseknutí se“ na jedné otázce může negativně ovlivnit úspěšnost celé sady. Komplikace zároveň přichází s nastavením správné rovnováhy mezi obtížností otázek a časovým limitem, tím spíše, že v jedné sadě jsou otázky různých typů s různou časovou náročností. Druhá a současně použitá varianta nepočítá s časovým limitem pro sadu úloh, ale místo toho uživateli poskytne odezvu bezprostředně po zodpovězení jednotlivé otázky. Tlak na rychlé zodpovězení je v tomto případě méně explicitní, může však být pro uživatele přínosnější vzhledem k vazbě na konkrétní, právě zodpovězenou, otázku. 12
3. Cíle řešeného systému Forma takové zpětné vazby může být různá. Jednou z možností je procentuální ohodnocení výkonu, ať už souhrnně, nebo dvěma čísly zvlášť pro rychlost a přesnost. Vylepšením uvedené možnosti je vizuální reprezentace tohoto čísla, např. ve formě jedné až pěti hvězd. Nevýhodou tohoto způsobu je, že uživateli neposkytuje jednoznačnou ( „binární“) informaci o tom, jestli byla odpověď správná nebo špatná, což je obecně zažitý způsob hodnocení. Proto jsme se rozhodli nastavit fixní interval nepřesnosti, mimo který bude odpověď označena jako chybná. Odezva pak bude prezentována ve formě krátkých hlášek, které mohou pozitivně či negativně reagovat na rychlost nebo přesnost. 3.4.3 Hodnocení otázek Příklady mohou být hodnoceny na základě dvou faktorů – správnosti a času. Ideální stav je správná a rychlá odpověď. Přibližně správná, avšak velmi rychlá odpověď ovšem může být žádoucí, stejně tak jako pomalá, ale velmi přesná odpověď. V průběhu učení tak systém toleruje jistou odchylku od obou z těchto faktorů. Ke dvěma základním stavům správnosti, správně a špatně, je u otázek s číselným výsledkem doplněn také třetí – téměř správně, popisující stav, kdy výsledek nebyl správný, ale odpovídá jisté toleranci nepřesnosti. Tolerovaná nepřesnost by měla být u všech otázek stejná (např. 10 % z výsledné hodnoty), v opačném případě by mohlo být chování systému pro uživatele matoucí. Systém počítá délku řešení otázky a dokáže tento čas porovnat s ostatními řešiteli téže otázky. Uživateli je tak možno dát bezprostřední odezvu o jeho rychlosti a motivovat ho k rychlejšímu řešení. Současně je ovšem vhodné tuto odezvu zobrazovat až u zdatnějších uživatelů. U začátečníků je dostačující správné vyřešení otázky a hledisko rychlosti by mohlo působit zbytečný stres. 3.4.4 Vyhodnocení sady otázek Po splnění všech otázek v sadě je zobrazeno jednoduché hodnocení. Systém se pokusí nalézt dominující prvek mezi hodnocením jednotlivých otázek a podle toho uživateli zobrazí zprávu. Příkladem může být sada, ve které byla většina otázek zodpovězena správně, avšak v po13
3. Cíle řešeného systému malém čase. Pak bude zobrazena zpráva nabádající uživatele k rychlejšímu řešení. Podobně může být například zobrazena pochvalná zpráva při úspěšném zodpovězení všech otázek.
3.5
Nefunkční požadavky
Systém by měl splňovat také následující nefunkční požadavky: ∙ Přívětivost uživatelského rozhraní – Rozhraní by mělo být přizpůsobeno zvyklostem cílové platformy a být snadno pochopitelné pro uživatele. ∙ Rychlost odezvy – Rozhraní by mělo na uživatelský vstup reagovat bez zbytečné prodlevy, zejména při vyhodnocování správnosti otázek. ∙ Modifikovatelnost – Měla by být otevřena možnost snadno doplnit nové typy a varianty otázek stejně tak jako možnost upravit parametry algoritmu pro výběr vhodných otázek k procvičování.
14
4 Adaptabilní procvičování Tato kapitola se podrobněji věnuje metodám adaptabilního procvičování. Popisuje jeho vlastnosti, cíle a běžně používané modely s důrazem na řešení využívaná na projektech Adaptive Learning Group na Fakultě Informatiky MU. Ve svém závěru pak rozebírá aplikaci těchto modelů v implementovaném systému. Kořeny adaptabilního učení sahají až do šedesátých let minulého století, kdy Patrick Suppes nastínil vizi soukromého učitele v podobě počítače dostupného každému žákovi na míru jeho potřebám [10]. První adaptabilní systémy se začaly objevovat na počátku sedmdesátých let v čele se systémem Scholar [11], který umožňoval učení formou konverzace se studentem. Nový impuls do této oblasti přinesla aplikace teorie odpovědi na položku (Item Response Theory) v prostředí výukových systémů, která dala za vznik oblasti zvané adaptabilní procvičování, v anglické literatuře nazývané Computerized Adaptive Practice (CAP) [12]. Takto je označován proces adaptivního výběru otázek studentům podle jejich aktuálních dovedností, tedy takových otázek, které jsou pro ně v danou chvíli nejprospěšnější [13]. Toho je dosaženo analýzou dříve zodpovězených otázek. Výzkumy ukazují, že procvičování úloh přizpůsobených schopnostem studentů má pozitivní vliv na udržení uživatelů u procvičování [14]. Jeden z možných scénářů chování adaptabilního systému je popsán v kapitole 3.4. K dosažení očekávaného chování jsou využívány modely, které na základě interakce se systémem odhadují obtížnost otázek a znalost uživatelů, stejně tak jako algoritmy, které na základě těchto hodnot vyberou vhodné otázky k procvičování na míru danému uživateli.
4.1
Modely pro odhad znalosti
Znalost (v anglicky psané literatuře obvykle označovaná jako skill) je číselná hodnota vyjadřující schopnost uživatele řešit jistý okruh otázek. Odhad této znalosti je jedním ze základních prvků adaptabilního procvičování. 15
4. Adaptabilní procvičování 4.1.1 Raschův model Raschův model je základní jednoparametrový model používaný v oblasti teorie odpovědi na položku, která se zabývá problematikou analýzy a vyhodnocování testů. Poskytuje základ pro složitější modely popisované v této kapitole. Model vyjadřuje pravděpodobnost správné odpovědi při konstantní znalosti studenta θ a obtížnosti položky b: P(correct|b, θ ) =
1 1 + e−(θ −b)
Modifikace modelu pro použití u otázek s n možnostmi odpovědi využívá posunutou logistickou funkci: P(correct|b, θ ) =
1 1 1 + (1 − ) * n n 1 + e−(θ −b)
4.1.2 Hodnotící systém Elo Elo je hodnotící systém výkonnosti hráče na základě výsledků jeho her. Původně byl navržen pro určování zkušeností šachistů, je ovšem použitelný také obecněji v soutěžích, kde proti sobě hrají dva hráči. Pro každého hráče i je odhadována jeho znalost θi , jejíž hodnota závisí na výsledku R hry s protihráčem j. R = 1 určuje výhru a R = 0 prohru. Odhad znalosti je pak vypočítán následovně: θ = θi + K ( R − P( R = 1)) Konstanta K určuje citlivost odhadu ve vztahu k poslední odehrané hře, P( R = 1) značí očekávanou pravděpodobnost výhry a může být dána [9] logistickou funkcí: P ( R = 1) =
1 1+e
−(θi −θ j )
Výpočet očekávané pravděpodobnosti vychází z Raschova modelu, s tím rozdílem, že znalosti studenta jsou u této varianty proměnlivé. Systém Elo je úspěšně používán v adaptabilních výukových systémech [9, 12, 15], v nichž jsou jednotliví aktéři (soupeřící hráči) reprezentováni studentem a otázkou. Jeho výhodou je, že umožňuje výpočet 16
4. Adaptabilní procvičování
Obrázek 4.1: A) hypotetická křivka kompromisu mezi časem a přesností odpovědi, B) ideální cíl systému (zelený bod) [16] jednotlivých parametrů provádět on-line, bez nutnosti dávkového přepočítávání.
4.2
Adaptabilní procvičování převodů jednotek
Modely popsané v předchozí sekci pracují se správnou a špatnou odpovědí (resp. výhrou a prohrou), jsou tedy vhodné pro adaptabilní procvičování faktů. Toto binární hodnocení je však příliš jednoduché pro potřeby navrhovaného systému. Jak již bylo zmíněno v 3.4.3, při hodnocení otázek má význam brát v potaz kromě samotné správnosti také rychlost a přesnost odpovědi. 4.2.1 Modelování kompromisu mezi časem a přesností Jak zmiňuje [16], modelování kompromisu mezi časem a přesností by mohlo odpovídat křivce znázorněné na obrázku 4.1A. Uživatel může odpovědět rychle, avšak s nízkou přesností odhadu, nebo naopak rychle, ale s přesně. V obou zmíněných případech je snaha uživateli napomoct k dosažení rychlé a současně přesné odpovědi (viz obrázek 4.1B). V návaznosti na toto jsou zmiňovány také zajímavé výzkumné otázky, jako např. jestli (a případně jak) se křivka kompromisu mezi 17
4. Adaptabilní procvičování časem a přesností liší u různých typů úloh nebo do jaké míry se uživatelé dokáží přiblížit optimu. Zmíněný kompromis se promítá v modelu pro odhadované skóre odpovědi otázky i pro uživatele j. Vychází z modelu popsaného E. Roskamem [17] a navrženého k použití pro účely adaptabilního procvičování [16]. Je dán následující logistickou funkcí: sˆij =
1 1+e
bi −ln tij −θ j
Model je možné vidět jako variaci modelu Elo. Protihráče reprezentuje obtížnost otázky bi , hráče pak dvojice parametrů tij reprezentující čas řešení odpovědi v sekundách a znalost uživatele θ j . Zvýšení obtížnosti otázky nebo snížení znalosti uživatele může být kompenzováno delším časem stráveným řešení otázky. Tento model je využíván při aktualizaci obtížnosti otázky a znalosti uživatele a také při výběru otázek k procvičování. V posledním jmenovaném případě ovšem není hodnota parametru tij známa, jelikož jde o predikci skóre a nikoliv o aktualizaci hodnot na základě předchozí odpovědi. Je tedy navrhováno použití následující funkce pro predikci času odpovědi [16]: ln tˆij = β i − τj kde β i určuje časovou náročnost otázky i a τj rychlost studenta j. Obě tyto hodnoty jsou reprezentovány mediánem časů, v prvním případě délek řešení dané úlohy, ve druhém případě pak délek řešení příkladů daným studentem. U časové náročnosti otázky je brán v potaz je pouze první pokus daného uživatele o odpověď na určitou otázku. Opakovaná zobrazení jsou nežádoucí, mohou být ovlivněna učením nebo zapamatováním si dané odpovědi a mohly by tedy skutečnou časovou náročnost zkreslovat. 4.2.2 Odhad znalosti uživatele Jakmile systém zaeviduje odpověď i uživatele j, vypočítá její skóre sij (postup výpočtu popsán dále v textu) a odhadované skóre sˆij a provede aktualizaci znalosti uživatele. 18
4. Adaptabilní procvičování Znalost uživatele určuje jeho zdatnost v jistém okruhu otázek (např. v převodech mezi stupni Celsia a stupni Fahrenheita). Počáteční znalost je nastavena na hodnotu 0 a je aplikována v situaci, kdy uživatel dosud neodpověděl na žádnou otázku z daného okruhu. Po každém zodpovězení otázky je pak znalost aktualizována následujícím způsobem: ( θ j + γ · (sij − sˆij ) pokud sij ≥ sˆij θj = θ j + δ · (sˆij − sij ) pokud sij < sˆij Pokud je odhadované skóre větší než reálně dosažené, provede se patřičná korekce snížením skóre uživatele. Obdobně pro opačný případ, kdy je toto skóre zvýšeno. Konstanty γ a δ udávají citlivost změny znalosti při lepším, resp. horším výsledku než odhadovaném. Jak bylo ověřeno v podobných systémech (např. Slepé mapy), vhodné hodnoty těchto konstant jsou γ = 3, 4 a δ = −0.4. Hodnota druhého parametru je v absolutní hodnotě menší než u parametru prvního, což modeluje fakt, že student se učí i v situaci, kdy odpoví špatně. Změna skóre by tedy měla být absolutně menší než v opačném případě. 4.2.3 Odhad obtížnosti otázky Podobně jako v případě znalosti uživatele je po zodpovězení otázky i upraveno také skóre její obtížnosti. Na rozdíl od předchozího případu je ale obtížnost otázky upravena jen při prvním jejím zodpovězení daným uživatelem. Další zobrazení totiž mohou být ovlivněna učením a výsledek tak může být zkreslující. Model pro odhad je založen na Elo, místo konstanty K je v tomto případě doporučeno [9] použití funkce s parametry α, β a n určující počet předchozích aktualizací otázky. bi = bi + K · (sˆij − sij )
K=
α 1+β·n
Model je využíván s parametry α = 1, β = 0, 06. 19
4. Adaptabilní procvičování 4.2.4 Vyhodnocení správnosti odpovědi Jak bylo vysvětleno v minulých kapitolách, u procvičování převodů jednotek je vhodné pracovat s faktorem nepřesnosti, tedy tolerovat jistou odchylku od správného výsledku. Zdroj [3] například volí řešení založené na vzorci pro odhad relativní chyby: v − v a η= v kde v je správná odpověď a v a odpověď uživatele. Tento vzorec však není možné kompletně převzít vzhledem k tomu, že je příliš jednoduchý pro navrhovaný systém, který operuje navíc s intervalem tolerance, možností opakované odpovědi a obsahuje také otázky bez tolerance nepřesnosti. V navrhovaném systému je velikost odchylky relativní vůči výsledné hodnotě, uvažovaná tolerance je 10% z výsledku. Jedinou výjimkou jsou převody mezi stupni Celsia a Fahrenheita, kde není možné procentuální odchylku aplikovat a byla proto zvolena fixní hodnota 8 ∘ C a 15 ∘ F, která na škále −40 ∘ C až 100 ∘ C používané v aplikaci odpovídá přibližně 6 %. To je sice méně, než u ostatních úloh, větší hodnota by však již představovala výrazný teplotní rozdíl a takto nepřesný odhad by nemusel být žádoucí. Správnost odpovědi je vyjádřena spojitým skóre R z intervalu [0, 1], kde větší hodnota určuje větší úspěšnost, podle následujících pravidel: ∙ Při nedodržení odchylky je odpověď označena za chybnou, tudíž skóre odpovědi R je rovno 0. ∙ Pokud se odpověď nachází v intervalu tolerance, kontroluje se, zdali bylo odpovězeno až na druhý pokus s využitím nápovědy. Jestliže ano, je odpověď ohodnocena hodnotou Rh . ∙ Při správné odpovědi u otázky bez tolerance nepřesnosti je skóre R rovno 1. ∙ Pakliže bylo zodpovězeno správně na první pokus a u otázky je tolerována nepřesnost, hodnocení je vypočteno dle vzorce: α + (1 − α ) · (1 − 20
|v − v a | ) d
4. Adaptabilní procvičování kde proměnná v označuje správnou odpověď, v a uživatelem odhadnutou odpověď a d toleranci správné odpovědi. Konstanta α pak určuje fixní počet bodů, které uživatel obdrží při dosažení spodní hranice tolerance nepřesnosti. 1 − α tedy určuje body udělené na základě přesnosti odpovědi. Konstanta Rh byla nastavena na hodnotu 0, 2. Ačkoliv uživatel nezadal napoprvé správnou odpověď, dokázal příklad s pomocí nápovědy správně vyřešit. Předpokládáme tedy, že i tento postup má vliv na učení. Konstanta α je používána s hodnotou 0, 6. Tím je dáno, že větší množství bodů je uděleno za samotné dodržení intervalu tolerance, menší pak za přesnost odpovědi. Intuicí za tímto rozhodnutím byl fakt, že i při spodní hranici intervalu nepřesnosti je odpověď uživateli zobrazena jako správná (leč s hláškou o nízké přesnosti). Zdá se proto být vhodné i v tomto případě udělit za odpověď nadpoloviční počet bodů, aby toto ohodnocení korespondovalo s očekáváním uživatele.
4.2.5 Výběr vhodné otázky Jakmile jsou vyfiltrovány otázky pro konkrétní procvičovaný okruh otázek, je nutné vybrat n z nich, které budou prezentovány uživateli. To je zajištěno přidělením číselného skóre ke každé otázce, které určí aktuální vhodnost otázky pro daného studenta. Postup vychází z řešení použitého v podobných výukových aplikacích jako je MatMat nebo Slepé mapy.
Pravděpodobnost správné odpovědi Tato hodnota závisí na obtížnosti otázky a na znalosti uživatele pro daný okruh otázek, na základě čehož je spočítána odhadovaná pravděpodobnost odpovědi Pest . Bylo zjištěno, že v případě adaptabilních výukových systémů je vhodná pravděpodobnost správné odpovědi studenta Ptarget rovna 75 % [9]. Jde o kompromis mezi optimem pro učení a rozumnou mírou „zábavnosti“ pro uživatele. Samotné skóre pravděpodobnosti je vypočítáno následovně: 21
4. Adaptabilní procvičování
S prob ( Pest , Ptarget ) =
Pest Ptarget 1− Pest 1− Ptarget
pokud Ptarget ≥ Pest pokud Ptarget < Pest
Počet zodpovězených otázek stejného druhu Předpokládá se, že procvičování je zábavnější, pokud se typy otázek (např. numerické nebo vizuální) střídají. Proto je zavedena diskriminace opakujících se typů v rámci jedné sady otázek, kde nt označuje počet vybraných otázek stejného typu v aktuální sadě: 1 Stype (nt ) = √ 1 + nt Čas od poslední odpovědi na stejnou otázku Další z vhodných penalizací při výběru otázky se týká času od poslední odpovědi. Nedávno zodpovězené otázky je žádoucí po určitý čas t (vyjádřený v sekundách) znovu nezobrazovat z důvodu jejich přítomnosti v krátkodobé paměti uživatele. Stime (t) = −
1 t
Počet odpovědí na stejnou otázku Posledním uvažovaným kritériem je zvýhodnění studentem dosud nezodpovězených otázek. Tímto je zajištěno objevování nových otázek namísto opakování množiny stejných, což je vhodné jak pro systém jako celek, tak pro samotného studenta. nc určuje počet existujících odpovědí na danou otázku pro daného uživatele. 1 1 + nc Jednotlivá skóre jsou následně zkombinována do jednoho čísla, které vyjadřuje vhodnost otázky k výběru. Váhy jednotlivých faktorů jsou převzaty ze systému MatMat a mají následující hodnoty: Wprob = 10, Wtype = 10, Wtime = 120 a Wanswered = 10. Sanswered (nc ) = √
22
5 Návrh a implementace systému Tato kapitola se věnuje fázím návrhu a implementace adaptabilního systému pro procvičování převodů jednotek, který je praktickým výstupem této práce. Jsou popsány typy otázek vyskytující se při procvičování, úlohy členící otázky do tématických celků, návrhová rozhodnutí související se znalostí uživatele a architekturou systému a v závěru také samotná implementace systému spolu s popisem použitých technologií a datových modelů.
5.1
Typy otázek
Jedním z cílů systému je učinit procvičování rozmanitější a umožnit uživateli různými způsoby přemýšlet nad tématem. Bylo tedy navrženo pět typů otázek, z nichž každý umožňuje procvičování jinou formou a má jiná specifika. Tam, kde je to vhodné (tedy u otevřených otázek), je aplikována tolerance nepřesnosti, totéž platí o možnosti druhého pokusu o odpověď při současném zobrazením nápovědy. U některých typů otázek je také možné obohatit otázku o doprovodný obrázek. Vlastnosti jednotlivých typů otázek jsou souhrnně uvedeny v tabulce 5.1. Pro každý typ otázky je v této sekci popsána jeho funkčnost a také motivace pro použití tohoto typu z hlediska učení. K popisům typů je doplněn také odkaz na příslušný snímek obrazovky z přílohy. Typ otázky
Tolerance nepřesnosti
Druhý Možnost obpokus s ná- rázku povědou
Numerický převod Výběr na ose Výběr z více možností Seřazení podle velikosti Výběr bankovek
3 3 7 7 3
3 7 7 7 3
3 7 3 7 7
Tabulka 5.1: Přehled vlastností jednotlivých typů otázek 23
5. Návrh a implementace systému Numerický převod Otázky typu numerický převod (obrázek B.4) slouží k procvičování převodů z jedné jednotky do druhé zadáním číselného výsledku. U něj je tolerována jistá nepřesnost (více o nepřesnosti v podsekci 4.2.4). Vstup je vkládán pomocí numerické klávesnice a je pouze celočíselný. Toto omezení bylo zvoleno pro usnadnění zadávání hodnot a pro většinu otázek není, vzhledem k toleranci nepřesnosti, limitujícím faktorem. Sekundárním cílem je snaha motivovat uživatele k odhadnutí hodnoty namísto prostého vynásobení vstupní hodnoty převodním poměrem. Numerickou úlohu je možno doplnit o obrázek ilustrující danou hodnotu, např. u převodu ze 2 palců na centimetry o obrázek šroubku. To může pomoci lépe si danou velikost představit a na základě asociace dvou palců s délkou šroubku vést k vybudování si potřebné intuice. Výběr na ose Převod výběrem na ose (obrázek B.12) funguje podobně jako numerická úloha, s tím rozdílem, že výsledek je zadáván dotykem na osu místo klávesnicí. Rozsah osy je určen vždy na míru konkrétní otázce, při výběru hodnoty je pak znázorněn tolerovaný rozsah nepřesnosti. Tento typ otázky má několik specifik. Jednak je omezen rozsah odpovědi, což může uživateli napomoci pokud si není svou odpovědí jistý. Vizuální reprezentace výsledku může být také vhodná pro lepší interpretaci a uvědomění si výsledku. V neposlední řadě je též možné snáze rozeznat tolerovaný rozsah díky jeho vyznačení na ose. Výběr z více možností V tomto typu otázky (obrázek B.11) je požadován výběr právě jedné z několika nabízených možností. Po zodpovězení je zobrazena správná odpověď a u chybných odpovědí také jejich hodnota vyjádřená v jednotce správné odpovědi. K otázce je možno doplnit také doprovodný obrázek. Pro tento typ byly vytvořeny otázky dvou druhů. V prvním (a početně méně zastoupeném) z nich uživatel vybírá největší (resp. nejmenší) hodnotu, ve druhém volí správnou odpověď popisující jistou měrnou vlastnost (délku, šířku, hmotnost) předepsaného stavu nebo 24
5. Návrh a implementace systému předmětu (např. automobilu). Na výběr mohou být jednotky stejného nebo různého měrného systému. Primárním cílem těchto otázek je vybudování intuice za pomoci asociace předmětu s jeho měrnou vlastností, což je dovednost vyšší úrovně než schopnost převést jednotku prostým vynásobením převodním poměrem. Efekt může být umocněn použitím obrázku reprezentujícího daný předmět, do procesu tak zapojíme také vizuální představivost uživatele. Seřazení podle velikosti Tento typ otázky (obrázek B.10) slouží k procvičování porovnání několika hodnot mezi sebou, jež mohou být stejného nebo různého měrného systému. Úkolem je tyto hodnoty vzestupně či sestupně uspořádat. Po vyhodnocení správnosti je u odpovědí zobrazeno vysvětlení – hodnota vyjádřená v nejmenší z nabízených jednotek. Díky tomu je možné snadno vidět, proč je pořadí takové, jaké je a uvědomit si rozdíly mezi jednotlivými možnostmi. Tímto typem otázky je procvičována převážně orientace napříč několika různými jednotkami. Může být vhodný mj. k ujasnění rozdílů mezi jednotkami podobné velikosti (např. metrem a yardem), kde je kromě toho, že jsou podobně velké, vhodné vědět také která z nich je větší. Výběr bankovek Výběr bankovek (obrázek B.8) je typ otázky určený k procvičování převodu mezi dvěma měnami. Výslednou hodnotu uživatel sestavuje opakovaným výběrem částek v hodnotách připomínajících hodnoty papírových bankovek. Při neúspěchu je uživateli zobrazena jedna z možných variant sestavení výsledné částky. U otázky je opět uplatňována tolerance nepřesnosti, což je také nutné vzhledem k celočíselným hodnotám bankovek. Podobně jako u numerického převodu má celočíselná podoba odpovědí za cíl přimět uživatele k odhadu výsledku. Vizuální povaha otázky a možnost rozložit výsledek do bankovek pak může pomoci při učení a mít vliv na schopnost aplikovat naučené znalosti v praxi. 25
5. Návrh a implementace systému
5.2
Úlohy a jejich otázky
Pro první verzi systému bylo vybráno pět kategorií úloh – délka, hmotnost, obsah, teplota a měny. Pro každou úlohu byly vybrány vhodné kombinace jednotek k převodu, přičemž důraz byl kladen na to, aby byly vždy přibližně „podobné“, tedy nikoliv např. kombinace gramů a tun. Délka a hmotnost mají tři varianty, mezi kterými může uživatel volit – procvičování pouze imperiálních, metrických nebo kombinovaných převodů. Obsah je dostupný pouze v kombinované variantě, jelikož převody v rámci jedné soustavy se ukázaly být, vzhledem k velkým číslům, jako ne příliš dobře uchopitelné. Teplota má pouze jedinou variantu, převody mezi stupni Fahrenheita a stupni Celsia. Měnové úlohy jsou dostupné ve třech variantách – eura, americké dolary a české koruny. Následně je pak procvičován převod mezi zvolenou variantou a měnami z množiny EUR, USD, GBP, PLN, CHF, DKK, RUB, JPY a CNY. Úlohy kombinovaných převodů délky a převodů teploty jsou obohaceny o příklady závislé na uživatelově nativním měrném systému. Jedná se o otázky typu výběr z více možností, kde je popisována jistá vlastnost předmětu a na výběr jsou pouze odpovědi jednoho měrného systému (tedy např. 10 metrů a 50 decimetrů). Je však zajištěno, aby zobrazený měrný systém byl jiný než nativní daného uživatele (tedy např. Fahrenheity pokud uživatel používá Celsia). To sice odporuje povaze úlohy s kombinovanými převody, namísto jednotky nativního měrného systému je ovšem známým elementem popisovaný předmět (např. automobil). Domníváme se tedy, že i tento druh otázek do kombinovaných převodů patří a může pomoci k pochopení cizího měrného systému. Kromě metrických a imperiálních jednotek byly k určitým úlohám doplněny také některé méně obvyklé jednotky míry. Jedná se 26
5. Návrh a implementace systému o jednotky, které jsou mezi lidmi používané (často pouze v určité geografické oblasti), nejsou však součástí nějakého uceleného měrného systému a jejich hodnota nemusí být jednotně definována. Nezřídka jsou používány v médiích ve snaze přiblížit svému publiku určitou kvantitu. Rozsáhlý přehled takových jednotek obsahuje [18]. V českém prostředí patří mezi nejčastěji používané takové jednotky fotbalové hřiště, tenisový kurt nebo americký stát Texas pro plochu, případně Eiffelova věž, Empire State Building či obvod zeměkoule pro délku. Vzhledem k časté používanosti těchto jednotek a tudíž jejich praktickému významu byly některé z nich v systému použity, prozatím však pouze experimentálně.
5.3
Rozsah znalosti uživatele
Znalost uživatele je číselná hodnota určující zdatnost uživatele v jistém okruhu otázek. Přesná specifikace tohoto okruhu je důležitým návrhovým rozhodnutím, má vliv na schopnost systému vybírat vhodné otázky a její určení se může odvíjet od konkrétního zaměření systému. Při návrhu systému byly uvažovány tři možnosti specifikace znalostí – globální znalost a lokální znalosti pro úlohy a pro jednotky. Tato sekce porovnává vhodnost jejich použití.
Globální znalost Jedná se o nejjednodušší variantu, kdy je použito jediné číslo popisující celkovou znalost uživatele. Výhodou tohoto řešení je jeho jednoduchost a také to, že po utvoření této znalosti z ní mohou těžit všechny otázky napříč systémem. Pro některé oblasti je však jediné číslo vyjadřující znalost až příliš zjednodušující. To platí i pro navrhovaný systém. Uvažované typy otázek jsou poměrně rozmanité a schopnost řešit některé typy úloh (např. převádět měnu z českých korun) je geograficky závislá. U jiných typů úloh (např. převodů mezi metrickými a imperiálními jednotkami hmotnosti) však geografická závislost není jednoznačná. Není proto možné tvrdit, že by mezi schopností řešit otázky pro různé druhy úloh byla závislost. 27
5. Návrh a implementace systému Znalost pro úlohy Výše uvedené napovídá, že globální znalost nepostačuje a je vhodné ji definovat odděleně pro jednotlivé úlohy jako jsou převody mezi metrickými a imperiálními jednotkami délky. Mezi schopností převádět 4 kilometry na míle a 2 kilometry na yardy již jistá závislost existovat bude. Tato varianta se tedy zdá být rozumná. Znalost pro jednotky Je možné jít ještě dál a znalost uživatele definovat až na úrovni konkrétních jednotek. Tedy například pro otázku převeď 5 metrů na palce by byla znalost definována jako převod z metrů na palce. Toto řešení by v jistých případech mohlo poskytovat přesnější výsledky, z důvodu velké granularizace by však v praxi bylo nutné jej zkombinovat s předchozími typy (např. zavedením hierarchie znalostí). Zároveň by byla problematická definice samotné znalosti, jelikož některé typy otázek (např. výběr z více možností) mohou pokrývat více než dvě jednotky. Z výše uvedených důvodů je použita jednodušší varianta znalostí pro úlohy, která je vhodným kompromisem mezi příliš jednoduchou a příliš sofistikovanou variantou. Nad rámec tohoto byla po nějaký čas v ostrém provozu využívána také globální znalost v případech, kdy zvolená úloha nebyla dosud procvičována a nemá tedy prozatím určenu znalost. To se však neosvědčilo z důvodu častého doporučování příliš těžkých otázek na základě předchozích úspěchů u jiných úloh. Později proto byl systém upraven tak, aby pro úlohy byla vždy použita počáteční znalost 0.
5.4
Architektura systému
Systém je přístupný skrze klientskou mobilní aplikaci, deklarovaná adaptabilita systému je ovšem nejlépe realizovatelná v kombinaci se serverovým řešením. Ten by uchovával podklady pro výběr vhodných otázek (zejména obtížnosti úloh), které jsou závislé na chování ostatních uživatelů. Předem však nebylo zřejmé rozložení funkcionality mezi tyto dvě vrstvy. To se může pohybovat mezi jedním extrémem, kdy aplikační logika a model pro doporučování otázek jsou na straně 28
5. Návrh a implementace systému klientské mobilní aplikace a ve vzdálené databázi se nachází pouze statistické údaje o obtížnostech a znalostech (odpovídá principu tlustého klienta), a druhým extrémem, kdy klientská aplikace pouze zobrazuje obsah generovaný na serverové straně (tenký klient). Varianta tlustého klienta Varianta tlustého klienta by mohla v praxi fungovat tak, že veškeré otázky jsou uloženy na klientské straně, kde probíhá také výběr otázek, vyhodnocení správnosti a úprava obtížností otázek a znalostí uživatele. Aplikace pak následně synchronizuje obtížnosti otázek se serverem, čímž je zajištěno sdílení těchto informací mezi různé uživatele. Tento přístup má několik výhod. Díky přítomnosti otázek a doporučovací logiky na klientské straně je možné snadno zajistit funkčnost aplikace bez připojení k internetu. Přínosem též může být rychlejší doba odezvy a větší možnosti co se týče uživatelského rozhraní a interaktivnosti úloh. Výhoda spočívající v umístění doporučovací logiky na klientské straně však je zároveň také nevýhodou. Tím, že tento kód běží autonomně na uživatelských zařízeních, není možné v algoritmu výběru otázek příliš pružně provádět změny. Úprava totiž vyžaduje vydání nové verze a provedení aktualizace aplikace na klientském zařízení, což trvá i déle než týden a uživatelé mohou instalaci aktualizace odmítnout. Totéž platí pro případné přidávání nových typů otázek, které by musely být dodatečně stahovány do zařízení. Varianta tenkého klienta Nevýhody tlustého klienta z hlediska modifikovatelnosti odbourává varianta tenkého klienta, ve které je logika výběru otázek, aktualizace znalostí uživatelů a obtížností otázek na jednotném místě – na serveru. Server je v extrémním případě možné použít taktéž pro generování uživatelského rozhraní, např. ve formě HTML a JavaScriptu, který je následně zobrazen v klientské aplikaci. Tento přístup umožňuje snadné změny jak v systému výběru otázek, tak v samotném uživatelském rozhraní otázek. Pro tyto úpravy tak není nutné vydávat aktualizaci aplikace. 29
5. Návrh a implementace systému Odvrácenou stranou popsaného řešení je především nižší uživatelská přívětivost. Ta je omezena jednak vyšší odezvou systému kvůli časté komunikaci se serverem, především však tím, že uživatelské rozhraní není vytvořeno nativně s pomocí systémových komponent. Tento rozdíl je pak obvykle okamžitě znatelný. Mezi další problémy patří např. omezený přístup k systémovým prostředkům, limitovaná možnost využívat interaktivní prvky jako jsou např. animace apod. Použité řešení Navržené a implementované řešení kombinuje oba popsané přístupy a usiluje o maximální využití výhod obou z nich. Otázky jsou uloženy a vybírány na serveru, který zároveň aktualizuje jejich obtížnost a znalost uživatele. Tím je zajištěna možnost snadné úpravy algoritmu vybírání otázek, je jednodušší sledovat a vyhodnocovat chování systému a v neposlední řadě je také otevřena cesta pro případné A/B testování různých modifikací doporučovacího modelu. Klientská strana pak obsahuje uživatelské rozhraní pro zobrazení otázky, zadání odpovědi a prezentaci zpětné vazby na zvolenou odpověď. Se serverovou částí komunikuje prostřednictvím HTTP API 1 a formátu JSON [19]. Po výběru procvičovaného tématu mobilní aplikace požádá server o vygenerování sady otázek na míru danému uživateli. Tyto otázky jsou mu následně předloženy. Klientská aplikace během procvičování monitoruje chování uživatele (strávený čas, odpověď a její přesnost). Po dokončení sady otázek zašle informace o průběhu procvičování na server, který na jejich základě příslušně upraví obtížnosti otázek a znalost uživatele. Řešení tedy kombinuje uživatelský komfort nativního rozhraní s flexibilitou kontroly nad otázkami a jejich doporučováním. Jediné čekání, které uživatel zaznamená, je jednorázové načtení otázek pro danou sadu úloh. To je však běžnou praktikou podobných aplikací a pro uživatele obvykle akceptovatelné. Nevýhodou je závislost aplikace na připojení k internetu, což však v případě chytrých telefonů není obvykle problém. Další slabinou, která vychází z načítání kompletní sady otázek, je fakt, že se efekt předchozích odpovědí neprojeví v rámci téže sady, ale až v nové sadě otázek. Tento problém by mohlo 1. API (Application Programming Interface) je rozhraní pro přístup ke službám aplikací
30
5. Návrh a implementace systému být možné vyřešit chytřejším přednačítáním otázek, prozatím však byla zvolena jednodušší varianta kompletního načtení celé sady.
5.5
Klientská část
Klientská část aplikace je vytvořena nativně pro systém iOS verze 8.0 a novější a zařízení iPhone a iPad v jazyku Swift. Swift je programovací jazyk uvedený společností Apple v červnu 2014, ideově vychází mj. z jazyků Objective-C, Rust, Haskell, Ruby nebo Python [20] a v současné době jde o preferovaný jazyk pro tvorbu iOS aplikací. Aplikace využívá systémové frameworky UIKit pro použití nativních prvků uživatelského rozhraní a Foundation pro přístup k podpůrné funkcionalitě jako je možnost vykonávat HTTP požadavky, načítat JSON data nebo měřit čas strávený při řešení úloh. V aplikaci bylo použito několik externích knihoven a frameworků, které jsou integrovány pomocí správce závislostí CocoaPods, jenž je de facto standardem v rámci ekosystémů iOS a OS X.
Uživatelské rozhraní Návrh uživatelského rozhraní zahrnoval několik fází. V prvním kroku byly vytvořeny tzv. wireframy – jednoduché skici zachycující základní prvky rozhraní. Na těchto návrzích bylo možné otestovat požadované vlastnosti rozhraní a jednoduchým způsobem provést potřebné úpravy. Následně byly návrhy implementovány do aplikace. Díky moderním prvkům iOS SDK jako jsou size classes bylo relativně jednoduché přizpůsobit rozhraní jak telefonům iPhone, tak tabletům iPad, které jsou často využívány např. na amerických školách. Snímky obrazovky zachycující uživatelské rozhraní aplikace jsou uvedeny v příloze B. Jako jazyk uživatelského rozhraní byla pro počáteční verzi aplikace zvolena angličtina. Toto rozhodnutí bylo učiněno vzhledem k cílovému publiku, které vlivem penetrace zařízení se systémem iOS tvoří převážně uživatelé ze Spojených států amerických. Do budoucích verzí je plánováno doplnění české lokalizace aplikace, kvůli nižšímu rozšíření tohoto systému však byla tomuto kroku přiřazena nižší priorita.
31
5. Návrh a implementace systému
Obrázek 5.1: A) ukazatel postupu v rámci sady otázek, B) odezva na odpověď, C) vizuální nápověda, D) textová nápověda
Mezi důležité prvky rozhraní patří ukazatel postupu v rámci dané sady otázek (obrázek 5.1A), který pomocí různých barev znázorňuje úspěšnost dané otázky a ukazuje také počet zbývajících otázek, což může přispět k udržení uživatele ve hře až do konce. Používané barvy jsou tmavě zelená pro rychlou a přesnou odpověď, světle zelená pro přesnou a pomalou nebo nepřesnou a rychlou odpověď, žlutá pro nepřesnou a pomalou odpověď a konečně červená pro nesprávnou odpověď. Dalším klíčovým prvkem rozhraní je panel s bezprostřední odezvou na právě zadanou odpověď (obrázek 5.1B) zobrazovaný ve spodní části obrazovky vždy po vyhodnocení odpovědi. Rozlišovány jsou podobné stavy jako v případě ukazatele postupu v sadě otázek a pro každý z nich je definováno několik hlášek. Odezva týkající se rychlosti však není v případě nízké uživatelské znalosti (aktuálně menší než 0.5) zobrazena, jak bylo vysvětleno v podsekci 3.4.3. Za zmínku stojí také nápověda, která je zobrazena v horní části uživatelského rozhraní při špatné odpovědi na numerickou nebo měnovou otázku. Nápověda může mít dvě podoby, textovou (obrázek 5.1D) nebo vizuální (obrázek 5.1C). Mezi těmito typy je v současné době vybíráno náhodně. V průběhu vývoje bylo na základě zpětné vazby přátel a členů skupiny Adaptive Learning provedeno několik úprav rozhraní. Mezi ty významnější z nich patří zobrazení přesné správné hodnoty i v případě, kdy uživatel odpoví správně, ale s jistou nepřesností a doplnění 32
5. Návrh a implementace systému popisků nejmenší (smallest) a největší (largest) k úloze seřazení podle velikosti pro snadnější pochopení požadovaného směru uspořádání.
5.6
Serverová část
Pro implementaci serverové části systému byl zvolen jazyk Python. Důvodů pro tuto volbu bylo několik. Jednak je Python primárním jazykem používaným na projektech skupiny Adaptive Learning na FI MUNI, je tak jednodušší použít již existující modely. Dalším důvodem byla jeho vysoká vyjadřovací schopnost, stejně tak jako dostupnost vyspělých webových a databázových frameworků. Aplikace je postavena na webovém mikro frameworku Flask2 , který umožňuje jednoduchým způsobem vytvořit API pro komunikaci s klientskou aplikací. Jako databázový systém byl použit PostgreSQL, v aplikaci je pak s databází manipulováno prostřednictvím ORM3 nástroje SQLAlchemy4 . Pro konverzi objektů do serializovatelné podoby vhodné k zaslání klientské aplikaci ve formátu JSON je využit framework Marshmallow5 . V neposlední řadě aplikace využívá knihovnu Pint6 pro konverzi mezi jednotkami. 5.6.1 Datový model Databázové schéma je znázorněno na obrázku 5.2. Dominantní částí tohoto schématu je deklarace otázek, která se skládá z tabulky question, kde jsou uloženy společné vlastnosti všech otázek, a tabulek pro příslušné typy otázek, jež uchovávají specifické vlastnosti pro daný typ. Uvažovanou alternativou k tomuto řešení byla eliminace tabulek pro konkrétní otázky a uložení specifických dat v nestrukturované formě, např. pomocí datového typu JSONB7 . Od tohoto řešení však bylo ustoupeno především kvůli potenciálním problémům s konzistencí dat 2. viz http://flask.pocoo.org/ 3. ORM (objektově-relační mapování) označuje techniku konverze dat mezi relační databází a objektově orientovaným programovacím jazykem 4. viz http://www.sqlalchemy.org/ 5. viz https://marshmallow.readthedocs.org/ 6. viz pint.readthedocs.org 7. datový typ JSONB je moderní způsob uchovávání JSON hodnot v databázi PostgreSQL tak, aby bylo možné nad hodnotami provádět dotazy
33
5. Návrh a implementace systému
Obrázek 5.2: Databázové schéma serverové části 34
5. Návrh a implementace systému a horší možností manipulace s daty pomocí ORM nástroje SQLAlchemy. Odvrácenou stranou tohoto rozhodnutí však jsou nižší flexibilita databáze a přizpůsobivost případným změnám. Otázky jsou přiřazeny k jednotlivým úkolům (reprezentovaným tabulkou task) za pomoci asociativní tabulky, která může volitelně definovat metrické či imperiální omezení této asociace (viz 5.2). Jedna „hra“ – sada otázek předložená uživateli – je definována v tabulce task_run spolu s informací o kompletním dokončení sady a statistickými daty o hře uloženými ve formátu JSONB. Tabulka task_run_question pak obsahuje otázky pro konkrétní sadu úloh spolu s jejich vyhodnocením. Znalost uživatele je definována jako asociace mezi úkolem a uživatelem. Pro potřeby pozdější analýzy je ukládána historie změn znalosti. Totéž platí také pro historii obtížnosti otázky. 5.6.2 Převod jednotek Jak je patrné z obrázku 5.2, u jednotlivých převodních otázek jsou ukládány pouze zdrojové jednotky a hodnoty a výsledné jednotky. Výsledné hodnoty uváděny nejsou, což má v některých případech za důvod jejich případnou redundanci (např. výsledek převodu z metrů na centimetry, který je vždy stejný) a v jiných případech nemožnost takovou hodnotu ukládat (např. u převodů mezi měnami, kde je převodní poměr proměnlivý). Bylo proto zvoleno řešení, v němž je výsledná hodnota vždy při přístupu k otázce ad-hoc vypočítána. K tomuto účelu je použita knihovna Pint umožňující konverzi mezi jednotkami a také možnost definice vlastních jednotek, což se hodí zejména v případě měn, které ve výchozí konfiguraci nejsou obsaženy. Kurzy měn jsou pravidelně aktualizovány pomocí veřejného API portálu Yahoo Finance.
5.7
Tvorba zadání otázek
Pro každou úlohu popsanou v sekci 5.2 byla ručně vytvořena zadání otázek. Těchto zadání bylo celkem vytvořeno 1000 a byly následně dávkově importovány do databáze z formátu csv. Počty otázek v závislosti na typu otázky jsou uvedeny v tabulce 5.2. 35
5. Návrh a implementace systému Typ otázky
Počet otázek
Numerický převod Výběr na ose Výběr z více možností Seřazení podle velikosti Výběr bankovek
581 108 130 56 125
Tabulka 5.2: Počty otázek v závislosti na typu otázky
Obrázek 5.3: Rozložení hodnot u otázek s převodem ∘ C na ∘ F Vzhledem k požadavku na pro praktický život užitečné otázky bylo zvolené řešení ruční tvorby zadání (pro uvažovaný rozsah systému) jednodušší, než automatické generování otázek. Jako příklad je na obrázku 5.3 uveden histogram rozložení hodnot u otázek se stupni Celsia, kde je viditelné, že nejpočetnější skupiny otázek jsou 0-40 stupňů, tedy nejčastěji běžně se vyskytující teploty vzduchu. Postup tvorby otázek se lišil na základě typu otázky: ∙ Numerický převod – Tvorba numerických otázek byla ovlivněna především snahou vyhnout se zadávání desetinných čísel, která nejsou pro zjednodušení rozhraní a vyšší motivaci odhadovat výsledek na uživatelském vstupu podporována. Bylo tedy nutné myslet na to, aby se nejbližší výsledná celočíselná hodnota vešla to desetiprocentního intervalu tolerance. Při samotném výběru hodnot pak byla snaha zaměřit se spíše na malá a středně velká čísla a rozumně kombinovatelné jednotky. 36
5. Návrh a implementace systému Oblíbeným „chytákem“ byla zadání s obráceným jednotkovým převodním poměrem (např. převod 12 stop na palce). Tam, kde se podařilo nalézt vhodný obrázek, je doplněna také obrázková ilustrace (např. šroubovák u převodu 6 palců na centimetry). ∙ Výběr na ose – U těchto otázek postup částečně odpovídal postupu při numerických otázkách, odpadá však problém se zadáním desetinných čísel a navíc se objevuje nutnost specifikace rozsahu osy. Ten byl zpravidla volen tak, aby přibližně odpovídal výsledné hodnotě, často ale byla jako počáteční hodnota volena nula. Uživatelé by takto mohli získat lepší představu o skutečné velikosti, než když je zobrazen jen výřez větších hodnot. Specifický případ tvoří převody teploty, kde byl fixně zvolen rozsah −40 až 100 stupňů Celsia (resp. 212 stupňů Fahrenheita). Opět panuje domněnka, že tento rozsah (navíc s počáteční hodnotou −40 shodnou pro Celsia i Fahrenheity) může být vhodný pro získání lepší intuice. ∙ Výběr z více možností – Tyto otázky jsou převážně typu „vyber hodnotu popisující předmět“, v menším množství pak jde o výběr větší hodnoty z uvedených. Nabízené možnosti (tzv. distraktory) byly určeny fixně, na rozdíl od obdobných systémů jako jsou Slepé mapy, které distraktory volí dynamicky na míru dané situaci. V některých případech byly jako možnosti zvoleny různé jednotky se stejnou hodnotou (např. 12 palců a 12 yardů u volby délky bochníku chleba), které mohou otestovat základní orientaci v měrném systému. V jiných případech je procvičována intuice v rámci jedné konkrétní jednotky (např. 20 kilogramů a 1000 kilogramů pro určení přibližné váhy televize). V tomto typu otázky je zařazeno také několik zadání s netradičními převody, např. odhad plochy ostrova Manhattan v New Yorku s možnostmi 60 km2 , 1000 m2 a 500 km2 , což může být vhodné pro testování orientace v metrickém systému. ∙ Seřazení podle velikosti – Možnosti k seřazení byly voleny podobným způsobem jako u předchozího typu. Navíc zde bylo 37
5. Návrh a implementace systému pracováno s jednotkovým převodním poměrem (např. porovnání jedné libry, tedy 16 uncí, a patnácti uncí) nebo porovnáním malých hodnot velkých jednotek a velkých hodnot malých jednotek. ∙ Výběr bankovek – U bankovek byl kladen důraz na hodnoty používané při běžném nakupování. U některých měn však, vzhledem k nepoměru mezi kurzy a snaze vyhnout se desetinným číslům, bylo obtížné tento cíl naplnit. Jde např. o převod z českých korun na eura, kde nejmenší převáděná částka je z tohoto důvodu 300 Kč.
38
6 Zhodnocení provozu a další rozvoj systému Následující kapitola se ohlíží za navrženým systémem. V první části analyzuje dosud nasbíraná data o provozu systému a jeho chování. Zkoumá také jeho uživatele a jejich preference. Byla snaha uvedené závěry interpretovat a pokusit se nalézt jejich zdůvodnění. Vzhledem k nízkému počtu analyzovaných odpovědí však tyto závěry nemusí být vždy průkazné a mohou podléhat zkreslením. Druhá část kapitoly se zabývá možnostmi rozvoje systému, které se zdají být na základě dosavadního provozu smysluplné. Navrhuje možné směry vylepšení adaptability systému a také uživatelského rozhraní aplikace.
6.1
Analýza provozních dat
Systém byl spuštěn 1. dubna 2016, kdy byla v App Store zveřejněna aplikace Conversions1 . Mezi tímto dnem a 24. květnem 2016, kdy proběhla analýza dat, byla aplikace byla nainstalována do 260 zařízení, z nichž na 215 bylo spuštěno alespoň jedno procvičování. Celkem pak bylo provedeno 1040 spuštění aplikace. Co se týče procvičování, uživatelé spustili 1780 běhů úloh a 1144 z nich bylo dokončeno. Zodpovězeno bylo celkově 7279 otázek. Aplikace byla propagována v okruhu přátel, jenž disponují potřebným zařízením pro běh aplikace, majoritu uživatelů (více než 95 %) však tvořily tzv. organické přístupy, tedy uživatelé, kteří nalezli aplikaci pomocí vyhledávání. Jednalo se zejména o uživatele ze Spojených států amerických. Ti ve finále tvořili 75 % všech uživatelů aplikace. Během sledované doby byl zaznamenán hromadný přístup ze dvou středních škol v amerických městech Webster Groves a Troy ve státu Missouri, které shodně na 22 zařízeních iPad opakovaně ve dvacetiminutových blocích využívaly aplikaci. Procvičovány byly především metrické, kombinované, a v menší míře také ostatní, převody. Data tedy nasvědčují, že se jednalo o použití aplikace při výuce. 1. Dostupná skrz jednoduchý propagační web http://conversions. petrzvonicek.cz/ nebo přímo na App Store – https://itunes.apple.com/ app/id1097032344
39
6. Zhodnocení provozu a další rozvoj systému 6.1.1 Oblíbenost úloh a typů otázek
Obrázek 6.1: Úlohy a počet jejich běhů Jako nejpopulárnější se mezi uživateli ukázaly být úlohy s převody jednotek délky, následované úlohami s teplotou a hmotností, na opačném konci se pak nachází převody mezi měnami (obrázek 6.1). Toto uspořádání z velké míry koresponduje s uspořádáním úloh v aplikaci. Je tedy pravděpodobné, že má na výsledné pořadí vliv. V datech je také znatelná vyšší popularita metrických převodů před imperiálními, což je dáno publikem, které tvořili především uživatelé z USA. U typů otázek je zjištění oblíbenosti obtížnější, protože jsou vybírány systémem. Jedním z možných způsobů je analýza nedokončených sad otázek se zaměřením na poslední ještě zodpovězenou a první již nezodpovězenou otázku, tedy tu, u níž se uživatel rozhodl procvičování ukončit. V prvním zmíněném případu hovoří čísla nejpříznivěji pro typ výběr z možností, který měl největší míru zodpovězení před opuštěním procvičování, následovaný typem výběr na ose. V případě první již nezodpovězené otázky je nejméně opuštěným typem opět výběr z možností, na opačném konci je pak numerický převod, při kterému uživatelé nejčastěji opouštěli procvičování. Podle těchto dat tedy největší popularitu získal typ výběr z možností a nejnižší naopak typ numerický převod. Tyto výsledky však mohou 40
6. Zhodnocení provozu a další rozvoj systému být ovlivněny různou mírou jednoduchosti volby výsledku, která je u nejméně opouštěného typu nejvyšší a u nejčastěji opouštěného typu nejnižší. Uživatelé tak mohli jen čekat na typ otázky, jenž vyžadoval více námahy a zde procvičování ukončit. 6.1.2 Obtížnost a doba řešení otázek
Obrázek 6.2: Obtížnost a doba řešení otázek podle jejich typu, poloměr bodu určuje počet odpovědí na otázku Zajímavý vhled do otázek vnáší analýza jejich obtížnosti a mediánu délky řešení v závislosti na typu otázky (obrázek 6.2). Mezi délkou řešení a obtížností je mírná pozitivní korelace (korelační koeficient 0.25), ukazující, že obtížnější otázky mají delší dobu řešení. V grafu jsou také znatelné vzory specifické pro jednotlivé typy otázek, které si zaslouží podrobnější analýzu. 41
6. Zhodnocení provozu a další rozvoj systému Obtížnost
Otázka
Odpověď 1
Odpověď 2
-1,64 -1,26 -1,17 -0.92 -0.78 -0.66
Délka zubního kartáčku Výběr delší jednotky Délka hasičského vozu Výška láhve s kečupem Výběr těžší jednotky Výška jedenáctipatrové budovy
7 palců 1 palec 12 palců 10 palců 1 libra 40 m
7 yardů 1 stopa 27 stop 10 yardů 1 unce 40 cm
Tabulka 6.1: Otázky s nejnižší obtížností. Všechny tyto otázky jsou typu Výběr z více možností. ∙ Velmi specificky se profiloval typ výběr z více možností, jehož otázky se ukázaly být spíše snadnější a zároveň jako jediné obsahují zápornou obtížnost (přehled nejjednodušších otázek viz tabulka 6.1). Důvodů pro tuto anomálii může být několik. Jednak je při dvou až třech možnostech, vyskytujících se u těchto otázek, relativně snadné uhádnout správnou odpověď (nejjednodušší otázky přitom obsahují výhradně pouze dvě možnosti), současně tento typ nepočítá s nepřesností a skóre správné odpovědi je tak vždy 1 – u jiných typů otázek odpovídající nulové nepřesnosti. Důležitou roli u otázek se zápornou obtížností hrála nízká obtížnost distraktorů. U tohoto druhu je též patrný nízký rozptyl doby řešení se střední hodnotou přibližně 6,2 sekund. To částečně souvisí s předchozími body a vliv na něj může mít také menší trpělivost uživatelů při výběru z několika nabízených možností a rychlejší způsob volby odpovědi. ∙ Otázky Seřazení podle velikosti se naopak ukázaly být (až na výjimky) obtížnější, což dokazuje jak vyšší průměrná obtížnost, tak delší doba řešení. Ta může být ovlivněna také pracnější volbou výsledku, kdy je nutné patřičně uspořádat nabízené možnosti. ∙ U otázek typu Číselná osa se ukázal relativně nízký rozptyl obtížnosti, která je navíc na poměrně vysoké úrovni. Při hledání důvodu tohoto chování byly analyzovány shodně zadané 42
6. Zhodnocení provozu a další rozvoj systému numerické otázky. Ty však vykazovaly přibližně stejnou úspěšnost jako u ekvivalentu s číselnou osou (např. úspěšnost 80 % v porovnání s 85 % u číselné osy při převodu 32 Fahrenheitů na Celsia). Totéž bylo pozorováno také u několika jiných otázek. Důvod pozorovaného chování by mohl spočívat v prozatím nízkém počtu odpovědí, který je navíc u shlukovaných položek přibližně stejný. Obtížnost u těchto otázek tedy ještě nemusí být ustálena. ∙ Odlišně se profilovaly otázky typu Numerický převod, kde je viditelný zejména větší rozptyl doby řešení úloh. Ten by mohl mít souvislost s povahou úlohy, kde je nutné skutečně vypočíst a zadat číselnou hodnotu a opět také s uživatelským rozhraním vyžadujícím ruční vložení čísla. Je zde také patrná mírná korelace mezi dobou řešení a obtížností úloh. ∙ Poslední z úloh, Bankovky, neobsahuje, vzhledem k nízké popularitě měnových úloh, dostatek relevantních dat a nemá tedy význam je podrobněji analyzovat. Z dosavadních výsledků se ukazuje, že doba řešení otázek tohoto typu je rozumně rozprostřena. Co se týče samotných zadání otázek a jejich obtížností, potvrdily se očekávatelné domněnky, že převody mezi měrnými systémy jsou obtížnější než převody v rámci stejného systému nebo že u otázek typu seřazení podle velikosti jsou nejtěžší ty, kde jsou porovnávány velké hodnoty malých jednotek s malými hodnotami velkých jednotek (např. 3500 mm a 2 m). Jako nejtěžší otázky se ukázaly být ty využívající netradiční převodní jednotky (např. 3 délky Empire State Building nebo 2 délky Eiffelovy věže). Je možné se blíže zaměřit na analýzu snadných a obtížných otázek u převodů stupňů Celsia a Fahrenheitů, které jsou navíc díky své povaze snadno interpretovatelné. Jako nejlehčí otázky se u této úlohy podle očekávání profilovaly význačné hodnoty jako je bod varu či bod mrazu (212 ∘ F, 32 ∘ F, 100 ∘ C). Jako obtížné se naopak ukázaly otázky na převod záporné hodnoty (−4 ∘ F, −10 ∘ C). U typu otázek výběr z více možností se znovu ukázal výrazný vliv obtížnosti distraktorů, kdy při otázce na výběr teploty šálku horkého čaje je tato u relativně 43
6. Zhodnocení provozu a další rozvoj systému Pořadí 1 Obtížnost -0,65 Počet 171
2 -0,52 147
3 -0,51 136
4 5 -0,44 0,11 313 111
6 1,11 101
7 8 0,52 1,59 95 95
9 2,67 77
Tabulka 6.2: Obtížnosti a počty zobrazení nejfrekventovanějších otázek obtížných distraktorů 70 ∘ F a 140 ∘ F evidována jako jedna z nejtěžších, avšak varianta s lehčími distraktory 200 ∘ C a 50 ∘ C patří naopak mezi nejlehčí. 6.1.3 Výběr otázek Proces výběru otázek je popsán v sekci 4.2.5. Následující analýza byla zaměřena na to, jaké otázky tento algoritmus nejčastěji vybíral. Přehled devíti nejfrekventovanějších otázek se nachází v tabulce 6.2. Z pohledu typu otázky zde dominuje výběr z možností, což je pravděpodobně způsobeno jejich nízkou obtížností – jedná se o „záchranné“ otázky, které systém volí v případě, kdy se uživateli příliš nedaří. Zajímavý pohled je však na obtížnost nejčastěji vybíraných otázek, jež je poměrně různorodá. Je obtížné toto chování vysvětlit, podobné výsledky však byly pozorovány také v obdobném systému pro procvičování faktografických znalosti z biologie [15], jedná se tedy pravděpodobně o vlastnost zvoleného přístupu k výpočtům obtížnosti otázek a očekávané odpovědi uživatele. 6.1.4 Poměr správných odpovědí Globální poměr správně zodpovězených a všech položených otázek je 68 %, což je méně, než určený cíl 75 %. Vhled tohoto problému může vnést rozčlenění těchto poměrů na základě typu otázky (obrázek 6.3). Z něj vyplývá, že nejblíže cílové úspěšnosti se přiblížily otázky typu výběr z více možností, které mají úspěšnost 78 %. Ty jsou následovány typem numerický převod s úspěšností 70 %. Výrazně podprůměrnou úspěšnost ale mají typy seřazení podle velikosti, výběr na ose a výběr bankovek. Ty mají současně také nejméně dat, až pětkrát méně, než první dvě úlohy. Vliv na tyto nízké hodnoty tedy může mít také prozatím nepřesný odhad obtížnosti otázky. 44
6. Zhodnocení provozu a další rozvoj systému
Obrázek 6.3: Poměr správně zodpovězených otázek dle typu úlohy. Červeně je vyznačena očekávaná úspěšnost, na níž systém cílil při výběru otázek.
6.1.5 Úspěšnost nápovědy Při chybné odpovědi byly uživatelům zobrazovány dva typy nápověd s jednotkovým převodním poměrem, numerické a vizuální. Byl zobrazen vždy právě jeden tento typ, přičemž systém náhodně vybral jeden z nich a následně sledoval, jestli pomohl uživateli k úspěšnému vyřešení (což dále označujeme jako úspěch). Numerické nápovědy byly zobrazeny celkem 599krát s 288 úspěchy a celkovou úspěšností 48,1 %, vizuální pak 575krát s 211 úspěchy a úspěšností 36,7 %. Zajímalo nás, jestli je tento výsledek již statisticky významný a zdali je možné potvrdit jejich rozdílnost. Zdroje zmiňují jako vhodnou variantu pro tento případ neparametrický Fisherův přesný test (Fisher’s exact test), který je vhodný pro porovnávání dvou vzorků dat, kde výsledky spadají do dvou vzájemně výlučných tříd (např. úspěch a neúspěch) [21, 22]. Program v jazyku R pro výpočet vypadá následovně: d <− rbind ( c ( 2 1 1 , 575 − 211) , c ( 2 8 8 , 599 − 288)) colnames ( d ) <− c ( " S u c c e s s " , " F a i l u r e " ) rownames ( d ) <− c ( " V i s u a l " , " Numeric " ) fisher . t e s t (d) 45
6. Zhodnocení provozu a další rozvoj systému Výsledkem testu je p-hodnota 0, 00009564, na pětiprocentní hladině významnosti tedy zamítáme nulovou hypotézu, že typ nápovědy nemá vliv na úspěšnost odpovědi. Lze tedy tvrdit, že číselná nápověda dosahuje lepších výsledků. Důvodem pro takto rozdílný výsledek může být snazší práce s číselnou hodnotou, kterou lze přímo použít k vyřešení příkladu, zatímco u vizuální varianty je nutné přesnou hodnotu vyčíst z osy. Druhá jmenovaná sice může lépe sloužit k získání intuice a nabádat uživatele k použití odhadu (např. že 1 metr je přibližně ekvivalentní 3 stopám), během procvičování se však tento vliv neukázal být jako zásadní.
6.2
Možnosti rozvoje systému
6.2.1 Výběr otázek Velký potenciál k dalšímu vývoji systému je v oblasti výběru otázek. Úpravy v tomto směru mají přímý dopad na uživatele, avšak pro reálné vyhodnocení jejich přínosu je nutné získat větší množství uživatelů. Následně mohou být například vhodným základem pro A/B testování. Systém tak, jak je implementován, uvažuje jako primární kritérium výběru otázek očekávanou odpověď uživatele, sekundárně výběr ovlivňuje penalizace již zodpovězených otázek a jejich typů. Tento postup volí optimálně obtížné otázky podle odhadu jejich náročnosti, nebere však v potaz samotnou otázku a její zadání, které může mít pro uživatele různou užitečnost. V určitých případech tedy může být vhodné předložit uživateli otázku mírně obtížnější, zato však pro praktický život přínosnější. Jednoduchým příkladem takové otázky je převod 37 ∘ C, tedy hraniční meze průměrné tělesné teploty, na Fahrenheity, nebo různé výšky lidí při převodu ze stop na metry. Důležitost otázek je však možné chápat také komplexněji, a sice jako hierarchii, dle které je procvičování jistých jednotek podmíněno předchozím zvládnutím určitých prerekvizit. Základní ideou je nezatížit uživatele všemi jednotkami hned od začátku, ale uvádět nové jednotky postupně. Například akry tak mohou být uživateli předlo46
6. Zhodnocení provozu a další rozvoj systému ženy až po zvládnutí elementárnějších převodů mezi kilometrem nebo metrem. Toto chování by měl systém v ideálním případě získat automaticky, pouhým zvýšením obtížnosti otázek s akry v reakci na nižší úspěšnost uživatelů. Jistou dobu však trvá, než systém k tomuto chování dospěje (což může především u nových a dosud nezaběhnutých systémů trvat déle, než je únosné), ani pak však není zabráněno tomu, že se uživateli zobrazí některý ze snadnějších příkladů s akry dříve, než je žádoucí. Zavedení jisté hierarchie tedy stojí za zvážení. 6.2.2 Výpočet skóre otázky Další oblastí, kde lze zkoumat možnost dalšího rozvoje, je algoritmus výpočtu skóre zodpovězené otázky (viz 4.2.4). Ten využívá několik ad-hoc konstant, jejichž dopad na systém nebyl v této práci analyzován a mohlo by být zajímavé jejich vliv vyhodnotit. Potenciálně problematickým místem u výpočtu skóre je práce s nepřesností u odpovědi. Jednak absencí tolerance nepřesnosti u některých otázek (např. výběru z více možností) má systém tendenci tyto označovat jako jednodušší, jelikož jejich správné zodpovězení je ohodnoceno stejně jako nulová nepřesnost u číselné úlohy. Za zamyšlení stojí také různá očekávání nepřesnosti u různých otázek, jinými slovy, že zadání otázky navádí uživatele k určité nepřesnosti. Příkladem je např. převod jednoho metru na centimetry, kde bude nepřesnost ve většině případů nulová, na rozdíl od převodů čtyřiceti palců na centimetry, kde se očekává odhad 100 namísto přesné hodnoty 101,6. Mohlo by tedy být smysluplné ohodnotit odhad odpovědi na základě tohoto rozdílného očekávání. 6.2.3 Uživatelské rozhraní Aktuální verze aplikace nabízí uživatelům úlohy sdružující jednotky daného typu (metrické převody délky, kombinované převody hmotnosti atp.). Tento přístup nezatěžuje uživatele přílišnými volbami, je tak vhodný pro nové uživatele a zejména pro ty, kteří se chtějí „jen tak“ zlepšit v dané oblasti, případně požadují souhrnné opakování jistého tématu. Pro určitý druh uživatelů může však být vhodnější přesnější výběr jednotek, který by mohl více odpovídat různorodým 47
6. Zhodnocení provozu a další rozvoj systému požadavkům (např. aktuálně probírané látce v případě žáků nebo měnám pouze určitých zemí u převodů měn). Analýza oblíbenosti úloh v minulé kapitole ukázala značnou nerovnoměrnost v počtu jejich spuštění. Tato oblíbenost koresponduje s umístěním úloh v aplikaci a zdá se, že velké množství uživatelů níže umístěné úlohy vůbec neobjeví. Do budoucna je tak vhodné se zamyslet nad formou prezentace typů úloh a provést patřičné úpravy uživatelského rozhraní tak, aby v současnosti níže umístěné úlohy byly dostupnější. Další příležitost se týká vizualizace znalostí uživatele. Mimo systém zpětné vazby aplikace nezobrazuje aktuální nabytou znalost daného tématu nebo pokrok ve zlepšování. Nabízí se proto možnost tuto znalost zobrazovat či vizualizovat, například podle jednotlivých úloh. 6.2.4 Frekvence aktualizace znalosti uživatele Jak bylo popsáno v minulých kapitolách, systém načítá sadu otázek najednou a provádí aktualizaci znalosti uživatele vždy po jejím dokončení (tedy po pěti až šesti odpovědích), kdy aplikace dávkově odešle data na server. Jiné obdobné systémy, např. Slepé mapy, však provádí aktualizaci častěji a načítají otázky po jedné, což poskytuje pokaždé takové otázky, které jsou bezprostředně nejlepší pro uživatele. Tento princip nebyl použit kvůli možným dlouhým prodlevám při donačítání dat během procvičování, které by mohly nastat při nestálém mobilním připojení. Popisovaný nedostatek je patrnější při první sadě otázek uživatele, kdy není dosud známa znalost a je proto iniciálně nastavena na nulu, což vede k výběru poměrně snadných otázek. Otázky na míru jsou tak vybrány až ve druhé sadě. Jeden z nápadů počítal s upravením první sady otázek tak, aby obsahovala i složitější otázky, analýza chování uživatelů ale ukázala, že chybovost u prvních sad je přibližně 30 %, což si nevyžaduje ruční zásah. V úvahu tak připadá sofistikovanější řešení, které by načítalo otázky v průběhu sady, mělo by však k dispozici určité otázky pro případ, že by se nepodařilo v dostatečně krátkém čase nově přizpůsobené otázky získat. 48
6. Zhodnocení provozu a další rozvoj systému 6.2.5 Režim bez připojení k internetu Často diskutovanou funkcí byla možnost použití aplikace bez připojení k internetu. Ačkoliv samotné procvičování nevyžaduje komunikaci se serverem, pro stažení sady úloh je internetové připojení vyžadováno. Toto omezení není vzhledem ke zvolené architektuře systému možné plně odbourat, lze jej však částečně snížit přednačtením několika sad úloh „do zásoby“ pro použití v situaci, kdy bude aplikace spuštěna v režimu bez připojení k internetu. Popsané řešení zvolili např. tvůrci aplikace Duolingo. V případě navrhovaného systému by byla omezením nemožnost úpravy uživatelské znalosti až do následného připojení k internetu. Vzhledem k omezenému počtu takto přednačtených úloh se ale toto omezení nezdá být příliš zásadní. 6.2.6 Ostatní vylepšení Přirozenou možností vývoje systému je doplnění nových zadání otázek. Při jejich tvorbě je možné vycházet z analýzy obtížnosti úloh a pokusit se najít prázdné místo, které je nedostatečně pokryto obtížností nebo časovou náročností. Může se jednat např. o kategorii velmi snadných otázek, kterým v současnosti dominuje typ výběr z více možností, což může být pro méně zdatného uživatele poněkud monotónní. Příležitost je též ve vytvoření nových typových otázek. Jednou z možností je například praktičtěji zaměřená otázka kombinující převod měn a nakupování konkrétních druhů zboží (např. mléka nebo chleba). Během procesu její tvorby by ovšem bylo třeba vypořádat se s problémem zdroje cen zboží, které se pro různé země liší a jsou proměnlivé. Musela by tak být zavedena jejich pravidelná synchronizace. Systém byl spuštěn v anglické verzi, což se ukázalo jako dobré rozhodnutí vzhledem k tomu, že majorita dosavadních uživatelů přichází z USA. Přesto je však vhodné uvažovat nad lokalizaci aplikace do dalších jazyků. Nabízí se doplnění podpory češtiny, což může být vhodné vzhledem k možnostem propagace v kolektivu známých lidí.
49
7 Závěr Předmětem této diplomové práce byl vývoj mobilní aplikace pro systém iOS umožňující adaptabilní procvičování převodů metrických a imperiálních jednotek veličin délky, hmotnosti, obsahu, teploty a převodů mezi měnami. Teoretická část práce nejprve zkoumá již existující systémy s podobným zaměřením a funkčností a uvádí požadavky na navrhovanou aplikaci. Dále shrnuje základní principy adaptabilního procvičování a navrhuje jejich aplikaci pro zvolenou problémovou doménu. V následující kapitole je zdokumentován proces návrhu a implementace samotného systému spolu s odůvodněním klíčových rozhodnutí, která během této fáze padla. V závěru je pak provedena analýza provozu systému, jeho uživatelů a otázek, která je doplněna přehledem možností rozvoje systému. Praktická část je složena ze dvou částí. Jako podpora mobilní aplikace byla vytvořena serverová část, která uchovává otázky a zpracovává informace o uživatelích a jejich interakcích se systémem. Především však zajišťuje adaptabilní výběr otázek na míru schopnostem daného uživatele. Ty jsou následně pomocí protokolu HTTP předány aplikaci. Druhou částí je pak samotná mobilní aplikace, pomocí které uživatel komunikuje se systémem. Procvičování je vedeno rozmanitými typy otázek, z nichž některé jsou více zaměřené na vizuální reprezentaci, jiné na numerický převod a dle možností umožňují uživateli zadávat přibližný odhad výsledku. Pomocí systému zpětné vazby se pak snaží uživatele motivovat k rychlejšímu nebo přesnějšímu řešení. Aplikace byla uveřejněna v distribuční platformě App Store na adrese https://itunes.apple.com/app/id1097032344 a při psaní tohoto textu byla již téměř dva měsíce v ostrém provozu. Aplikaci si během této doby vyzkoušely stovky lidí, za úspěch považujeme především její opakované použití ve výuce na dvou amerických středních školách. Analýza dat o dosavadním provozu systému ukázala na významný vliv typu otázky a jejího rozhraní na čas a způsob řešení. Data ukazují na statisticky významný rozdíl mezi vizuální a numerickou nápovědou. Vyplývá z nich také, že na jisté typy otázek (např. výběr z více 51
7. Závěr možností) odpovídali uživatelé rychleji, než na jiné (např. numerické otázky). Podoba rozhraní měla zřejmě roli také při výběru otázek uživateli, jelikož jejich popularita odpovídala pozici úlohy v přehledu úloh. Dosavadní postup ponechává velký prostor pro budoucí rozvoj projektu. Plánováno je vylepšení uživatelského rozhraní tak, aby v současnosti níže umístěné úlohy byly lépe k nalezení. Smysluplné je taktéž vylepšení načítání otázek tak, aby reagovaly na změnu znalosti uživatele dynamičtěji, tedy i v průběhu jedné sady úloh. Mezi možnosti rozvoje výzkumnějšího rázu patří důkladnější analýza algoritmu výpočtu skóre otázky spolu s vlivy nepřesnosti a doby řešení otázek. Je zde taktéž možnost podrobněji se zaměřit na modelování kompromisu mezi správností a rychlostí a zajistit směřování uživatele požadovaným směrem – k rychlé a správné odpovědi. Pro další možné směry vývoje bude určující následný provoz systému, který poskytne více informací o jeho funkčnosti a také o chování jeho uživatelů.
52
Bibliografie [1] Robert Hof. AI-Powered Language Learning App Duolingo Nets $45 Million Funding. [cit. 2016-05-21]. Dostupné z WWW
. [2] Jiří Řihák. Use of Time Information in Models behind Adaptive System for Building Fluency in Mathematics. 2015 [cit. 2016-04-21]. Dostupné z WWW . [3] Roman Orlíček. Systém na adaptabilní procvičování odhadů. Bakalářská práce. 2015 [cit. 2016-02-13]. Dostupné z WWW . [4] Jacob Poushter. Smartphone Ownership and Internet Usage Continues to Climb in Emerging Economies. [cit. 2016-04-26]. Dostupné z WWW . [5] Inc. Gartner. Gartner Smart Phone Marketshare 2015 Q4. [cit. 201604-26]. Dostupné z WWW . [6] Sarah Perez. iOS App Launches Nearly Double That Of Android; Apps Used For Twice As Long. [cit. 2016-04-26]. Dostupné z WWW . [7] Common Core State Standards Initiative. Mathematics Standards. [cit. 2016-05-21]. Dostupné z WWW <www.corestandards.org/ Math/>. [8] MŠMT. Rámcové vzdělávací programy. [cit. 2016-04-08]. Dostupné z WWW . [9] Radek Pelánek, Jan Papoušek a Vít Stanislav. „Adaptive Practice of Facts in Domains with Varied Prior Knowledge“. In: Proceedings of the 7th International Conference on Educational Data Mining (EDM 2014). London, United Kingdom, 2014, s. 6–13. isbn: 9780-9839525-4-1. 53
BIBLIOGRAFIE [10] Paul Nicholson. „A History of E-Learning“. In: Computers and Education: E-Learning, From Theory to Practice. Dordrecht: Springer Netherlands, 2007, s. 1–11. isbn: 978-1-4020-4914-9. [11] J. R. Carbonell. „AI in CAI: An Artificial-Intelligence Approach to Computer-Assisted Instruction“. In: Man-Machine Systems, IEEE Transactions on. 1970, s. 190–202. [12] S. Klinkenberg, M. Straatemeier a H.L.J. van der Maas. „Computer adaptive practice of Maths ability using a new item response model for on the fly ability and difficulty estimation“. In: Computers & Education. Sv. 57. 2. 2011, s. 1813–1824. [13] Jiří Řihák, Radek Pelánek a Juraj Nižnan. „Student Models for Prior Knowledge Estimation“. In: Proceedings of the 8th International Conference on Educational Data Mining. Madrid, 2015, s. 109– 116. isbn: 978-84-606-9425-0. [14] Jan Papoušek, Vít Stanislav a Radek Pelánek. „Evaluation of an Adaptive Practice System for Learning Geography Facts“. In: Proceedings of the Sixth International Conference on Learning Analytics & Knowledge. Edinburgh, United Kingdom: ACM, 2016, s. 134–142. isbn: 978-1-4503-4190-5. [15] Jan Drábek. Adaptabilní systém pro procvičování faktografických znalostí z biologie. Diplomová práce. 2016 [cit. 2016-04-10]. Dostupné z WWW . [16] Juraj Nižnan. Modeling Speed-Accuracy Tradeoff in Adaptive System for Practicing Estimation. 2015 [cit. 2016-04-15]. Dostupné z WWW . [17] Roskam Edward E. „Toward a psychometric theory of intelligence“. In: Progress in mathematical psychology. 1987, s. 151–174. [18] Wikipedia. List of unusual units of measurement — Wikipedia, The Free Encyclopedia. [cit. 2016-04-16]. Dostupné z WWW . [19] Tim Bray. The JavaScript Object Notation (JSON) Data Interchange Format. RFC. 2014. Dostupné z WWW . [20] Chris Lattner. Swift. [cit. 2016-04-20]. Dostupné z WWW .
54
BIBLIOGRAFIE [21] Marie Budíková, Maria Králová a Bohumil Maroš. Průvodce základními statistickými metodami. vydání první. Praha: Grada Publishing, a.s., 2010. isbn: 978-80-247-3243-5. [22] Winston Chang. Frequency tests – Cookbook for R. [cit. 2016-05-24]. Dostupné z WWW .
55
A Přílohy Přiložený archiv zdrojových kódů obsahuje následující soubory: ∙ Zdrojové soubory klientské části (složka conversions-ios), dostupné také ve veřejném repozitáři https://github.com/ zvonicek/Conversions-ios/. Stručný návod ke zprovoznění je uveden v souboru README.md nebo na úvodní stránce repozitáře. ∙ Zdrojové soubory serverové části (složka conversions-bacnekd), dostupné také ve veřejném repozitáři https://github.com/ zvonicek/Conversions-backend. Stručný návod ke zprovoznění je uveden v souboru README.md nebo na úvodní stránce repozitáře. V separátním archivu je pak umístěn export dat, který obsahuje SQL soubor s úplným obsahem databáze ze dne 26. května 2016 a csv soubory s daty z jednotlivých databázových tabulek k témuž dni.
57
B Snímky uživatelského rozhraní aplikace
59
B. Snímky uživatelského rozhraní aplikace
Obrázek B.1: Přehled úloh
Obrázek B.3: Načítání úlohy
60
Obrázek B.2: Přehled úloh
Obrázek převod
B.4:
Numerický
B. Snímky uživatelského rozhraní aplikace
Obrázek B.5: Numerický převod s nápovědou
Obrázek B.6: Numerický převod, správná odpověď
Obrázek B.7: Numerický převod, špatná odpověď
Obrázek B.8: Výběr bankovek
61
B. Snímky uživatelského rozhraní aplikace
Obrázek B.9: Výběr bankovek, správná odpověď
Obrázek B.10: Seřazení podle velikosti, špatná odpověď
Obrázek B.11: Výběr z více možností, správná odpověď
Obrázek B.12: Výběr na ose
62
B. Snímky uživatelského rozhraní aplikace
Obrázek B.13: Dokončení běhu hry
63
B. Snímky uživatelského rozhraní aplikace
Obrázek B.14: Rozhraní přizpůsobené zařízení iPad
64