(11 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
<small>
 
<small>
 
===Štátnicový predmet 2-AIN-990 Obhajoba diplomovej práce===
 
===Štátnicový predmet 2-AIN-990 Obhajoba diplomovej práce===
 +
Doneste si svoj '''vlastný notebook''' na ktorom budete prezentovať a ukazovať demo alebo animácie. Čas na prezentáciu je limitovaný na 13 minút potom Vám zaznie budík a ak ste neskončili prejdete na posledný slide prezentácie a poďakujete za pozornosť.
 +
 +
Odporúčania k prezentácii:
 +
Po názve práce a uvedení mien školiteľa/diplomanta sa zamerajte na to aby ste zhrnuli všetky Vaše výsledky, teda to čo ste dosiali. Ak máte animácie v skrátenej forme ich ukážte hneď na slide č.3. Toto je najdôležitejšia časť obhajoby ak si to dáte na koniec môžete ju nestihnúť odprezentovať.
 +
 +
Ďalej môže nasledovať spôsob AKO ste k výsledkom došli a nakoniec ukážete Váš výskum v skratke.
 +
 +
K otázkam oponenta/školiteľa z posudkov si pripravte slide na každú otázku, použijete ich po obhajobe po precitaní posudkov. Obhajobu si skúste doma povedať skoro naspamäť, robia to aj profesionáli.
 +
 +
 
# Hodnotenie A  
 
# Hodnotenie A  
 
# Hodnotenie B  
 
# Hodnotenie B  
Line 24: Line 34:
  
 
===Štátnicový predmet 2-AIN-950 Metódy aplikovanej informatiky===
 
===Štátnicový predmet 2-AIN-950 Metódy aplikovanej informatiky===
 +
Doneste si svoj '''vlastný notebook''' na ktorom budete bežať MS Teams aby sa mohla Vaša odpoveď vysielať online účastníkom.
 +
 
Študent si ťahá jednu otázku náhodne.
 
Študent si ťahá jednu otázku náhodne.
  
Line 67: Line 79:
 
5. Lokálne osvetľovacie modely. (tieňovanie, Phongov a Blinn-Phongov osvetlovací model, zložky (ambientna, difúzna, zrkadlová), textúrovanie a druhy textúr, mapovanie a filtrácia textúr, popísať princípy environment, bump, normal mapovania, textúrovací a tangenciálny priestor, príklad shader programov na GPU.
 
5. Lokálne osvetľovacie modely. (tieňovanie, Phongov a Blinn-Phongov osvetlovací model, zložky (ambientna, difúzna, zrkadlová), textúrovanie a druhy textúr, mapovanie a filtrácia textúr, popísať princípy environment, bump, normal mapovania, textúrovací a tangenciálny priestor, príklad shader programov na GPU.
  
'''2-MPG-125/15 Počítačové videnie''' - E. Šikudová
+
'''2-AIN-112/15 Pokročilé spracovanie obrazu''' - Z. Černeková
  
6. Pokročilé techniky predspracovania obrazu (zero-crossing a Marr-Hildrethovej operator, adaptívne okolie bodu, segmentácia na princípe povodí).
+
6. Snímanie obrazu s jednou kamerou (geometria jednoduchej perspektívnej kamery, projektívna rovnica, kalibrácia kamery, vonkajšie a vnútorné parametre, rekonštrukcia vzoru z jeho obrazu)
  
7. Matematická morfológia (dilatácia, erózia, otvorenie, zatvorenie, top-hat, hit and miss, podmienená dilatácia), morfológické operácie šedotónového obrazu, použitie pri spracovaní obrazu.
+
7. Techniky predspracovania obrazu (filtrovanie obrazu v priestorovej doméne: lineárne a nelineárne filtre, priemerovanie, gaussovská filtrácia, mediánová filtrácia, bilaterálna filtrácia; detekcia hrán na základe prvej a druhej derivácie: gradientné operátory, zero-crossing a Marr-Hildrethovej operátor, fixné a adaptívne okolie bodu; filtrovanie vo frekvenčnej doméne: Fourierova transformácia - definícia 1D, 2D, spojitý a diskrétny prípad, vlastnosti FT, použitie pri spracovaní obrazu, FFT).
  
8. Počítačové videnie s jednou kamerou (geometria jednoduchej perspektívnej kamery, projektívna rovnica, kalibrácia kamery, vonkajšie a vnútorné parametre, rekonštrukcia vzoru z jeho obrazu), Stereo-videnie (kanonické stereo a určovanie hĺbky scény, geometria dvoch kamier, epipolárne ohraničenie, fundamentálna matica a jej určovanie, riešenie problému stereo korešpondencie).
+
8. Segmentácia a matematická morfológia (segmentácia šedotónového a farebného obrazu: prahovanie – globálne, lokálne a optimálne; k-means, mean shift, split and merge, segmentácia narastaním oblastí, segmentácia na princípe povodí; morfologické operácie binárneho a šedotónového obrazu: dilatácia, erózia, otvorenie, zatvorenie, top-hat, hit and miss, podmienená dilatácia, použitie pri spracovaní obrazu).
  
'''2-AIN-112/15 Pokročilé spracovanie obrazu''' - Z. Černeková
+
'''2-AIN-204/10, 2-MPG-125/15 Rozpoznávanie obrazcov a Počítačové videnie''' - M. Ftáčnik a Zuzana Berger Haladová - Jedna skupina
  
9. Fourierova transformácia (definícia 1D, 2D, spojitý a diskrétny prípad, vlastnosti FT, použitie pri spracovaní obrazu, FFT).
+
9. Príznaky (Výber a selekcia príznakov, globálne príznaky tvaru, farby, lokálne príznaky – SIFT, detektor a deskriptor, hľadanie škvŕn/Laplacian of Gaussians, príznaky textúry- štatistické momenty, Gaborove filtre)
  
10. Hľadanie príznakov v obrazoch (príznaky tvaru, farby (modely farieb), textúry, MPEG-7 príznaky).
+
10. Techniky počítačového videnia (Porovnávanie so vzorom/Template Matching), párovanie lokálnych príznakov, metóda vizuálnych slov/Bag of Visual Words, detekcia a rozpoznávanie tvárí, algoritmus Viola-Jones, analýza významných oblastí obrazu/Saliency)
  
11. Mapovanie farebného rozsahu, vysoké dynamické rozlíšenie (tvorba HDR z viacerých LDR obrazov, zobrazovanie HDR na LDR zariadení).
+
11. Rozpoznávanie lineárne separabilných a neseparabilných tried (Lineárne diskriminačné metódy, SVM, kernelový trik, Bayesovo pravidlo, rozhodovacie stromy, k-means ako metóda neriadeného učenia, učenie pri jednotlivých metódach, trénovacia a testovacia množina)
  
'''2-AIN-204/10 Rozpoznávanie obrazcov''' - E. Šikudová
+
12. Neurónové siete (Konvolučné neurónové siete, spätná propagácia/Backpropagation, stochastická gradientná optimalizácia/Stochastic Gradient Descent, cenová funkcia, analýza natrénovaných filtrov/vrstiev siete, hyperparametre)
  
12. Rozpoznávanie lineárne separabilných a neseparabilných tried (separabilné a neseparabilné triedy, určenie oddeľujúcej nadplochy, Bayesovo pravidlo, ..., učenie pri jednotlivých metódach).
 
  
 
===2AIN-BS2 - Blok S2: Umelá inteligencia===
 
===2AIN-BS2 - Blok S2: Umelá inteligencia===
Line 100: Line 111:
 
4. Teória rozhodovania - jednoduché rozhodovanie (funkcia utility jedno a multi-atribútová, striktná, stochastická dominancia, stav, lotéria,),  zložité rozhodovanie (Markov decision problém, Belmanova rovnica). Rozhodovacie stromy.
 
4. Teória rozhodovania - jednoduché rozhodovanie (funkcia utility jedno a multi-atribútová, striktná, stochastická dominancia, stav, lotéria,),  zložité rozhodovanie (Markov decision problém, Belmanova rovnica). Rozhodovacie stromy.
  
'''2-AIN-132/15 Neurónové siete''' - I. Farkaš
+
'''2-AIN-132/15, 2-INF-150/15 Neurónové siete a Strojové učenie''' - I. Farkaš, P. Petrovič, T. Vinař  - Jedna skupina
  
 
5. Strojové učenie s učiteľom. Viacvrstvové perceptróny (MLP): učenie pomocou spätného šírenia chyby, zovšeobecnenie, validácia modelu, využitie v úlohách. Rekurentné neurónové siete (RNN): spôsoby zahrnutia časového kontextu, architektúry a typy úloh vhodných pre RNN, a spôsoby trénovania, príklad využitia.
 
5. Strojové učenie s učiteľom. Viacvrstvové perceptróny (MLP): učenie pomocou spätného šírenia chyby, zovšeobecnenie, validácia modelu, využitie v úlohách. Rekurentné neurónové siete (RNN): spôsoby zahrnutia časového kontextu, architektúry a typy úloh vhodných pre RNN, a spôsoby trénovania, príklad využitia.
  
 
6. Strojové učenie bez učiteľa. Zhlukovanie.  Model samoorganizujúcej sa mapy (SOM), princíp algoritmu učenia: vektorová kvantizácia, topografické zobrazenie príznakov, redukcia dimenzie dát, príklad využitia.  
 
6. Strojové učenie bez učiteľa. Zhlukovanie.  Model samoorganizujúcej sa mapy (SOM), princíp algoritmu učenia: vektorová kvantizácia, topografické zobrazenie príznakov, redukcia dimenzie dát, príklad využitia.  
 
'''2-INF-150/15 Strojové učenie''' - P. Petrovič, T. Vinař
 
  
 
7. Matematická teória strojového učenia. Výchylka a rozptyl. Preučenie a podučenie. PAC učenie a ohraničenia pre konečné a nekonečné množiny hypotéz. VC dimenzia.
 
7. Matematická teória strojového učenia. Výchylka a rozptyl. Preučenie a podučenie. PAC učenie a ohraničenia pre konečné a nekonečné množiny hypotéz. VC dimenzia.
Line 125: Line 134:
  
 
12. Fourierova transformácia (FT), spôsob výpočtu diskrétnej FT (DFT), rýchla DFT (FFT), vlastnosti DFT. Power spectral density (PSD), periodogram, korelogram, parametrické metódy (moving average - MA, auto regressive - AR, multiple signal classification - MUSIC)
 
12. Fourierova transformácia (FT), spôsob výpočtu diskrétnej FT (DFT), rýchla DFT (FFT), vlastnosti DFT. Power spectral density (PSD), periodogram, korelogram, parametrické metódy (moving average - MA, auto regressive - AR, multiple signal classification - MUSIC)
 
  
 
===2AIN-BS3 - Blok S3: Programovanie a tvorba informačných systémov===  
 
===2AIN-BS3 - Blok S3: Programovanie a tvorba informačných systémov===  
 
Študent si ťahá dve otázky bloku zamerania náhodne z rôznych predmetov.
 
Študent si ťahá dve otázky bloku zamerania náhodne z rôznych predmetov.
  
'''2-AIN-118/14 Programovanie v operačných systémoch''' – J. Šiška (vyhodit v AR2016)
+
'''2-AIN-118/14, 2-AIN-111/15 Programovanie v operačných systémoch a Webové technológie a metodológie''' – J. Šiška, M. Homola - Jedna skupina
  
 
1. Procesy a vlákna: spúštanie, synchronizácia a komunikácia. Popíšte proces zavedenia nového procesu/spustenia vlákna, rozdiel medzi dynamickým a statickým linkovaním. Popíšte mechanizmy na synchronizáciu a komunikáciu (prenos dát) medzi procesmi/vláknami dostupné v súčasných operačných systémoch, porovnajte ich výhody a nevýhody, prípadne vhodnosť na riešenie konkrétnych problémov/situácií.
 
1. Procesy a vlákna: spúštanie, synchronizácia a komunikácia. Popíšte proces zavedenia nového procesu/spustenia vlákna, rozdiel medzi dynamickým a statickým linkovaním. Popíšte mechanizmy na synchronizáciu a komunikáciu (prenos dát) medzi procesmi/vláknami dostupné v súčasných operačných systémoch, porovnajte ich výhody a nevýhody, prípadne vhodnosť na riešenie konkrétnych problémov/situácií.
  
 
2. Služby operačného systému: práca so súborovým systémom, sieťou a HW, správa pamäte. Popíšte základné služby operačných systémov a prístup k nim (systémové volania, správa pamäte), rozdiel medzi privilegovaným a neprivilegovaným kódom (userspace, kernelspace), ovládače.
 
2. Služby operačného systému: práca so súborovým systémom, sieťou a HW, správa pamäte. Popíšte základné služby operačných systémov a prístup k nim (systémové volania, správa pamäte), rozdiel medzi privilegovaným a neprivilegovaným kódom (userspace, kernelspace), ovládače.
 
'''2-AIN-111/15 Webové technológie a metodológie''' - M. Homola
 
  
 
3. Vysvetlite pojem použiteľnosť (usability). Uveďte 5-bodovú definíciu použiteľnosti podľa Jacoba Nielsena. Vysvetlite metodiku user-centered design, a rolu prototypov, tzv. persón a testovania v tejto metodike.
 
3. Vysvetlite pojem použiteľnosť (usability). Uveďte 5-bodovú definíciu použiteľnosti podľa Jacoba Nielsena. Vysvetlite metodiku user-centered design, a rolu prototypov, tzv. persón a testovania v tejto metodike.
  
'''2-AIN-139/14 Kompilátory a interpretre''' - Ľ. Salanci
+
'''2-AIN-2139/14 Kompilátory a interpretre''' - Ľ. Salanci
 +
 
 +
4. Princípy fungovania kompilátora a interpretra:
 +
- objasnite princípy fungovania lexikálnej analýzy, syntaktickej analýzy, generovania kódu
 +
- na ukážke vysvetlite rozdiel medzi interpretáciou a kompiláciou
 +
- porovnajte jazyky Java, Python, C++ z pohľadu kompilátorov a interpretrov
 +
 
 +
5. Spracovanie programových konštrukcií:
 +
- objasnite algoritmy pre spracovania programových konštrukcií kompilátorom a interpretrom
 +
- na ukážte ilustrujte reprezentáciu krátkeho programu pomocou syntaktického stromu
 +
- porovnajte náročnosť spracovania programových konštrukcií v jazykoch Java, Python, C++
 +
 
 +
6. Spracovanie výrazov s operátormi rôznej priority:
 +
- vysvetlite algoritmus pre vyhodnotenie výrazov podľa priority operátorov
 +
- na ukážte ilustrujte generovanie syntaktického stromu pre jednoduchý výraz
 +
- porovnajte problémy spracovania výrazov v jazykoch Java, Python, C++
 +
 
 +
7. Virtuálne mašiny:
 +
- vysvetlite princíp fungovania virtuálnej mašiny
 +
- na ukážke ilustrujte generovanie kódu pre vašu virtuálnu mašinu
 +
- porovnajte jazyky Java, Python, C++ z pohľadu rýchlosti bežiaceho kódu
  
4. Popíšte princíp fungovania kompilátora a jeho jednotlivých častí. Na konkrétnej ukážke:
+
8. Premenné, parametre, volanie podprogramov:
  - Predveďte, ako sa program z textovej podoby reprezentuje pomocou syntaktického stromu.
+
- objasnite algoritmy a údajové štruktúry pre kompilovanie podprogramov s premennými
  - Vysvetlite, ako prebehne lexikálna, syntaktická analýza, generovanie syntaktického stromu.
+
- na ukážke ilustrujte alokáciu pamäte pre lokálne, globálne premenné a parametre
+
- porovnajte možnosti jazykov Java, Python, C++ z pohľadu menných priestorov
5. Popíšte princíp fungovania virtuálneho počítača. Na konkrétnej ukážke:
+
  - Predveďte, ako zo syntaktického stromu  (napr. b=1; a=b+2) vznikne kód pre počítač.
+
  - Vysvetlite, ako prebehne optimalizácia, generovanie kódu, správa pamäti.
+
 
    
 
    
 
'''2-AIN-116/14 Funkcionálne programovanie''' - P. Borovanský
 
'''2-AIN-116/14 Funkcionálne programovanie''' - P. Borovanský
  
6. Lambda kalkul - popíšte syntax, sémantiku (interpretáciu), typovanie a vlastnosti tejto teórie. Typovaný lambda kalkul - vlastnosti teórie, vysvetlite algoritmy pre type-checking a type-inference.
+
9. Lambda kalkul - popíšte syntax, sémantiku (interpretáciu), typovanie a vlastnosti tejto teórie. Typovaný lambda kalkul - vlastnosti teórie, vysvetlite algoritmy pre type-checking a type-inference.
  
7. Churchove čísla - vysvetlite význam, konštrukciu a základné aritmetické operácie s nimi. Monadické programovanie - uveďte princípy a príklad použitia list, maybe a state monád.
+
10. Churchove čísla - vysvetlite význam, konštrukciu a základné aritmetické operácie s nimi. Monadické programovanie - uveďte princípy a príklad použitia list, maybe a state monád.
  
 
'''2-AIN-133/15 Extrémne programovanie''' - F. Gyarfaš
 
'''2-AIN-133/15 Extrémne programovanie''' - F. Gyarfaš
  
8. Agilný verzus vodopádový vývoj softvérových projektov. Agilný vývojový cyklus. Princípy unit testingu, testami riadeného programovania, refaktorizácie. Dôvody refaktorizácie a jej riziká.
+
11. Agilný verzus vodopádový vývoj softvérových projektov. Agilný vývojový cyklus. Princípy unit testingu, testami riadeného programovania, refaktorizácie. Dôvody refaktorizácie a jej riziká.
  
9. Zdedený kód: definícia, podmienky pre prácu s ním, obaľovanie testami, využívanie techník ako seam, sprout, wrap, príklad na niektorú z techník.
+
12. Zdedený kód: definícia, podmienky pre prácu s ním, obaľovanie testami, využívanie techník ako seam, sprout, wrap, príklad na niektorú z techník.
  
 
'''2-AIN-131/14 Pokročilé programovanie v JAVE (JavaEE)''' - P. Petrovič
 
'''2-AIN-131/14 Pokročilé programovanie v JAVE (JavaEE)''' - P. Petrovič
  
10. Vysvetlite aký je rozdiel medzi webovým a aplikačným serverom, čo je servlet a ako funguje, čo sú session-scoped beans a application-scoped beans a uveďte a vysvetlite príklad aplikácie, kde by ste ich účelne využili. Na príklade vysvetlite nejakú technológiu, ktorá umožňuje prepojenie týchto objektov s výstupom renderovaným na webovej stránke.
+
13. Vysvetlite aký je rozdiel medzi webovým a aplikačným serverom, čo je servlet a ako funguje, čo sú session-scoped beans a application-scoped beans a uveďte a vysvetlite príklad aplikácie, kde by ste ich účelne využili. Na príklade vysvetlite nejakú technológiu, ktorá umožňuje prepojenie týchto objektov s výstupom renderovaným na webovej stránke.
  
11. Vysvetlite rozdiel medzi prístupom k dátam pomocou JDBC a pomocou ORM. Ako sa ORM realizuje v Java EE? Uveďte príklady anotácií, ktoré sa pri ORM v Java EE používajú - ktoré z nich umožňujú automatické aktualizovanie viacerých tabuliek v relácii? Pokúste sa vysvetliť rozdiel medzi SQL a JPQL.
+
14. Vysvetlite rozdiel medzi prístupom k dátam pomocou JDBC a pomocou ORM. Ako sa ORM realizuje v Java EE? Uveďte príklady anotácií, ktoré sa pri ORM v Java EE používajú - ktoré z nich umožňujú automatické aktualizovanie viacerých tabuliek v relácii? Pokúste sa vysvetliť rozdiel medzi SQL a JPQL.
  
 
'''2-INF-145/15 Tvorba internetových aplikácií''' - R. Ostertág
 
'''2-INF-145/15 Tvorba internetových aplikácií''' - R. Ostertág
  
12. Popíšte návrhový vzor MVC. Popíšte nejaký MVC framework podľa vášho výberu a vysvetlite ako je v danom frameworku vzor MVC implementovaný.
+
15. Popíšte návrhový vzor MVC. Popíšte nejaký MVC framework podľa vášho výberu a vysvetlite ako je v danom frameworku vzor MVC implementovaný.
  
13. Popíšte výhody oddelenia obsahu od prezentácie. Aké možnosti oddelenia ponúka štandardne CSS, a aké ponúka napr. nejaký template engine (Smarty, alebo iný)? Popíšte tiež oddelenie obsahu od funkcionality, ktoré umožňuje knižnica JQuery.
+
16. Popíšte výhody oddelenia obsahu od prezentácie. Aké možnosti oddelenia ponúka štandardne CSS, a aké ponúka napr. nejaký template engine (Smarty, alebo iný)? Popíšte tiež oddelenie obsahu od funkcionality, ktoré umožňuje knižnica JQuery.
  
14. Porovnajte objektovo orientované jazyky založené na triedach (napr. Java) a prototypoch (napr. Javascript).
+
17. Porovnajte objektovo orientované jazyky založené na triedach (napr. Java) a prototypoch (napr. Javascript).
  
 
===2AIN-BS4 - Blok S4: Tvorba softvéru pre vzdelávanie===   
 
===2AIN-BS4 - Blok S4: Tvorba softvéru pre vzdelávanie===   
 
Študent si ťahá dve otázky bloku zamerania náhodne z rôznych predmetov.
 
Študent si ťahá dve otázky bloku zamerania náhodne z rôznych predmetov.
Štátnicové okruhy a štátnica sa bude realizovať od roku 2017.
 
  
'''2-AIN-225/15 Tvorba multimédiálnych aplikácií a počítačových hier''' - Ľ. Salanci
+
'''2-AIN-117/15 Interaktívne programovanie''' -  I. Kalaš
 +
 
 +
1. Rekurzívne dáta a výpočty
 +
- charakterizujte rekurzívne dátové štruktúry a rekurzívne funkcie na prácu s číslami a rekurzívnymi dátovými štruktúrami, ilustrujte na logovských zoznamoch a výpočtoch s nimi
 +
- vysvetlite, aké uplatnenie má rekurzívne programovanie pri tvorbe interaktívnych aplikácií (v kontexte vzdelávania)
 +
 
 +
2. Paralelné procesy
 +
- vysvetlite pojem paralelné procesy a spôsoby práce s paralelnými procesmi logovského typu  (prípadne iného)
 +
- vysvetlite, ako používame paralelné procesy pri tvorbe interaktívnych aplikácií (v kontexte vzdelávania)
 +
 
 +
3. Násobné objekty (colonies of sprites, turtles... ) v interaktívnych aplikáciách (najmä v kontexte vzdelávania)
 +
- vysvetlite, prečo a ako pracujeme s násobnými objektmi v interaktívnych aplikáciách
 +
- popíšte spôsoby riadenia a komunikácie medzi objektmi, ilustrujte na príkladoch
 +
 
 +
4. Tvar korytnačky
 +
- charakterizujte rôzne spôsoby priradenia tvaru korytnačke, vysvetlite princíp animovaných grafických tvarov
 +
- vysvetlite princíp popisu tvaru pomocou programu, jeho výhody a využitie
 +
 
 +
5. Tvorba interaktívnych aplikácií
 +
- charakterizujte a na príkladoch ilustrujte, čo je interaktívna aplikácia (najmä v kontexte vzdelávania)
 +
- vysvetlite a ilustrujte, aké programovacie postupy a prvky používame pri tvorbe takýchto aplikácií, aby sme podporili interakciu aplikácie s jej používateľom
 +
 
 +
'''2-AIN-115/15 a 2-AIN-136/15   Softvér pre vzdelávanie a  Tvorba edukačného softvéru''' -  M. Tomcsányiová
 +
 
 +
6. Edukacný softvér a vzdelávanie
 +
- charakterizujte, ako môže používanie edukacného softvéru a digitálnych technológií zmenit vyucovanie a ucenie sa
 +
- vysvetlite rôzne obavy spojené s používaním digitálnych technológií a edukacného softvéru vo vyucovaní, navrhnite opatrenia na ich prevenciu, resp.minimalizáciu
 +
 
 +
7. Princípy tvorby edukacného softvéru
 +
- charakterizujte a ilustrujte vhodné grafické používatelské rozhrania (GUI) pre žiakov rôznych vekových kategórií
 +
- porovnajte GUI edukacných aplikácií pre desktopové a mobilné zariadenia
 +
 
 +
8. Výskum a výskumník pri vývoji edukacného softvéru
 +
- charakterizujte edukacný výskum a jeho stratégie výskum vývojom a akcný výskum
 +
- vysvetlite dôvody a formy spolupráce programátora s ucitelom a žiakmi pri vývoji edukacného softvéru
 +
 
 +
9. Klasifikácia a hodnotenie edukacného softvéru
 +
- charakterizujte rôzne spôsoby klasifikácie edukacného softvéru (podla vyucovacieho predmetu, podla vzdelávacej paradigmy, podla funkcie) a ilustrujte niektoré kategórie na príkladoch
 +
- vysvetlite rôzne spôsoby hodnotenia edukacného softvéru (z edukacného pohladu, z pohladu používatela, z hladiska technických požiadaviek)
 +
 
 +
10. Digitálne technológie pre osoby so špeciálnymi vzdelávacími potrebami
 +
- prezentujte klasifikáciu osôb so špeciálnymi vzdelávacími potrebami
 +
- charakterizujte potenciál digitálnych technológií a rôznych druhov asistenčných technológií pre osoby so špeciálnymi vzdelávacími potrebami
 +
 
 +
'''2-AIN-2139/14 Kompilátory a interpretre''' -  Ľ. Salanci
 +
 
 +
11. Princípy fungovania kompilátora a interpretra:
 +
- objasnite princípy fungovania lexikálnej analýzy, syntaktickej analýzy, generovania kódu
 +
- na ukážke vysvetlite rozdiel medzi interpretáciou a kompiláciou
 +
- porovnajte jazyky Java, Python, C++ z pohľadu kompilátorov a interpretrov
 +
 
 +
12. Spracovanie programových konštrukcií:
 +
- objasnite algoritmy pre spracovania programových konštrukcií kompilátorom a interpretrom
 +
- na ukážte ilustrujte reprezentáciu krátkeho programu pomocou syntaktického stromu
 +
- porovnajte náročnosť spracovania programových konštrukcií v jazykoch Java, Python, C++
 +
 
 +
13. Spracovanie výrazov s operátormi rôznej priority:
 +
- vysvetlite algoritmus pre vyhodnotenie výrazov podľa priority operátorov
 +
- na ukážte ilustrujte generovanie syntaktického stromu pre jednoduchý výraz
 +
- porovnajte problémy spracovania výrazov v jazykoch Java, Python, C++
 +
 
 +
14. Virtuálne mašiny:
 +
- vysvetlite princíp fungovania virtuálnej mašiny
 +
- na ukážke ilustrujte generovanie kódu pre vašu virtuálnu mašinu
 +
- porovnajte jazyky Java, Python, C++ z pohľadu rýchlosti bežiaceho kódu
 +
 
 +
15. Premenné, parametre, volanie podprogramov:
 +
- objasnite algoritmy a údajové štruktúry pre kompilovanie podprogramov s premennými
 +
- na ukážke ilustrujte alokáciu pamäte pre lokálne, globálne premenné a parametre
 +
- porovnajte možnosti jazykov Java, Python, C++ z pohľadu menných priestorov
 +
 
 +
'''2-AIN-225/15 Tvorba multimédiálnych aplikácií a počítačových hier''' - Ľ. Salanci
  
1. Reprezentácia a zobrazovanie herného sveta:
+
16. Reprezentácia a zobrazovanie herného sveta:
- Na príklade uviesť využitie objektov, polí, stromov, grafov.
+
- objasnite, kde a akým spôsobom sa používajú objekty, polia, stromy a grafy v hrách
- Na ukážke vysvetliť, ako prebieha zobrazenie objektov herného sveta.
+
- na ukážke ilustrujte algoritmy, ktoré sa používajú pri zobrazovaní objektov herného sveta
 +
- porovnajte niekoľko profesionálnych hier z hľadiska použitých reprezentácií
  
2. Algoritmy pre pohyb:
+
17. Pohyb objektov:
- Na príklade uviesť, ako funguje predefinovaný a matematicky generovaný popísaný pohyb.
+
- vysvetlite princípy testovania kolízií a využitia zjednodušených fyzikálnych modelov v hrách
- Vysvetliť princípy testovania kolízií a využitie fyziky v hrách.
+
- na ukážke ilustrujte algoritmy pre pohyb, testovanie a riešenie kolízií objektov
 +
- uveďte možnosti ale aj nevýhody fyzikálnych simulácií v hrách
  
3. Hľadanie ciest v hernom svete:
+
18. Cesty a dostupnosť cieľov:
- Stratégie hľadania cesty (dijkstrov algoritmus, využitie heuristiuky).
+
- vysvetlite princíp fungovania algoritmov pre hľadanie cesty: dijkstrov, A*
- Na konkrétom príklade demonštrovať niektorý algoritmus.
+
- na ukážke ilustrujte niektorý z uvedených algoritmov
 +
- uveďte, v akých situáciách v hrách sa tieto algoritmy oplatí používať
  
4. Robenie rozhodnutí:
+
19. Správanie herných objektov:
- Podľa pravidiel, inteligencia v hrách, využitie automatov, skriptov.
+
- vysvetlite implementáciu správania objektov: pomocou automatov, grafmi
- Na konkrétnej ukážke porovnať výhody a nevýhody jednotlivých prístupov.
+
- na konkrétnej ukážke porovnajte výhody a nevýhody jednotlivých prístupov
 +
- porovnajte niekoľko profesionálnych hier z hľadiska algoritmov správania sa objektov
  
5. Architektúra hier, herný systém (engine):
+
20. Stratégia protihráčov:
- Vysvetliť viacvrstvový pohľad na herný systém.
+
- vysvetlite princíp fungovania algoritmu MinMax + heuristického odhadu
- Na ukážke ilustrovať jednotlivé vrstvy (napríklad, cez aké vrstvy sa spracuje pohyb animovanej postavičky s nejakým daný správaním – od stlačenia klávesu po nakreslenie na obrazovke).
+
- ilustrujte na konkrétnej hre kroky výpočtu nasledujúceho ťahu
 +
- porovnajte rôzne typy hier z hľadiska výpočtovej náročnosti
  
'''2-AIN-115/15 Softvér pre vzdelávanie''' - M. Tomcsányiová
+
'''2-AIN-224/15 Webové programovanie''' - R. Hrušecký
  
6. Edukačný softvér a vzdelávanie
+
21. Manipulácia s objektmi webovej stránky
- Zmena spôsobu vyučovania a učenia sa s použitím edukačného softvéru a digitálnych technológií.
+
- popíšte rôzne spôsoby zmeny objektu, resp. vlastností objektu (pomocou čistého JavaScriptu, resp. iných knižníc, napr. JQuery)
- Obavy spojené s používaním digitálnych technológií a edukačného softvéru vo vyučovaní.
+
- popíšte rozdiely v zmenách vlastností pomocou CSS a JavaScriptu na konkrétnych príkladoch, ich výhody/nevýhody, kedy je ktorý vhodnejšie použiť
  
7. Princípy dizajnu edukačného softvéru.
+
22. Tvorba dynamických aplikácií na strane klienta
- Návrh vhodného grafického používateľského rozhrania (GUI) pre žiakov rôznych vekových kategórií.
+
- popíšte výhody a nevýhody vykresľovania pomocou HTML objektov, resp. objektu Canvas
- GUI edukačných aplikácií pre desktopové a mobilné zariadenia.
+
- uveďte príklady, kedy je vhodnejšie využiť HTML objekty, a kedy Canvas
  
8. Význam výskumu pri vývoji edukačného softvéru.
+
23. Spôsoby komunikácie medzi klientom a serverom
- Design-Based Research (výskum vývojom), akčný výskum.
+
- popíšte rozdiely, výhody a nevýhody klasickej komunikácie klient-server a komunikácie na základe objektu XHR (XMLHttpRequest)
- Spolupráca programátora s učiteľom a žiakmi pri vývoji edukačného softvéru.
+
- uveďte konkrétne príklady využitia takejto komunikácie
  
9. Klasifikácia a hodnotenie edukačného softvéru.
+
24. Ukladanie údajov na strane klienta
- Rôzne spôsoby klasifikácie edukačného softvéru (podľa vyučovacieho predmetu, podľa vzdelávacej paradigmy, podľa funkcie).
+
- charakterizujte rôzne prístupy, rozdiely, výhody a nevýhody ukladania údajov na strane klienta
- Kritériá hodnotenia edukačného softvéru (z edukačného pohľadu, z pohľadu používateľa, z hľadiska technických požiadaviek).
+
- popíšte – v tomto kontexte – rozdiely medzi prehliadačmi, resp. medzi desktopovými a mobilnými zariadeniami
 +
- vysvetlite rozdiely rôznych prístupov z pohľadu bezpečnosti
  
10. Digitálne technológie pre osoby so špeciálnymi vzdelávacími potrebami.
+
25. Realtime komunikácia medzi prehliadačom a serverom
- Klasifikácia osôb so zdravotným postihnutím.
+
- vysvetlite vzťah WebSocket, socket.io, a node.js
- Význam digitálnych technológií a rôzne druhy asistenčných technológií pre osoby so zdravotným postihnutím.
+
- ilustrujte tieto vzťahy na konkrétnych príkladoch
 
</small>
 
</small>

Latest revision as of 12:41, 20 May 2021

9.2.9. Sylaby štátnych záverečných skúšok
magisterského študijného programu
Aplikovaná informatika
a
Aplikovaná informatika (konverzný program)

Garant: Prof. RNDr. Roman Ďurikovič, PhD.
             durikovic @ fmph.uniba.sk


Štátnicový predmet 2-AIN-990 Obhajoba diplomovej práce

Doneste si svoj vlastný notebook na ktorom budete prezentovať a ukazovať demo alebo animácie. Čas na prezentáciu je limitovaný na 13 minút potom Vám zaznie budík a ak ste neskončili prejdete na posledný slide prezentácie a poďakujete za pozornosť.

Odporúčania k prezentácii: Po názve práce a uvedení mien školiteľa/diplomanta sa zamerajte na to aby ste zhrnuli všetky Vaše výsledky, teda to čo ste dosiali. Ak máte animácie v skrátenej forme ich ukážte hneď na slide č.3. Toto je najdôležitejšia časť obhajoby ak si to dáte na koniec môžete ju nestihnúť odprezentovať.

Ďalej môže nasledovať spôsob AKO ste k výsledkom došli a nakoniec ukážete Váš výskum v skratke.

K otázkam oponenta/školiteľa z posudkov si pripravte slide na každú otázku, použijete ich po obhajobe po precitaní posudkov. Obhajobu si skúste doma povedať skoro naspamäť, robia to aj profesionáli.


  1. Hodnotenie A
  2. Hodnotenie B
  3. Hodnotenie C
  4. Hodnotenie D
  5. Hodnotenie E môže získať samostatná práca spĺňajúca viac ako 2/3 zadaných cieľov v prihláške s pôvodnými správnymi výsledkami.
  6. Hodnotenie Fx ostatné práce nezaraditeľné do lepšieho hodnotenia; plagiatorstvo (s návrhom na vylúčenie zo štúdia); zjavne odfláknutá niektorá casť práce, implementácie alebo prezentácie; práca nespĺňajúca viac ako 2/3 zadaných cieľov v prihláške.

Práca nebude akceptovaná na obhajobu ak nebude spĺňať nasledujúce základné požiadavky: a, zmluva nebude obsahovať všetky potrebné podpisy. b, nebude dodržaná štruktúra práce a obsah jednotlivých častí c, práca bude kompilátom sekundárnych zdrojov bez vlastného výskumu a analýz. d, v práci nebudú uvedené referencie na použité zdroje, čiže vyskytne sa v nej plagiátorstvo alebo zneužitie Internetu e, autor/ka nedodrží uvedené požiadavky na formu f, jazyková úroveň práce nebude zodpovedať úrovni absolventa magisterského štúdia.

Štátnicový predmet 2-AIN-950 Metódy aplikovanej informatiky

Doneste si svoj vlastný notebook na ktorom budete bežať MS Teams aby sa mohla Vaša odpoveď vysielať online účastníkom.

Študent si ťahá jednu otázku náhodne.

2-AIN-109/15 Programovanie paralelných a distribuovaných systémov Gruska D.

1. Základné rozdelenie architektúr paralelných počítačov (Asynchrónna „shared memory“ architektúra, distribuovaná architektúra, synchrónna architektúra, stručný popis, porovnanie medzi nimi)

2. Progress a safety podmienky (formulácia safety a progress podmienky neformálne a formálne, ukážky pre rôzne úlohy paralelného a distribuovaného programovania)

3. Úloha triedenia pre paralelné architektúry (príklady riešení, zložitosť a procesorová náročnosť pre rôzne typy architektúr, dôkaz správnosti - safety a progress podmienka pre jedno riešenie)

4. Problém večerajúcich filozofov (formulácia problému, safety a progress podmienka, načrtnutie riešenia pre distribuovanú architektúru)

5. Komunikácia cez chybný kanál (formulácia problému, safety a progress podmienka, načrtnutie riešenia, optimalizácia - Alternating Bit Protocol)

2-AIN-206/15 Matematické modelovanie a počítačová animácia fyzikálnych procesov Ďurikovič R.

6. Časticové systémy, rovnice pohybu prvého rádu, integračné metódy na výpočet rýchlosti a pozície, stavový vektor systému, vonkajšie sily, obmedzujúce podmienky – constraints, sily odozvy, kolízie častica - rovina.

7. Animácie pohybu a orientácie, interpolačný spline na animáciu pohybu, reparametrizácia splinu podľa dĺžky krivky, quaternion a orientácia, interpolácie dvoch a viacerých quaternionov.

8. Detekcie kolízie, nutná a postačujúca podmienka kedy nie sú dve telesá v kolízii, deliaca rovina, broad phase (hierachycká mriežka), mid phase (hierarchie obálok, Voronoiove oblasti v kolízii, vysvetlujte na príklade kolízie gula x kapsula, dekompozícia telesa na konvexné časti), narrow phase (Minkowskeho priestor a blízkosť konvexných telies).

9. Numerické riešenie diferenciálnych rovníc, Eulerova metóda, MidPoint metóda, Runge-Kuta metóda, podmienka stability na voľbu časového kroku, sily odozvy (response forces).

10. Dynamika tuhých telies, definícia problému, rovnice pohybu (4 ODE), rýchlosť, zrýchlenie, uhľová rýchlosť a uhľové zrýchlenie, matica hybnosti (matica inercie).

2AIN-BS1 - Blok S1: Počítačová grafika a videnie

Študent si ťahá dve otázky bloku zamerania náhodne z rôznych predmetov.

2-AIN-128/15 Grafika v reálnom čase a výpočty na GPU - A. Mihálik

1. Zobrazovací kanál. Grafická pipeline moderného hardvéru, framebuffer, buffer objekty, používané súradnicové priestory, druhy shader programov, druhy optimalizačných techník (view frustum, occlusion, backface culling), príklad shader programov.

2. Tiene, typy tieňov (mäkké, tvrdé, statické, dynamické), typy a popis algoritmov (projekčné, tieňové objemy, tieňové mapy (shadow mapping)), spôsoby implementácie jednotlivých algoritmov, artefakty a ich odstraňovanie, príklad shader programov pre tieňové mapy. Artefakty spôsobené diskretizáciou. Tiene vo Phongovom modeli.

2-AIN-127/15 Pokročilá počítačová grafika - R. Ďurikovič

3. Kanál metódy sledovania lúča a porovnanie s Radiosity metódou. (definícia lúča, definícia tieňového lúča, popis metódy sledovania lúča, generovanie lúča, pochod po lúči (ray traversal), prienik lúča s trojuholníkom, stromová štruktúra lúčov (ray tree) a jej použitie na výpočet lokálnej farby, problém presnosti priesečníkov). Metóda sledovania lúča na GPU, urýchľovacie techniky.

4. Fyzikálny osvetlovací model a výpočet farieb renderovacou rovnicou. (definícia radiancie, definícia BRDF a jej vlastnosti, fyzikálne BRDF Cook-Tarrance, definícia priestorového uhlu, napíšte renderovaciu rovnicu a vysvetlite jej členy)

5. Lokálne osvetľovacie modely. (tieňovanie, Phongov a Blinn-Phongov osvetlovací model, zložky (ambientna, difúzna, zrkadlová), textúrovanie a druhy textúr, mapovanie a filtrácia textúr, popísať princípy environment, bump, normal mapovania, textúrovací a tangenciálny priestor, príklad shader programov na GPU.

2-AIN-112/15 Pokročilé spracovanie obrazu - Z. Černeková

6. Snímanie obrazu s jednou kamerou (geometria jednoduchej perspektívnej kamery, projektívna rovnica, kalibrácia kamery, vonkajšie a vnútorné parametre, rekonštrukcia vzoru z jeho obrazu)

7. Techniky predspracovania obrazu (filtrovanie obrazu v priestorovej doméne: lineárne a nelineárne filtre, priemerovanie, gaussovská filtrácia, mediánová filtrácia, bilaterálna filtrácia; detekcia hrán na základe prvej a druhej derivácie: gradientné operátory, zero-crossing a Marr-Hildrethovej operátor, fixné a adaptívne okolie bodu; filtrovanie vo frekvenčnej doméne: Fourierova transformácia - definícia 1D, 2D, spojitý a diskrétny prípad, vlastnosti FT, použitie pri spracovaní obrazu, FFT).

8. Segmentácia a matematická morfológia (segmentácia šedotónového a farebného obrazu: prahovanie – globálne, lokálne a optimálne; k-means, mean shift, split and merge, segmentácia narastaním oblastí, segmentácia na princípe povodí; morfologické operácie binárneho a šedotónového obrazu: dilatácia, erózia, otvorenie, zatvorenie, top-hat, hit and miss, podmienená dilatácia, použitie pri spracovaní obrazu).

2-AIN-204/10, 2-MPG-125/15 Rozpoznávanie obrazcov a Počítačové videnie - M. Ftáčnik a Zuzana Berger Haladová - Jedna skupina

9. Príznaky (Výber a selekcia príznakov, globálne príznaky tvaru, farby, lokálne príznaky – SIFT, detektor a deskriptor, hľadanie škvŕn/Laplacian of Gaussians, príznaky textúry- štatistické momenty, Gaborove filtre)

10. Techniky počítačového videnia (Porovnávanie so vzorom/Template Matching), párovanie lokálnych príznakov, metóda vizuálnych slov/Bag of Visual Words, detekcia a rozpoznávanie tvárí, algoritmus Viola-Jones, analýza významných oblastí obrazu/Saliency)

11. Rozpoznávanie lineárne separabilných a neseparabilných tried (Lineárne diskriminačné metódy, SVM, kernelový trik, Bayesovo pravidlo, rozhodovacie stromy, k-means ako metóda neriadeného učenia, učenie pri jednotlivých metódach, trénovacia a testovacia množina)

12. Neurónové siete (Konvolučné neurónové siete, spätná propagácia/Backpropagation, stochastická gradientná optimalizácia/Stochastic Gradient Descent, cenová funkcia, analýza natrénovaných filtrov/vrstiev siete, hyperparametre)


2AIN-BS2 - Blok S2: Umelá inteligencia

Študent si ťahá dve otázky bloku zamerania náhodne z rôznych predmetov.

2-AIN-137/15 Umelá inteligencia - M. Markošová

1. Pojem agent, jednoduchý agent, agent a jednoduché plánovanie pohybu v stavovom priestore (informované a neinformované prehľadávanie), hry (minimax).

2. Logické agenty, reprezentácia znalostí logickým formalizmom, metódy inferencie pre prvorádovú logiku: forward a backward chaining, rezolvenčný algoritmus (konjuktívny normálny tvar, substitúcia, unifikácia, rezolvenčné pravidlo, a rezolvencia) .

3. Bayesovské siete a bayesovské vyvodzovanie, klasické časové rady, časové rady s neurčitosťou a bayesovské siete, využitie bayesovských sietí v UI. Metódy analýzy trendu a periodicity v časových radoch (MA, double MA...)

4. Teória rozhodovania - jednoduché rozhodovanie (funkcia utility jedno a multi-atribútová, striktná, stochastická dominancia, stav, lotéria,), zložité rozhodovanie (Markov decision problém, Belmanova rovnica). Rozhodovacie stromy.

2-AIN-132/15, 2-INF-150/15 Neurónové siete a Strojové učenie - I. Farkaš, P. Petrovič, T. Vinař - Jedna skupina

5. Strojové učenie s učiteľom. Viacvrstvové perceptróny (MLP): učenie pomocou spätného šírenia chyby, zovšeobecnenie, validácia modelu, využitie v úlohách. Rekurentné neurónové siete (RNN): spôsoby zahrnutia časového kontextu, architektúry a typy úloh vhodných pre RNN, a spôsoby trénovania, príklad využitia.

6. Strojové učenie bez učiteľa. Zhlukovanie. Model samoorganizujúcej sa mapy (SOM), princíp algoritmu učenia: vektorová kvantizácia, topografické zobrazenie príznakov, redukcia dimenzie dát, príklad využitia.

7. Matematická teória strojového učenia. Výchylka a rozptyl. Preučenie a podučenie. PAC učenie a ohraničenia pre konečné a nekonečné množiny hypotéz. VC dimenzia.

2-AIN-246/15 Multiagentové systémy – A. Lúčny

8. Popíšte spôsob implementácie multiagentového systému ako middleware. Použite priamu komunikáciu a popíšte procesy v multiagentovom systéme, kde jeden agent pravidelne posiela druhému teplotu vody v bazéne a druhý ju zobrazuje na informačnú tabuľu.

9. Vysvetlite princíp subsumpcie na multiagentovom systéme s nepriamou komunikáciou, kde jeden agent posiela príkaz na dopredný pohyb do motora ľavého kolesa, druhý posiela príkaz na dopredný pohyb do motora pravého kolesa a kde pridáte tretieho agenta, ktorý dostáva detekciu nárazu a pomocou supresie zariadi otočenie robota.

2-AIN-144/15 Reprezentácia znalostí a inferencia - M. Homola

10. Ontológie a deskripčné logiky: Čo je to ontológia? Definujte základnú syntax a rozhodovacie problémy pre deskripčnú logiku ALC. Tablový algoritmus pre deskripčnú logiku ALC.

11. Nemonotónne usudzovanie a ASP. Vysvetlite a zadefinujte nemonotónne usudzovanie. Definujte normálny logický program (NLP), interpretáciu, a stabilný model. Nájdite všetky stabilné modely programu P = {b :- not a. a :- not b. c :- a,b.}

2-AIN-272/15 Spracovanie digitálneho signálu - M. Nagy

12. Fourierova transformácia (FT), spôsob výpočtu diskrétnej FT (DFT), rýchla DFT (FFT), vlastnosti DFT. Power spectral density (PSD), periodogram, korelogram, parametrické metódy (moving average - MA, auto regressive - AR, multiple signal classification - MUSIC)

2AIN-BS3 - Blok S3: Programovanie a tvorba informačných systémov

Študent si ťahá dve otázky bloku zamerania náhodne z rôznych predmetov.

2-AIN-118/14, 2-AIN-111/15 Programovanie v operačných systémoch a Webové technológie a metodológie – J. Šiška, M. Homola - Jedna skupina

1. Procesy a vlákna: spúštanie, synchronizácia a komunikácia. Popíšte proces zavedenia nového procesu/spustenia vlákna, rozdiel medzi dynamickým a statickým linkovaním. Popíšte mechanizmy na synchronizáciu a komunikáciu (prenos dát) medzi procesmi/vláknami dostupné v súčasných operačných systémoch, porovnajte ich výhody a nevýhody, prípadne vhodnosť na riešenie konkrétnych problémov/situácií.

2. Služby operačného systému: práca so súborovým systémom, sieťou a HW, správa pamäte. Popíšte základné služby operačných systémov a prístup k nim (systémové volania, správa pamäte), rozdiel medzi privilegovaným a neprivilegovaným kódom (userspace, kernelspace), ovládače.

3. Vysvetlite pojem použiteľnosť (usability). Uveďte 5-bodovú definíciu použiteľnosti podľa Jacoba Nielsena. Vysvetlite metodiku user-centered design, a rolu prototypov, tzv. persón a testovania v tejto metodike.

2-AIN-2139/14 Kompilátory a interpretre - Ľ. Salanci

4. Princípy fungovania kompilátora a interpretra: - objasnite princípy fungovania lexikálnej analýzy, syntaktickej analýzy, generovania kódu - na ukážke vysvetlite rozdiel medzi interpretáciou a kompiláciou - porovnajte jazyky Java, Python, C++ z pohľadu kompilátorov a interpretrov

5. Spracovanie programových konštrukcií: - objasnite algoritmy pre spracovania programových konštrukcií kompilátorom a interpretrom - na ukážte ilustrujte reprezentáciu krátkeho programu pomocou syntaktického stromu - porovnajte náročnosť spracovania programových konštrukcií v jazykoch Java, Python, C++

6. Spracovanie výrazov s operátormi rôznej priority: - vysvetlite algoritmus pre vyhodnotenie výrazov podľa priority operátorov - na ukážte ilustrujte generovanie syntaktického stromu pre jednoduchý výraz - porovnajte problémy spracovania výrazov v jazykoch Java, Python, C++

7. Virtuálne mašiny: - vysvetlite princíp fungovania virtuálnej mašiny - na ukážke ilustrujte generovanie kódu pre vašu virtuálnu mašinu - porovnajte jazyky Java, Python, C++ z pohľadu rýchlosti bežiaceho kódu

8. Premenné, parametre, volanie podprogramov: - objasnite algoritmy a údajové štruktúry pre kompilovanie podprogramov s premennými - na ukážke ilustrujte alokáciu pamäte pre lokálne, globálne premenné a parametre - porovnajte možnosti jazykov Java, Python, C++ z pohľadu menných priestorov

2-AIN-116/14 Funkcionálne programovanie - P. Borovanský

9. Lambda kalkul - popíšte syntax, sémantiku (interpretáciu), typovanie a vlastnosti tejto teórie. Typovaný lambda kalkul - vlastnosti teórie, vysvetlite algoritmy pre type-checking a type-inference.

10. Churchove čísla - vysvetlite význam, konštrukciu a základné aritmetické operácie s nimi. Monadické programovanie - uveďte princípy a príklad použitia list, maybe a state monád.

2-AIN-133/15 Extrémne programovanie - F. Gyarfaš

11. Agilný verzus vodopádový vývoj softvérových projektov. Agilný vývojový cyklus. Princípy unit testingu, testami riadeného programovania, refaktorizácie. Dôvody refaktorizácie a jej riziká.

12. Zdedený kód: definícia, podmienky pre prácu s ním, obaľovanie testami, využívanie techník ako seam, sprout, wrap, príklad na niektorú z techník.

2-AIN-131/14 Pokročilé programovanie v JAVE (JavaEE) - P. Petrovič

13. Vysvetlite aký je rozdiel medzi webovým a aplikačným serverom, čo je servlet a ako funguje, čo sú session-scoped beans a application-scoped beans a uveďte a vysvetlite príklad aplikácie, kde by ste ich účelne využili. Na príklade vysvetlite nejakú technológiu, ktorá umožňuje prepojenie týchto objektov s výstupom renderovaným na webovej stránke.

14. Vysvetlite rozdiel medzi prístupom k dátam pomocou JDBC a pomocou ORM. Ako sa ORM realizuje v Java EE? Uveďte príklady anotácií, ktoré sa pri ORM v Java EE používajú - ktoré z nich umožňujú automatické aktualizovanie viacerých tabuliek v relácii? Pokúste sa vysvetliť rozdiel medzi SQL a JPQL.

2-INF-145/15 Tvorba internetových aplikácií - R. Ostertág

15. Popíšte návrhový vzor MVC. Popíšte nejaký MVC framework podľa vášho výberu a vysvetlite ako je v danom frameworku vzor MVC implementovaný.

16. Popíšte výhody oddelenia obsahu od prezentácie. Aké možnosti oddelenia ponúka štandardne CSS, a aké ponúka napr. nejaký template engine (Smarty, alebo iný)? Popíšte tiež oddelenie obsahu od funkcionality, ktoré umožňuje knižnica JQuery.

17. Porovnajte objektovo orientované jazyky založené na triedach (napr. Java) a prototypoch (napr. Javascript).

2AIN-BS4 - Blok S4: Tvorba softvéru pre vzdelávanie

Študent si ťahá dve otázky bloku zamerania náhodne z rôznych predmetov.

2-AIN-117/15 Interaktívne programovanie - I. Kalaš

1. Rekurzívne dáta a výpočty - charakterizujte rekurzívne dátové štruktúry a rekurzívne funkcie na prácu s číslami a rekurzívnymi dátovými štruktúrami, ilustrujte na logovských zoznamoch a výpočtoch s nimi - vysvetlite, aké uplatnenie má rekurzívne programovanie pri tvorbe interaktívnych aplikácií (v kontexte vzdelávania)

2. Paralelné procesy - vysvetlite pojem paralelné procesy a spôsoby práce s paralelnými procesmi logovského typu (prípadne iného) - vysvetlite, ako používame paralelné procesy pri tvorbe interaktívnych aplikácií (v kontexte vzdelávania)

3. Násobné objekty (colonies of sprites, turtles... ) v interaktívnych aplikáciách (najmä v kontexte vzdelávania) - vysvetlite, prečo a ako pracujeme s násobnými objektmi v interaktívnych aplikáciách - popíšte spôsoby riadenia a komunikácie medzi objektmi, ilustrujte na príkladoch

4. Tvar korytnačky - charakterizujte rôzne spôsoby priradenia tvaru korytnačke, vysvetlite princíp animovaných grafických tvarov - vysvetlite princíp popisu tvaru pomocou programu, jeho výhody a využitie

5. Tvorba interaktívnych aplikácií - charakterizujte a na príkladoch ilustrujte, čo je interaktívna aplikácia (najmä v kontexte vzdelávania) - vysvetlite a ilustrujte, aké programovacie postupy a prvky používame pri tvorbe takýchto aplikácií, aby sme podporili interakciu aplikácie s jej používateľom

2-AIN-115/15 a 2-AIN-136/15 Softvér pre vzdelávanie a Tvorba edukačného softvéru - M. Tomcsányiová

6. Edukacný softvér a vzdelávanie - charakterizujte, ako môže používanie edukacného softvéru a digitálnych technológií zmenit vyucovanie a ucenie sa - vysvetlite rôzne obavy spojené s používaním digitálnych technológií a edukacného softvéru vo vyucovaní, navrhnite opatrenia na ich prevenciu, resp.minimalizáciu

7. Princípy tvorby edukacného softvéru - charakterizujte a ilustrujte vhodné grafické používatelské rozhrania (GUI) pre žiakov rôznych vekových kategórií - porovnajte GUI edukacných aplikácií pre desktopové a mobilné zariadenia

8. Výskum a výskumník pri vývoji edukacného softvéru - charakterizujte edukacný výskum a jeho stratégie výskum vývojom a akcný výskum - vysvetlite dôvody a formy spolupráce programátora s ucitelom a žiakmi pri vývoji edukacného softvéru

9. Klasifikácia a hodnotenie edukacného softvéru - charakterizujte rôzne spôsoby klasifikácie edukacného softvéru (podla vyucovacieho predmetu, podla vzdelávacej paradigmy, podla funkcie) a ilustrujte niektoré kategórie na príkladoch - vysvetlite rôzne spôsoby hodnotenia edukacného softvéru (z edukacného pohladu, z pohladu používatela, z hladiska technických požiadaviek)

10. Digitálne technológie pre osoby so špeciálnymi vzdelávacími potrebami - prezentujte klasifikáciu osôb so špeciálnymi vzdelávacími potrebami - charakterizujte potenciál digitálnych technológií a rôznych druhov asistenčných technológií pre osoby so špeciálnymi vzdelávacími potrebami

2-AIN-2139/14 Kompilátory a interpretre - Ľ. Salanci

11. Princípy fungovania kompilátora a interpretra: - objasnite princípy fungovania lexikálnej analýzy, syntaktickej analýzy, generovania kódu - na ukážke vysvetlite rozdiel medzi interpretáciou a kompiláciou - porovnajte jazyky Java, Python, C++ z pohľadu kompilátorov a interpretrov

12. Spracovanie programových konštrukcií: - objasnite algoritmy pre spracovania programových konštrukcií kompilátorom a interpretrom - na ukážte ilustrujte reprezentáciu krátkeho programu pomocou syntaktického stromu - porovnajte náročnosť spracovania programových konštrukcií v jazykoch Java, Python, C++

13. Spracovanie výrazov s operátormi rôznej priority: - vysvetlite algoritmus pre vyhodnotenie výrazov podľa priority operátorov - na ukážte ilustrujte generovanie syntaktického stromu pre jednoduchý výraz - porovnajte problémy spracovania výrazov v jazykoch Java, Python, C++

14. Virtuálne mašiny: - vysvetlite princíp fungovania virtuálnej mašiny - na ukážke ilustrujte generovanie kódu pre vašu virtuálnu mašinu - porovnajte jazyky Java, Python, C++ z pohľadu rýchlosti bežiaceho kódu

15. Premenné, parametre, volanie podprogramov: - objasnite algoritmy a údajové štruktúry pre kompilovanie podprogramov s premennými - na ukážke ilustrujte alokáciu pamäte pre lokálne, globálne premenné a parametre - porovnajte možnosti jazykov Java, Python, C++ z pohľadu menných priestorov

2-AIN-225/15 Tvorba multimédiálnych aplikácií a počítačových hier - Ľ. Salanci

16. Reprezentácia a zobrazovanie herného sveta: - objasnite, kde a akým spôsobom sa používajú objekty, polia, stromy a grafy v hrách - na ukážke ilustrujte algoritmy, ktoré sa používajú pri zobrazovaní objektov herného sveta - porovnajte niekoľko profesionálnych hier z hľadiska použitých reprezentácií

17. Pohyb objektov: - vysvetlite princípy testovania kolízií a využitia zjednodušených fyzikálnych modelov v hrách - na ukážke ilustrujte algoritmy pre pohyb, testovanie a riešenie kolízií objektov - uveďte možnosti ale aj nevýhody fyzikálnych simulácií v hrách

18. Cesty a dostupnosť cieľov: - vysvetlite princíp fungovania algoritmov pre hľadanie cesty: dijkstrov, A* - na ukážke ilustrujte niektorý z uvedených algoritmov - uveďte, v akých situáciách v hrách sa tieto algoritmy oplatí používať

19. Správanie herných objektov: - vysvetlite implementáciu správania objektov: pomocou automatov, grafmi - na konkrétnej ukážke porovnajte výhody a nevýhody jednotlivých prístupov - porovnajte niekoľko profesionálnych hier z hľadiska algoritmov správania sa objektov

20. Stratégia protihráčov: - vysvetlite princíp fungovania algoritmu MinMax + heuristického odhadu - ilustrujte na konkrétnej hre kroky výpočtu nasledujúceho ťahu - porovnajte rôzne typy hier z hľadiska výpočtovej náročnosti

2-AIN-224/15 Webové programovanie - R. Hrušecký

21. Manipulácia s objektmi webovej stránky - popíšte rôzne spôsoby zmeny objektu, resp. vlastností objektu (pomocou čistého JavaScriptu, resp. iných knižníc, napr. JQuery) - popíšte rozdiely v zmenách vlastností pomocou CSS a JavaScriptu na konkrétnych príkladoch, ich výhody/nevýhody, kedy je ktorý vhodnejšie použiť

22. Tvorba dynamických aplikácií na strane klienta - popíšte výhody a nevýhody vykresľovania pomocou HTML objektov, resp. objektu Canvas - uveďte príklady, kedy je vhodnejšie využiť HTML objekty, a kedy Canvas

23. Spôsoby komunikácie medzi klientom a serverom - popíšte rozdiely, výhody a nevýhody klasickej komunikácie klient-server a komunikácie na základe objektu XHR (XMLHttpRequest) - uveďte konkrétne príklady využitia takejto komunikácie

24. Ukladanie údajov na strane klienta - charakterizujte rôzne prístupy, rozdiely, výhody a nevýhody ukladania údajov na strane klienta - popíšte – v tomto kontexte – rozdiely medzi prehliadačmi, resp. medzi desktopovými a mobilnými zariadeniami - vysvetlite rozdiely rôznych prístupov z pohľadu bezpečnosti

25. Realtime komunikácia medzi prehliadačom a serverom - vysvetlite vzťah WebSocket, socket.io, a node.js - ilustrujte tieto vzťahy na konkrétnych príkladoch