Hlavní navigace

Software, který naučí děti číst, psát a počítat

27. 10. 2014
Doba čtení: 10 minut

Sdílet

Projekt XPRIZE Global learning – soutěž o svobodný software pro výuku čtení, psaní a počítání. Máte chuť stát se součástí velkého projektu, který pomůže lidem? Máte finanční prostředky a nebojíte se rizika investovat? XPRIZE nabízí výměnou za hotový projekt možnost vyhrát vysokou finanční odměnu.

Když Janko Bôčik odešel od Canonicalu, bylo to do XPRIZE. Na svém blogu říkal, že odchází za lepším. Co je zajímavější, než práce na opensourcovém operačním systému pro miliony uživatelů? XPRIZE chce být motorem inovací. Věří, že:

  • Lidé jsou soutěživí a že soutěž vede k dříve neočekávaným nebo nepředstavitelným objevům či řešením.
  • Dokážeme pouze to, po čem toužíme – když si však cíl neurčíme, nikdy jej nedosáhneme.
  • Správné řešení může přijít odkudkoli nebo od kohokoli.
  • Cíl musí být výzva, ale zároveň dosažitelná, svázaná s konkrétními úkoly a měřitelnými výsledky.

Raději než by v XPRIZE úkol řešili, vypíší veřejnou soutěž a vyzvou lidi ve světě, aby to dokázali. V současné době běží například poslední fáze soutěže s cílem dostat soukromé vozítko na měsíc – odměna pro vítěze je 30 milionů dolarů. 20. září 2014 byla vypsaná nová soutěž s názvem Global learning jejíž skromným cílem je napsat program, který umožní dětem z rozvojových zemí naučit se číst, psát, počítat. Ne, že by takové programy již nebyly, ale žádný z nich není skutečným produktem přímo s tímto účelem. A žádný není snadno rozšiřitelný nebo upravitelný.

Podle UNESCO:

  • V roce 2015 bude třeba v třídách o 1,6 milionů učitelů více.
  • 250 milionů dětí po celém světě neumí číst nebo psát.
  • 171 milionům lidí by znalost čtení pomohla zvítězit nad chudobou.

Co je na tom pravdy, nevím. Kromě toho zvláštního dobrého pocitu, že jste někomu pomohli a který vlastně většinu lidí nezajímá (raději anonymně přispíváme na různé sbírky, kde naše peníze putují kdo ví kam), XPRIZE nabízí vítězi 10 milionů dolarů a pěti finalistům po 1 milionu dolarů. Když by si milion dolarů rozdělilo deset lidí, pořád je to slušná částka, která umí zahřát v kapse – to je trochu jiný druh dobrého pocitu. Vás určitě bude zajímat, že cílový produkt má být opensource. Program nemá nahradit učitele, ale má spíše sloužit jako zdroj informací v nepřítomnosti kvalifikovaného učitele.

Dobrá, tak teď máme hotovou část, které se říká reklama, a můžeme k zajímavější věci, jak by takový kousek software mohl vypadat. Vzhledem k tomu, že mám doma děcka v předškolním věku, téma mě zajímá a Janko Bôčik říkal, že se nemám stydět, rozhodl jsem napsat do pár odstavců částečnou představu, jak by mohl cílový program vypadat – ale spíš položím spoustu otázek, na které neznám správné odpovědi.

Trenér

Kdysi, ještě na škole, jsem psal program, který se měl chovat jako trenér. Dokument, z kterého jsem vycházel, popisoval použití trenéra ve hře Hunt the Wumpus. Trenér byl modul, který, stejně jako živý fotbalový trenér, sledoval činnost hráče a na základě osnovy učiva dokázal říct, co už hráč umí, co mu začíná jít a co ještě vůbec neumí. Při implementaci programu se ukázalo, že to funguje, ale že není úplně snadné (bez učitelské praxe) udělat osnovu učiva – problém nastával, když jsem se dostal do pokročilejší fáze hry, kde už jsem měl problém definovat vítěznou strategii – jak jistě uznáte, když nevím, co mám učit, těžko vytvořím správnou osnovu :).

Zkusme začít s počítáním do pěti. Jak se malá děcka učí počítat do pěti? Vezmeme si kostky a začneme stavět komín – a počítáme nahlas: Jedna, dvě, tři, čtyři, pět… BUM! Nejdůležitější je pochopitelně poslední fáze, BUM. Jdeme do obchodu, dítě nabírá rohlíky a opět počítáme nahlas: Jedna, dvě, tři, … pozor ať to nespadne na zem. Tady je ovšem taky nejdůležitější fáze BUM. Uklízíme hračky do krabice a počítáme nahlas: Jedna, dvě, tři, čtyři, … kolikpak jsi hodil ty?. Zní to trošku jako tetris pro pokročilejší. Nejsem si jistý, jak by těmto hrám rozuměl mladý Svahilec – kostky nemá, obchody nezná a hračky do krabice taky neuklízí. Ale dobře, mějme nejméně tři různé minihry, které by měly umět:

  • Počítat a přehrávat aktuální počet „předmětů v brance“.
  • Poznat, jestli uživatel říká čísla. A říct mu, jestli to řekl správně nebo špatně.
  • Alternativně i předvést uživateli, jak se píše číslo.
  • Poznat na dotykovém displeji, že uživatel napsal číslo.

Pokud by měl vedle těchto miniher existovat samostatný modul Trenér, je třeba popřemýšlet, jakým způsobem by komunikoval s ostatními. Minihra nemusí znát osnovu učiva, ale musí vědět, že má nějakou událost oznámit trenérovi. Respektive v reálném světě trenér hru sleduje a samotný fotbalový zápas ani hřiště ani rozhodčí nějaký trenér nezajímá. Trenér potřebuje znát osnovu učiva a udržovat si statistiku hráčových úspěchů a neúspěchů.

dovednost;statistika úspěšnosti posledních 5 pokusů vyjádřená seznamem nul a jedniček
Poslechnuta číslovka 4;1,1,1,1,1
Použita číslovka 4; 0,0,1,0,1
Vyslovena číslovka 4; 0,1,1,1,0
Napsaná číslovka 4; 0,0,0,0,0

Ok, z téhle statistiky můžeme vytvořit seznam dovedností, ale je třeba zvolit správnou strategii pro pro vyhodnocení statistiky. Co dál? A už vím, čekáme přece, že trenér nám poradí, co máme teď dělat, abychom se zlepšili. No jo, ale jak to udělá, když vlastně neumíme číst ani psát a už vůbec ne počítat, hráč je vlastně černoušek, který umí jenom svahilsky, dobře běhat a lézt po stromech s opicemi? Můžeme zkusit nabídnout hráči tu správnou hru (Co budeš chtít hrát teď, milý Svahilče? Kupování rohlíků, uklízení hraček?).

Nechybí nám v popsaném modelu ještě něco? Co se stane, když trenér vidí, že to trojité salto se cvičenci nepovedlo ani napotřetí? Dá cvičenci jiný, snadnější úkol – nechá ho dělat postupně jednotlivé kroky sestavy nebo přímo jenom ten jeden krok, který trénovaný dělá špatně. Naopak, když to jde cvičenci dobře, trenér kapičku přitvrdí a dá mu těžší úkol, ať ukáže, co v něm je. Znovu seznam potřebných vědomostí trenéra:

  • Které hry trénují, které dovednosti.
  • Které dovednosti se má hráč učit nejdříve a které později – tj. nějakou hierarchii dovedností nebo osnovu učiva.
  • Co už hráč umí a jak dobře.
  • Co hráč hrál naposledy a jestli mu to šlo nebo nešlo.

Když se napíšeme, jak by mohl vypadat výstup, co se hrálo naposledy a jak úspěšně:

Poslechnuta číslovka 4;1
Použita číslovka 4; 0
Vyslovena číslovka 4; 1
Poslechnuta číslovka 4;1
Použita číslovka 4; 0
Vyslovena číslovka 4; 0

Je zřejmé, že obecný algoritmus, pro rozeznání stavu příliš těžké nebo příliš lehké, nebude triviální a bude třeba dál popřemýšlet, jak přesně by mělo probíhat vyhodnocení výše uvedeného vstupu na rozhodnutí spustit jinou (jakou) hru. A ve hře je také lidská schopnost udržet pozornost. Jak dlouho vydrží dospělý jedinec hrát jednu hru? Jak dlouho vydrží dítě? Je rozdíl mezi osmi- a čtyřletým? Je tento čas rozdílný u různých her? Jak se pozná, že dítě už hra nebaví, ale hrálo by jinou? Jak se pozná, že ho to baví, ale mamka ho volá k obědu?

Náčrt architektury trenéra

Autentizace

V původním projektu bylo třeba řešit autentizaci – hru přece může začít hrát někdo jiný, a pak jsou statistiky dovedností původního hráče zavádějící. Jaké máme možnosti?

  • Jméno a heslo – předpokládaný uživatel je malé dítě a neumí číst ani psát. V případě pokročilejších bych si uměl představit tabulku vítězů jako na hracích automatech, ovšem to je částečné řešení. Zřejmě také není nutné provést zabezpečení údajů heslem, přestože někdo by mohl říct, že jedno dítě by se bude posmívat druhému, že má lepší známky. :-)
  • Otisk prstu – to by mohla být relativně spolehlivá identifikace, napadlo mě provádět identifikaci při každém dotyku prstu displeje. Jiná varianta by mohla být zobrazení animace při prvním použití, že nejdříve je třeba přejet prstem po senzoru na snímání otisků prstů. Pak se ale těžko pozná, že se děcka u tabletu střídají.
  • Fotografie obličeje – provést jednou za minutu snímek, a víme vše, nebo ne? Co když je dítě zrovna mimo obraz, má tablet vzhůru nohama nebo jsou tam děti dvě? Co když jsou tam čtyři děti? Fungoval by trenér správně, kdyby, tři děti, společně pracující na řešení úkolu, byly považované za jedinou entitu s vlastní sadou dovedností?
  • Hlas – když učíme dítě číst, tak musíme použít mikrofon a rozeznat, jestli říká to, co má říkat. Dala by se provést autentizace podle hlasu? Opět, co by se stalo, kdyby děti odpovídaly na střídačku?
  • Kombinace hlasu a obrazu – možná že by šlo použít kombinaci fotografie a hlasu, ale stále se vracím k problému, jestli s tabletem pracuje jednotlivec nebo skupina. Možná by šlo při každé položené otázce nebo registrované odpovědi zvažovat, kdo odpověděl.
  • Kombinace otisku prstu a trenéra – nevýhodu, že nevíme, kdy uživatele odhlásit, bychom mohli řešit za pomoci trenéra. Pokud se najednou uživatel dramaticky zhorší, vyvolá obrazovku pro ověření identity uživatele otiskem prstu. K „chybě“ může dojít například za předpokladu, že u tabletu sedí dva, hloupý mačká a chytrý odejde.
  • Zvlášť hra – pro rychlý přehled schopností uživatele tabletu by se spustila hra, která testuje rychle za sebou dovednosti uživatele od nejlehčího k nejtěžšímu.

Některé výše uvedené možnosti mohou být velmi náročné na implementaci a testování. Když připojíme fakt, že většinou není úplně jisté, že se nám podaří autentizovat správného uživatele, musíme si položit otázku, jestli ta sranda stojí za tu hromadu zdrojových kódů naprogramovaných a ještě větší hromadu vyhozených. Je skutečně znalost identity uživatele tak důležitá, nebo si trenér dokáže poradit i bez ní? Nebude to tak, že i přestože každý bude mít jeden svůj tablet, tak jej zároveň bude používat vícero dětí? Není přirozené, že se učíme i sdílením zkušeností s jinými? Líbí se mi závěr výzkumu (anglický originál, česká zkrácená verze s titulkem „Negramotné děti v Etiopii hackly tablet“):

Děti se toho mohou samy naučit opravdu hodně. Více, než bychom očekávali. Zvědavost je přirozená a mají ji všechny děti, pokud ji z nich nevyženou, například ve škole. Klíčem je výroba věcí, objevování věcí a sdílení. Je fajn mít přístup do obrovské knihovny vysvětlujících materiálů jako jsou moderní encyklopedie nebo učebnice. Přístup k nim však může být méně důležitý než stavění světa, během kterého se ztvárňují, objevují a znovuobjevují nápady ve jménu výuky zkoušením a zkoumáním.

Obrázek ukazuje, že přestože mají oba kluci vlastní tablet, sedí vedle sebe a ukazují si něco, vysvětlují si to a učí se vzájemně.

Nepsaným předpokladem je, že uživatel umí mluvit jazykem, ve kterém ho chceme naučit číst a psát. Pokud bychom měli software mluvící anglicky a rozeznávající mluvenou angličtinu a dali bychom ho dětem hovořícím svahilsky, fungovalo by to? Ne? Tak jinak. Řekněme, že budeme mít odborníka na svahilštinu, který namluví všechny texty a naučí počítač rozumět svahilštině (jak jinak bychom ověřili, že umí číst?). No jo, ale když se přemístíme o pár set kilometrů vedle, tak už zase nebude programu nikdo rozumět. Víceméně jsou tedy dvě možnosti:

  1. Naučit dítě zvolenému jazyku. Angličtina? Ruština? Čínština? Esperanto?
  2. Lokalizovat program do jazyka dítěte. Vzhledem k potřebě analýzy řečeného je to dost náročný úkol, nicméně například Google Glass podobné věci dělají. Možná jsou k dispozici potřebné knihovny pro angličtinu, a to by pro účely XPRIZE mohlo stačit.

Závěr

V článku jsme si řekli o výzvě XPRIZE naprogramovat software pro učení čtení, psaní, počítání. Také jsme si řekli o několik desítek let starém výzkumu popisujícím pokus naprogramovat obdobu živého trenéra, který sleduje svého svěřence a na základě toho, co vidí, dokáže trénovanému poradit, co má dělat, aby se zlepšil. Představili jsme neúplný návrh architektury takového software a pomocí úvahy o autentizaci jsme se dostali k otázce, zda je vůbec autentizace třeba a jaké budou její přínosy. Na otázku jsme si neodpověděli, respektive odpověděli odkazem na výzkum na MIT, jak se děti učí – řekli jsme si, jak je spolupráce a sdílení zkušeností důležité. Nelze předpokládat, že u tabletu bude pouze jeden – naopak je rychlejší a snadnější s někým na řešení problému spolupracovat. Kromě toho jsme si řekli, že než začneme děcka učit číst a psát, musí nejdříve umět mluvit.

UX DAy - tip 2

Pokud chcete založit tým a zúčastnit se soutěže, ukončení registrace je v březnu 2015. Formální vytvoření soutěžního týmu je podmíněno poplatkem 500 dolarů. Náklady na vývoj aplikace si soutěžící hradí sám a jako v každé soutěži – není jisté, že to budete právě vy, kdo vyhraje a získá odměnu. A vítězství nebude snadné – mně se líbí představa množství interaktivních miniher a úkolů poskládaných do celku řízeného trenérem, který vybírá další hru. Navíc myslím, že je třeba děcka učit anglicky. Úkol považuji za poměrně rozsáhlý a zajímavý, vyžadující spolupráci několika různých odborníků. Jeho případné výsledky můžeme vidět i v našich zemích, nejen v těch afrických, a pak je tu ta sladká finanční odměna.

Tak co, pane Čech, jdeme do rizika?

Byl pro vás článek přínosný?

Autor článku