REŠETÁR, R. Rozšíření nástroje pro vizuální programování v Lua/LÖVE o generování bloků z textového kódu [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.
Vzhledem k nerovnoměrnému úsilí považuji aktivitu studenta za lehce podprůměrnou a navrhuji hodnotit práci stupněm uspokojivě (D) .
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Informace k zadání | Cílem práce bylo implementovat převod zdrojového kódu v jazyce Lua do jeho vizuální blokové reprezentace a rozšířit tak editor pro vizuální programování. Z pohledu vedoucího hodnotím zadání jako středně obtížné. Řešení převodu kódu na bloky považuji za splněné, integraci do editoru se pro technické problémy a nedostatek času nepodařilo zcela dokončit a byla nahrazena demonstrační aplikací pro ověření funkčnosti převodu. | ||
Práce s literaturou | Student samostatně vyhledal a nastudoval relevantní literaturu, soustředil se především na technické aspekty řešení. | ||
Aktivita během řešení, konzultace, komunikace | Student na řešení pracoval 4 semestry, avšak nerovnoměrným tempem, a častěji konzultoval až v druhé polovině posledního semestru. Konzultace byly přínosné a rámcové termíny byly dodrženy. | ||
Aktivita při dokončování | Jádro práce, tj. převodu kódu na bloky, bylo dokončeno včas včetně demonstrační aplikace. V závěru řešení se však vyskytly technické problémy s integrací do editoru, které již nebyl čas plně vyřešit. Výsledné řešení bylo konzultováno a většina připomínek byla zapracována. | ||
Publikační činnost, ocenění | Bez publikací či ocenění. Výsledky zveřejněny jako open-source. |
Práce je nedotažená ve více směrech. Text nemá bezproblémový logický tok a integraci by se pravděpodobně podařilo dotáhnout, pokud by se student nezatvrdil na jedinou knihovnu pro generování AST. Z obojího je cítit, že byl výsledek tvořen ve spěchu. Demonstrační aplikace je však funkční, takže hodnotím uspokojivě/D .
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Náročnost zadání | Zadání považuji za standardní. Jedinou náročnější částí může být potřeba integrace s již existujícím starším nástrojem, kde jsou k dispozici zdrojové kódy a v zadání je připuštěna i varianta vytvoření vlastního demonstračního řešení. | ||
Rozsah splnění požadavků zadání | Zadání lze považovat za splněné. Výtku mám k prostoduchému plnění bodu 3, kde jsem očekával sofistikovanější mapování a hledání vzorů v AST vstupního zdrojového kódu. | ||
Rozsah technické zprávy | Rozsah technické zprávy je v pořádku. Rozpačitý jsem z toho, že se v textu vyskytují relativně nezajímavé pasáže jako je jednostránkový popis struktury překladače, který není nijak využit, ale naopak chybí detailnější a formálnější popis struktury AST, se kterou student dále pracuje. | ||
Prezentační úroveň technické zprávy | 60 | Základní struktura textu je celkem OK až na poměrně krátkou kapitolu 6 a jednostránkovou kapitolu 7. Bohužel text neprošel důslednější kontrolou, takže obsahuje řadu pasáží, které jsou motivovány nebo mají své opodstatnění až později v textu nebo vůbec (např. bez kapitoly 6 je změna požadavků v sekci 5.1 nepochopitelná; student si v sekci 4.1 stanovil nějaké požadavky, které ale dále neplní či je dokonce ignoruje). Popisy existujících nástrojů nejsou příliš informativní vzhledem k technické povaze práce a nereflektují příliš její zaměření. | |
Formální úprava technické zprávy | 70 | Text je psán slovensky, ale i tak jsem schopen připomínkovat, že obsahuje řadu chyb v interpunkci, ve větách párkrát chyběl přísudek a občas se objevil anglikanismus. Student se nedostatečně seznámil s použitým sázecím systémem (LaTeX), takže v textu často chybí upřesnění na co číselný odkaz odkazuje (není jasné, zda na sekci či obrázek). U výrazů v jazyce Lua na straně 35 je hned několik chyb v sazbě. V literatuře je např. sázeno jméno Petr jako příjmení (viz [13]). | |
Práce s literaturou | 65 | Zdroje a jejich použití jsou v pořádku, i když by jich mohlo být i více. Např. tvrzení, že "vizuální programování je vhodné pro komplexnější programy" není podloženo žádnou citací. Najdou se potom prohřešky ve výpisu literatury, jako je nekonzistence v autorovi [11] a [16], podivnost autora None či Git Hub apod. | |
Realizační výstup | 70 | Jelikož se studentovi ani přes nemalou snahu nepodařilo provést integraci do existující starší aplikace, tak je realizačním výstupem jednoduchá webová aplikace, která umožňuje demonstrovat převod zdrojového kódu v Lua/LÖVE do grafické reprezentace v Blockly. Implementace je funkční a zdrojové kódy jsou dobře komentované a odlišené od kódu jiných autorů. Výtku mám k samotnému objektovému návrhu, který mi připadá ne příliš promyšlený a nezahrnující moderní návrhové principy jako např. Single Responsibility Principle, což je vidět například u třídy Distributor. | |
Využitelnost výsledků | Výsledná aplikace pouze demonstruje schopnosti v aktuálním stavu. Pro reálnou použitelnost by bylo třeba dopracovat konzistenci mezi generování kódu z bloků a naopak, čemuž se práce věnuje jen okrajově. Otázkou je, zda je využívaná aplikace, kterou měl student rozšířit, což se mi nezdá, jelikož byly problémy s jejím samotným zprovozněním. |
eVSKP id 154279