KŘIVÁK, J. Simulátor řadicích algoritmů [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.
Zadání považuji za splněné v plném rozsahu. Výsledné dílo umožňuje nejen simulaci a analýzu předdefinovaných algoritmů, ale i nových dle uživatelského zadání, přičemž nástroj dokáže s vysokou přesností odhadnout časovou a prostorovou složitost algoritmu. Nástroj bude použit ve výuce IAL.
| Kritérium | Známka | Body | Slovní hodnocení |
|---|---|---|---|
| Informace k zadání | Cílem práce bylo navrhnout simulátor řadicích algoritmů, který bude možné využít mimo jiné v předmětu Algoritmy (IAL) na FIT VUT. | ||
| Práce s literaturou | Student využil doporučené literatury a další relevantní zdroje si samostatně dohledal. Pramenů by však mohlo být trochu více. | ||
| Aktivita během řešení, konzultace, komunikace | Student byl během řešení aktivní, na schůzky docházel a práci průběžně konzultoval. | ||
| Aktivita při dokončování | Implementační práce se podařilo dokončit v rozumném předstihu. Testování bylo bohužel dokončováno spíše na poslední chvíli, tak jsem neměl možnost jej ve finální verzi připomínkovat. K hotové části jsem studentovi zaslal připomínky a zdá se, že byly zapracovány. Těší mne, že se podařilo i malé uživatelské testování. | ||
| Publikační činnost, ocenění | Zdrojové kódy svého díla pan Křivák zveřejnil jako Open-source pod licencí MIT na portálu GitHub: https://github.com/ClubstepCZ/sorting_sim . |
Student vytvořil funkční aplikaci, kterou poměrně srozumitelně popsal v technické zprávě a až na drobnou výhradu tak splnil zadání práce. V aplikaci se mi líbí to, jakým způsobem se student snaží odhadnout časovou a prostorovou složitost jednotlivých algoritmů. Proto i přes větší množství připomínek uvedených výše navrhuji hodnocení stupněm C.
| Kritérium | Známka | Body | Slovní hodnocení |
|---|---|---|---|
| Náročnost zadání | |||
| Rozsah splnění požadavků zadání | Drobnou výhradu mám k bodu 4 - pod pojmem krokování si představuji, že průběh řazení je možné zastavovat po jednotlivých krocích, aby měl uživatel čas pochopit, co se vlastně v algoritmu děje. Toto však vytvořená aplikace neumožňuje. | ||
| Rozsah technické zprávy | |||
| Prezentační úroveň technické zprávy | 70 | Zpráva je psána srozumitelným způsobem a obsahuje podstatné informace. Bohužel občas je uspořádání informací trochu nelogické (diagram případů užití až v kapitole 7), některé informace nejsou prezentovány systematicky (vlastnosti algoritmů se objevují jen u některých vybraných řadicích metod), pro diagram tříd není využita standardní notace, popis odhadu časové složitosti je nedostatečný a časová složitost pro vytvoření heapu je uvedena chybně. Dále v práci také nejsou popsány všechny algoritmy, které jsou nakonec v aplikaci použity. | |
| Formální úprava technické zprávy | 80 | Technická zpráva obsahuje obvyklé množství překlepů a gramatických chyb. Po typografické stránce je práce v pořádku. | |
| Práce s literaturou | 60 | Výběr studijních pramenů je sice dobrý, ale je hodně stručný. Student určitě mohl využít více zdrojů. Převzaté prvky jsou řádně odlišeny od vlastních výsledků a úvah. | |
| Realizační výstup | 76 | Realizačním výstupem práce je funkční aplikace, která umožňuje vizualizaci průběhu řazení polí různými metodami. Dále provádí odhad časové a prostorové složitosti jednotlivých algoritmů a vykresluje příslušné grafy. Do aplikace je také možné přidat vlastní řadicí algoritmus, ale pro potřeby odhadů složitostí je potřeba při psaní využít speciální makra definovaná studentem. Aplikace byla také testována několika studenty. | |
| Využitelnost výsledků | O využitelnosti aplikace v praxi silně pochybuji. Vizualizuje sice průběh řazení, ale pochybuji, že by studenti předmětu IAL při této rychlosti vizualizace pochopili, jak algoritmus vlastně funguje. Další překážkou v použitelnosti je nutnost lokální instalace. Webová aplikace by pro daný typ nástroje byla určitě vhodnější. Bohužel ani možnost přidávat vlastní algoritmy nevidím jako příliš použitelnou, protože vyžaduje využití předdefinovaných maker, což komplikuje zápis algoritmu. |
eVSKP id 162892