UčmeKód.eu

Webový portál pro on-line "sbírky úloh" z programování. Umožňuje on-line ověřit správnost odevzdaného zdrojového kódu. Luboš Zápotočný s tímto projektem zvítězil v celostátním kole 41. ročníku Středoškolské odborné činnosti v oboru Informatika.

autor: Luboš Zápotočný
vedoucí práce: RNDr. Jan Koupil, Ph.D.
oponent 1: Ing. Miroslav Balík, Ph.D. (Fakulta Informačních technologií, ČVUT Praha) - posudek oponenta
oponent 2: Mgr. Daniel Lessner, Ph.D. (předseda Jednoty školských informatiků, MFF UK, Praha) - posudek oponenta
text práce ve formátu PDF
www.ucmekod.eu

O autorovi: Luboš Zápotočný

Luboš byl od prvního ročníku výborný a velice cílevědomý student. Od prvního ročníku se pravidelně účastnil Soutěže MŠMT v programování v kategorii web, ve které vždy postoupil do krajského kola a v posledních dvou letech i do kola celostátního. Dosáhl zde postupně těchto umístění: 5., 4., 2., 6. místa. Od prvního ročníku také vytvářel své vlastní programátorské projekty, se kterými vždy postoupil až do celostátního kola soutěže Expo Science AMAVET.

S projektem UčmeKód.eu zvítězil v celostátním kole 41. ročníku Středoškolské odborné činnosti v oboru Informatika a získal zde několik dalších ocenění. Prací na projektu strávil přibližně rok.

Luboš Zápotočný pokračuje ve studiu IT na Fakultě informačních technologií Českého vysokého učení technického v Praze.

UčmeKód.eu

Luboš webový server umožňuje vytvářet "sbírky úloh z programování". Zatímco u matematiky nebo fyziky je řešení úlohy jednoznačné (jedno číslo), řešení úlohy z programování je celý program, který může mít nekonečně mnoho správných variant. Ověření správnosti řešení tak není vůbec snadnou záležitostí.

Lubošovo prostředí umožňuje vytvářet kromě zadání úloh také sadu testů, které ověří chování odevzdaného řešení. Výborně navrženou architekturou systému se mu podařilo elegantně omezit i nemalá bezpečnostní rizika spojená s odevzdáváním řešení úloh - potenciální útočník totiž může vložit škodlivý kód, kterým se pokusí proniknout do serveru.

Současný systém podporuje úlohy v programovacích jazycích .php a C#. Architektura je však připravena na implementaci i dalších programovacích jazyků.