(35 intermediate revisions by 2 users not shown)
Riadok 2: Riadok 2:
  
  
'''Garant:''' Doc. RNDr. Roman Ďurikovič, PhD.<br>
+
'''Garant:''' Prof. RNDr. Roman Ďurikovič, PhD.<br>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;''durikovic [[Image:zavinac.gif|@]] fmph.uniba.sk''
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;''durikovic [[Image:zavinac.gif|@]] fmph.uniba.sk''
  
  
 
<small>
 
<small>
'''Štátnicový predmet 2-AIN-990 Obhajoba diplomovej práce'''
+
===Štátnicový predmet 2-AIN-990 Obhajoba diplomovej práce===
# Hodnotenie A môže získať iba práca prezentovaná autorom na fakultnom kole ŠVK.
+
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ť.
# Hodnotenie B môže získať vysoko kvalitná práca obsahujúca v sebe softverové dielo s výbornou prezentáciou.
+
 
# Hodnotenie C môže získať vysoko kvalitná práca obsahujúca vlastný prínos práce publikovateľný aspoň ako poster na konferencii s výbornou prezentáciou.
+
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 B  
 +
# Hodnotenie C  
 
# Hodnotenie D  
 
# Hodnotenie D  
# Hodnotenie E môže získať kvalitná samostatná práca s pôvodnými správnymi výsledkami s neuplnými citáciami, neúplným ale funkčným softverovým dielom alebo slabšou prezentáciou.
+
# 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.
# Hodnotenie Fx ostatné práce nezaradisteľ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 1/2 zadaných cieľov v prihláške.
+
# 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
  
'''Štátnicový predmet 2-AIN-950 Metódy aplikovanej informatiky'''
+
'''2-AIN-224/15 Webové programovanie''' -  R. Hrušecký
  
# Reprezentácie objektov v počítačovej grafike, algoritmy pre určovanie viditeľného povrchu, hľadanie prienikov a orezávanie, rasterizácia a antialiasing, zobrazovací kanál, súradnicové sústavy v zobrazovacom kanáli.
+
21. Manipulácia s objektmi webovej stránky
# Agent, PEAS popis agenta, typy jednoduchých agentov, racionálny agent; informovane a neinformované prehľadávanie, heuristiky, hľadanie heuristík; logickí agenti, databáza znalosti, inferenčné algoritmy pre výrokovú databázu znalosti; predikátová databáza znalosti, modus ponens, resolvencia, forward a backward chaining; minimax, alfa beta orezávanie, pre dvoch aj viacerých hráčov.
+
- popíšte rôzne spôsoby zmeny objektu, resp. vlastností objektu (pomocou čistého JavaScriptu, resp. iných knižníc, napr. JQuery)
# Problémy a algoritmy; základné výpočtové modely a miery zložitosti; zložitostné triedy, ich základné charakteristiky a hierarchie; redukcia a úplnosť v zložitostných triedach; NP-úplné problémy; metódy, používané na riešenie (výpočtovo) ťažkých problémov.
+
- 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ť
# Základné rozdelenie architektúr paralelných počítačov; progress a safety podmienky; úloha triedenia pre paralelné architektúry; problém večerajúcich filozofov; komunikácia cez chybný kanál.
+
# Časticové systémy, rovnice pohybu prvého rádu, integračné metódy,  stavový vektor systému, vonkajšie sily, obmedzujúce podmienky; animácie pohybu a orientácie, quaternion a orientácia; detekcie kolízie, nutná a postačujúca podmienka, sily odozvy (response forces); numerické riešenie diferenciálnych rovníc - Eulerova metóda, Runge-Kuta metóda; dynamika tuhých telies, rovnice pohybu.
+
  
'''Štátnicový predmet 2-AIN-951 Počítačová grafika a videnie'''
+
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
  
# Kuželosečky, ich klasifikácia; závislosť klasifikácie od typu roviny; vyšetrovanie tvaru rovinnej krivky; priesečníky priamky s krivkou, dotyčnica, singulárne body, inflexné body; kubické krivky; weierstrassov normálny tvar; eliptické krivky a ich využitie.
+
23. Spôsoby komunikácie medzi klientom a serverom
# Pokročilé techniky predspracovania obrazu; techniky rozpoznávania objektov; porozumenie 3D obrazu; počítačové videnie s jednou kamerou; stereovidenie.
+
- popíšte rozdiely, výhody a nevýhody klasickej komunikácie klient-server a komunikácie na základe objektu XHR (XMLHttpRequest)
# Referenčný model počítačovej grafiky, súradnicové systémy a ich transformacie, rozširenie modelu pre augmented reality; pracovna stanica a jej funkčnosť; kódovanie grafickej informacie, hierarchia obrazu a graf scény; fyzické a logické vstupné zariadenia, ISO model vstupu, vstupné režimy, programovanie interakcie; oknové systémy, ich struktúra a funkčnosť.
+
- uveďte konkrétne príklady využitia takejto komunikácie
# Kanál metódy sledovania lúča; výpočet farieb renderovacou rovnicou; problém viditeľnosti a tieňa; globálny osvetľovací model; metódy zobrazenia scény množinou obrázkov.
+
# Akceleračné a urýchlovacie techniky, early Z test, culling techniky, úroven detailu, API podpora ; tieňovanie a textúrovanie, základné princípy a rozdiely medzi jednotlivými mapovaniami, tangenciálny priestor; metóda sledovania lúča (ray-tracing) na GPU; tiene; základy objemového zobrazovania na GPU.
+
# Bezstratové kódy v kompresii dát – posuvné, predikčné, kódovanie obrysov (kontúr, hraníc); rekonštrukcia obrazov – operácie opisujúce vznik poškodenia, metódy odstraňovania šumov.
+
# Hľadanie príznakov v obrazoch; klasifikátory (NN, SVM, HMM, ...); aplikácie počítačového videnia (výber obrazov z databázy, detekcia a sledovanie tváre, pokožky); mapovanie farebného rozsahu, HDR; kvalita obrazu (metriky, vyuzitie).
+
# Rozpoznávanie obrazcov (lineárne) separabilných a neseparabilných tried; štatistické rozpoznávanie separabilných tried; štatistické rozpoznávanie neseparabilných tried; syntaktické rozpoznávanie; porovnanie štatistických, syntaktických a ďalších metód rozpoznávania.
+
# Objemové metódy na vizualizáciu objemových dát; povrchové metódy na vizualizáciu objemových dát.
+
# Voronoiov diagram, Delaunayova triangulácia, vlastnosti a vzťahy medzi  nimi; definícia a základné vlastnosti VD a DT, ich duálny vzťah, vzťah s konvexným obalom, najbližším párom generátorov, vzťah medzi DT, VD a rotačným paraboloidom z=x*x+y*y, podgrafy DT.
+
# Casteljauov algoritmus vyčísľovania Bézierovej krivky, prerozdelenie, dotyčnica, polárna forma; schéma Casteljauovho algoritmu, zjemnenie krivky na dva segmenty, dotykový vektor krivky, polárna forma polynómu a jej vlastnosti, riadiace vrcholy krivky ako hodnoty polárnej formy, vzťah Casteljauovho algoritmu a polárnej formy, hladké spojenie Bézierovych segmentov.
+
# Grafika a zvuk – aplikačný software; základné grafické a zvukové formáty;  kompresné metódy; metódy vytvárania a zavádzania grafiky a zvuku do PC; animácia, video, TV HDTV; videoformáty a kompresia videa; nelineárny videostrih (NLE); mobilné, komunikačné a multimediálne technológie; multimédiá a internet; hypermédiá a videokonferencie; synchronizácia multimediálnych tokov.
+
  
'''Štátnicový predmet 2-AIN-950 Umelá inteligencia'''
+
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
  
# Priama a spätná inferenciou v expertných systémoch; simulácia inferencie v systéme CLIPS; metóda rozkladu a skladu v CLIPS-e (Fibonacciho, kombinacne cisla, Hanojske veže, triedenia: quick | mergesort); produkčný systém v CLIPS-e na prehľadávanie stavového priestoru s nájdením  všetkých riešení (ofarbenie planárneho grafu, N-dám na šachovnici, problém misionárov a kanibalov); princíp stratifikácie na príklade hľadania optimálnych riešení (robot žeriav (bricks-world problem) alebo robot v gridovom bludisku).
+
25. Realtime komunikácia medzi prehliadačom a serverom
# Inšpirácia vzniku konekcionizmu, základné časti biologických neurónov a ich vlastnosti, vlastnosti konekcionistických modelov; jednoduchý perceptrón: binárny a spojitý perceptrón; viacvrstvové dopredné neurónové siete; lineárne neurónové siete – princíp modelov General Inverse a Correlation Matrix Memory; samoorganizácia: základné princípy, metódy PCA (principal component analysis), učenie so súťažením. model samoorganizujúcej sa mapy (SOM), vektorová kvantizácia, topografické zobrazenie príznakov, redukcia dimenzie, magnifikačný faktor; rekurentné neurónové siete - spôsoby inkorporovania času do NS, architektúry RNS, time-delay-neural-network, back-propagation-through-time a real-time-recurrent-learning; hopfieldov model - deterministická verzia typy atraktorov v stavovom priestore, typy dynamiky; stochastická verzia.
+
- vysvetlite vzťah WebSocket, socket.io, a node.js
# Bayesovske siete a bayesovske vyvodzovanie; klasická teória časových radov, trend, periodicita, náhodnosť; Box - Jenkinsove modely; časové rady s náhodnosťou: filtračná, predikčná a vyhladzovacia úloha; základy teorie dynamických sietí, vlastnosť malého sveta, Barabasi; Albertov model; základy teorie rozhodovania.
+
- ilustrujte tieto vzťahy na konkrétnych príkladoch
# Reprezentácia znalostí prostriedkami logického programovania. Definitné, normálne, rozšírené logické programy. Herbrandovská interpretácia, herbrandovský model, T_P-operátor, najmenší model. Negácia ako konečné zlyhanie (defaultová negácia), sémantické problémy defaultovej negácie. Stabilná sémantika. Answer set programming. Preferenčné, skeptické a dôverčivé usudzovanie s využitím stabilnej sémantiky. Stratifikované logické progamy.
+
# Defaultové teórie. Extenzie. Normálne defaultové teórie. Seminormálne defaultové teórie. Obmedzované extenzie.
+
# Hierarchické siete. Logický jazyk, v ktorom možno vyjadriť striktnú hierarchickú sieť. Logický jazyk, v ktorom možno vyjadriť hierarchickú sieť s viacnásobným dedením, konfliktami a výnimkami. Skeptické a dôverčivé usudzovanie. Preferovanie špecifickejšej informácie, zdržanlivý skepticizmus.
+
# Indukcia. Sémantická definícia. Základný algoritmus zovšeobecňovania v grafe špecializácií/zovšeobecnení. Induktívne logické programovanie. Pravidlá indukovania. Theta-subsumpcia.
+
# Abdukcia. Poňatia abdukcie - základná logická definícia, abdukcia ako pokrytie, abdukcia nad nemonotónnyi formalizmami (deafultovou teóriou, stabionou sémantikou logického programu).
+
# Revízie. AGM-postuláty racionálnosti revízie. Truth maintenance system - základné štruktúry, TM-procedúra, DDB-procedúra. Vyjadrenie TMS pomocou logického programu so stabilnou sémantikou, pomocou defaultovej teórie.
+
# Databáza s hypotézami (a neúplnou informáciou). Nie-korektné usudzovanie. Zachovávanie konzistentnosti. Nemonotóone usudzovanie. Všeobecná charakterizácia nemonotónneho usudzovania. Nemonotónne usudzovanie a revízie.
+
# Usudzovanie za prítomnosti nekonzistentosti. Štvorhodnotová Belnapova logika, jej sémantika. Nie-triviálny operátor odvodenia. Preferenčné vyplývanie (s minimalizáciou konfliktov).
+
# Princíp fuzzifikácie: fuzzy množiny, lingvistické premenné a termy, modifikátory (hedges); základné typy fuzzy pravidiel. (crisp | fuzzy predpoklady, závery, akcie, faktor určitosti pravidla CF); priebeh fuzzy inferencie. (kombinácia fuzzy faktov possibility, necessitity, similarity measures, CF (thresholds), agregácia fuzzy faktov); defuzzifikácia (centre of gravity, mean of maxima metods); návrh fuzzy produkčného systému.
+
# Agent (užšia definícia); autonómnosť a mobilita; receptory, efektory, radič, senzory, aktuátory; klasifikácia agentov na reaktívne, deliberatívne a hybridné; komunikácia medzi agentami: priama a nepriama.
+
# Reprezentačné jazyky: XML a KIF; multiagentový systém (užšia definícia); komunikačne jazyky: KQML.
+
# Implementácia multigentových systémov; multi-agentový systém implementovaný ako middleware; implementácia v rámci VM OOP; implementácia nad modelom SRR (IPC); pyramidálna architektúra Client – Server; architektúra Agent – Space; robustnosť, decentralizovanosť, normalizácia.
+
# Deliberatívna a nedeliberatívna robotika; nová umelá inteligencia; dekompozícia funkciou a aktivitou; subsumpčná architektúra; PKA model.
+
 
</small>
 
</small>

Verzia zo dňa a času 11:41, 20. máj 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