Mobilní aplikace využívající počítačového vidění

Mobilní aplikace pro výuku základů programování pomocí papírových kartiček. Práce se vymyká běžné středoškolské výuce především v oblastech "počítačového vidění" a lexikální a syntaktické analýzy vlastního grafického programovacího jazyka.

autor: Filip Botai
vedoucí práce: Bc. Vlaďka Janů (Unicorn, a.s.)
oponent 1: Mgr. Daniel Lessner, Ph.D. (Matematicko fyzikální fakulta Univerzity Karlovy, předseda Jednoty školských informatiků) - posudek oponenta
oponent 2: Ing. Miroslav Balík, Ph.D. (proděkan Fakulty informačních technologií ČVUT, Praha) - posudek oponenta
text práce ve formátu PDF

O autorovi: Filip Botai

Filipa bavilo programování už od prvního ročníku. V prváku zkoušel svůj první projekt v rámci studentské firmy eDELTA webový portál pro realitní makléře, se kterým se svými spolužáky postoupil do ústředního kola Expo Science AMAVET. Ve druhém a třetím ročníku programoval pro londýnský startup SpecialistsGrid. Od poloviny třetího ročníku již pravidelně pracoval pro několik softwareových firem.

S projektem Deskové programování - Narai zvítězil v okresním kole Středoškolské odborné činnosti v oboru Informatika. Krajského kola se bohužel ze zdravotních důvodů nemohl zúčastnit, čímž se diskvalifikoval i z celostátního kola, kam by postoupil s naprostou jistotou. Do celostátního kola postoupil jeho spolužák Luboš Zápotočný (2. z okresního kola), který tam se svým projektem zvítězil. Prací na projektu strávil Filip více než rok.

Filip Botai pokračuje ve studiu informatiky na Fakultě informačních technologií na ČVUT v Praze. Oponentem jeho práce byl proděkan pro studijní záležitosti této fakulty Ing. Miroslav Balík, Ph.D.

Deskové programování Narai

Projekt vznikl na podporu Akademií programování pro základní školy. Hledali jsme nástroj, se kterým bychom mohli učit základy programování i mimo počítačové učebny, třeba i venku na lavičce. Nakonec jej vyvinul Filip jako svoji maturitní práci.

Inteligentní "vidění"

Jednou z poměrně náročných částí projektu bylo "inteligentní vidění" kartiček s příkazy programu. Bylo třeba naprogramovat jednak detekci kartiček (kde je kartička umístěna), její rozpoznání (na jaký příkaz se vlastně mobil "dívá") a řazení kartiček do logických posloupností. Filip vyvinul (a optimalizoval) vlastní algoritmus pro realtime detekci více QR-kódu z videa.

Vlastní grafický programovací jazyk

Málokdo z programátorů se zamýšlí nad způsobem, jak se vlastně převádí jejich program z programovacího jazyka do strojových příkazů. Filip se musel ponořit i do této oblasti programování. „Navrhoval jsem vlastní grafický jazyk, který umožňuje vytvářet v podstatě všechny základní programátorské konstrukce,“ říká Filip. Aby celý projekt fungoval, musel vytvořit i klasický interpret svého jazyka - musel tedy proniknout i do lexikální a syntaktické analýzy jazyka (a to už je hodně "vyšší dívčí").

Mobilní aplikace - programátorské řemeslo

„Mobilní aplikace jako taková, to už bylo v podstatě jenom 'řemeslo',“ říká Filip. „Vytvořil jsem grafický návrh zobrazování úkolů, zakomponoval práci s kamerou a v podstatě bylo hotovo,“  dodává Filip. Na projektu by rád pokračoval i při svém studiu na FIT ČVUT v Praze.