Zadáno

Bakalářská práce č. 1 - 2012/2013

Zadání pro studijní obor: Informatika

Název: Softwarová podpora Duck-testů (A software support of Duck-tests)

Motivace: Na KIV byl vytvořen komplexní systém umožňující automatizované, či poloautomatizované zpracování studentských samostatných prací. Vývoj tohoto systému byl výrazně podpořen z rozvojového projektu MŠMT ROBY (Racionalizace a objektivizace výuky). Principem je, že studenti odevzdávají své samostatné práce pomocí speciálního portletu Portálu. Po odevzdání se portlet spojí s validačním serverem, kterému zašle odevzdanou práci k vyhodnocení. Validační server práci otestuje podle nastavení provedeného vyučujícím a výsledek testu zašle zpátky portletu, který výsledek validace přiřadí k odevzdané práci. Student tak má okamžitý přehled o tom, zda byla jeho samostatná práce akceptována, či nikoliv.

Tento systém se během šesti let používání stále rozšiřoval a upravoval. V současné době existuje již třetí verze validátoru, která je poskytována jako služba dostupná pod Portálem ZČU. Spolu s rozšiřováním možností validátoru se postupně rozšířily i možnosti testů. V současné době je možno (současně) kontrolovat:

Problém dodržení zadání vyvstává zejména v počátcích výuky programování, kdy vyučující připravuje sady (jednoduchých) úloh, na kterých se mají studenti naučit jednotlivé techniky programování. Například se jedná o použití podprogramů s určitou sadou parametrů a návratovou hodnotou přesně daného typu. V tomto případě lze funkčnost programu (testovanou v prvním kroku testů) zajistit nesprávně například tím, že student vůbec nepoužije podprogram, případně to bude podprogram bez parametrů a hodnoty se mu předají pomocí atributů (globálních proměnných), stejně jako návratová hodnota. Pak je důvod, proč byla tato úloha studentovi zadána, prakticky ztracen, protože student se snaží pouze již dříve známými způsoby zajistit funkčnost a neučí se nové jazykové konstrukce či techniky.

Pro tyto testy dodržení zadání lze s výhodou použít technologii, která se nazývá Duck-typing a podle ní jsou tyto testy nazývány Duck-testy. Nad jednou studentskou úlohou může proběhnout až několik desítek testů dodržení zadání, což prakticky znemožní jakoukoliv odchylku ve zpracování, které v zadání předepisuje vyučující.

Je třeba poznamenat, že Duck-testy nelze využít pro sofistikovanější studentské úlohy, protože jsou závislé na tom, jak přesně vyučující naprogramuje vzorovou úlohu. Ovšem pro výuku základů programování jsou mimořádně vhodné.

K dispozici je základní knihovna, která umožňuje Duck-testy základním způsobem využít. Tato knihovna však neumožňuje jakékoliv sofistikovanější použití (dávkové zpracování, filtraci chybových hlášení, spouštění z GUI apod.). Samozřejmě také nejsou připraveny žádné konkrétní testy konkrétních úloh.

Cílem práce je příprava sad konkrétních testů pro osm úloh předmětu KIV/OOP. Dále je třeba seznámit se se všemi již existujícími možnostmi knihovny Duck-testů a tyto možnosti využít pro automatizovanou přípravu (generátor) testů pro úlohy, které se objeví v budoucnosti. Posledním úkolem je navrhnout a realizovat konfigurovatelné GUI prostředí, ve kterém si studenti mohou sami testy spouštět ještě před jejich odevzdáním na Portál do validátoru.

Zadání:

  1. Seznamte se s filosofií automatizovaných testů s důrazem na Duck-testy. Popište využití existující knihovny Duck-testů.
  2. Připravte sadu testů pro osm úloh z předmětu KIV/OOP a připravte i rozšíření knihovny pro vyhodnocování těchto testů. Zkušenosti z přípravy popište a funkčnost testů ověřte na existujících datech z roku 2011.
  3. Navrhněte a realizujte desktopovou aplikaci, která bude v grafickém uživatelském režimu umožňovat spouštění Duck-testů nad studentskými úlohami.
  4. Navrhněte a realizujte desktopovou aplikaci, která bude podle připravených vzorových programů generovat sady Duck-testů.

Cílový operační systém: není podstatný, aplikace bude napsána v Javě

Jazyk a technologie: Java, JUnit testy, Duck-testy

Charakter práce: Programování testů a desktopové aplikace pro jejich spouštění v Javě. Práci je možné zpracovávat na domácím PC.

Vhodné pro: Studentku, která je schopna dotáhnout práci do produkční podoby. Vyžaduje se zvýšená pečlivost.

Bakalářka: Kateřina Štollová


Zadáno

Bakalářská práce č. 2 - 2012/2013

Zadání pro studijní obor: Informatika

Název: Zpracování GPS záznamů ze sportovních aktivit

Motivace: V současné době existují komerčně dostupné GPS trasovače, které umožňují zaznamenávat trasu. Tyto trasovače se používají v mnoha oblastech lidských aktivit, ale primárně jsou určeny pro záznam sportovních aktivit. Způsob činnosti trasovače je, že GPS data pouze zaznamenává (nemá display, tudíž je energeticky málo náročný). Po skončení akce jsou tato data přehrána do počítače, kde jsou off-line zpracovávána / vyhodnocována. Pro zpracování existuje množství programů, často dodávaných přímo výrobcem příslušného trasovače. Bohužel většina těchto SW není vhodná pro zpracování velkých počtů záznamů a nijak neřeší otázku přesnosti naměřených údajů.

Trvalým problémem GPS měření je měření nadmořské výšky, které je obvykle zatíženo poměrně značnou mírou nepřesnosti. Ta může být tolerována v případě GPS navigace v automobilu, ale z hlediska sportovních aktivit se jedná o jeden z klíčových údajů.

V předchozí bakalářské práci byl připraven koncept konvertoru dat a byla dokončena jeho základní aplikace s názvem GPXWizard. Během jejího používání se objevily další požadavky na funkčnost, tj. na podstatné rozšíření aplikace. Rozšíření či vylepšení bude nutné/vhodné v následujících oblastech.

Zadání:

  1. Seznamte se s formáty GPX a aplikací GPXWizard. Proveďte rešerši programů zpracovávajících data z GPS trasovačů se zaměřením na oblasti, které by rozšiřovaly použití aplikace GPXWizard.
  2. Prozkoumejte možnosti získávání výškových souřadnic získaných satelitním měřením. Zaměřte se na rychlost získávání těchto dat a jejich přesnost.
  3. Navrhněte a realizujte modul do stávající aplikace GPXWizard, který bude použitelný jako filtr a bude zpřesňovat výškové souřadnice naměřených dat.
  4. Navrhněte a realizujte modul transformace naměřených a filtrovaných dat do HTML tak, aby bylo možné získané výsledky jednoduchým způsobem prohlížet jak v agregované podobě, tak i v detailech včetně map.

Cílový operační systém: není podstatný, aplikace bude napsána v Javě

Jazyk a technologie: Java, HTML, GPX, XML, XSLT

Charakter práce: Příprava desktopové aplikace zpracovávající značné množství vstupních dat v Javě. Práci je možné zpracovávat na domácím PC.

Vhodné pro: Studenta, který je schopna dotáhnout práci do produkční podoby.

Bakalář: David Hrbáček


Poslední změna: 9. 10. 2012
Pavel Herout