State examinations for Bachelor program in Applied Informatics/sk: Rozdiel medzi revíziami

d
d
 
(42 medziľahlých úprav od 8 ďalších používateľov nie je zobrazených)
Riadok 1: Riadok 1:
 
= Štátne záverečné skúšky, <br>študijný odbor 9.2.9. aplikovaná informatika, bakalárske štúdium =
 
= Štátne záverečné skúšky, <br>študijný odbor 9.2.9. aplikovaná informatika, bakalárske štúdium =
 +
__TOC__
  
'''Garant:''' Doc. RNDr. Mária Markošová, PhD.<br>
+
'''Garant:''' Doc. RNDr. Damas Gruska, PhD.<br>
''markosova [[Image:zavinac.gif|@]] ii.fmph.uniba.sk''
+
''gruska [[Image:zavinac.gif|@]] ii.fmph.uniba.sk''
 +
 
 +
'''Oznamujem študentom, že augustový termín štátnych skúšok je výlučne opravným termínom a nie je možné sa naň prihlásiť ako na prvý termín. Tento postup bol zvolený po dohode s pani študijnou prodekankou.'''
  
 
== Úvodné poznámky ==
 
== Úvodné poznámky ==
Riadok 8: Riadok 11:
 
Štátne skúšky sa konajú z '''povinných''' predmetov bakalárskeho štúdia odboru '''Aplikovaná informatika''' a majú za úlohu zistiť, nakoľko študent zodpovedá profilu absolventa bakalárskeho štúdia. Štátna skúška pozostáva z dvoch častí (sylaby k bakalárskym štátniciam ostávajú v platnosti):
 
Štátne skúšky sa konajú z '''povinných''' predmetov bakalárskeho štúdia odboru '''Aplikovaná informatika''' a majú za úlohu zistiť, nakoľko študent zodpovedá profilu absolventa bakalárskeho štúdia. Štátna skúška pozostáva z dvoch častí (sylaby k bakalárskym štátniciam ostávajú v platnosti):
  
* obhajoba bakalárskej práce
+
* obhajoba bakalárskej práce - [[Ako pripravit prezentaciu pre obhajobu prace|odporúčania]]
 
* skúška z predmetu štátnej záverečnej skúšky Aplikovaná informatika.
 
* skúška z predmetu štátnej záverečnej skúšky Aplikovaná informatika.
  
Štátna skúška bude '''23.6.''' až '''26.6.2009''' na Katedre aplikovanej informatiky (miestnosť a čas budú upresenné neskôr). Prezentácia bakalárskej práce trvá '''20 minút''' včítane diskusie. Dodržanie času bude tiež jednou zložkou hodnotenia na obhajobe.
+
Štátna skúška bude '''22.6.''' až '''23.6.2016''' na Katedre aplikovanej informatiky (miestnosť a čas budú upresnené neskôr). Prezentácia bakalárskej práce trvá '''15 minút''' vrátane diskusie, ciže 10-12 minút na prejav. Dodržanie času bude tiež jednou zložkou hodnotenia na obhajobe.
  
''Tí, čo si dávaju prihlášku na bakalárske štátnice, mali by v nej explicitne uviesť, že chcú aj obhajovať bakalársku prácu. Tí, ktorí už prihlášku dali a neuviedli explicitne, že idú aj obhajovať bakalárku, tak nemusia dodatočne urobiť. Len v prípade, ze NEJDÚ obhajovať, nech to zahlásia na študijnom oddelení.''
+
Študenti si musia zabezpečiť '''vlastný notebook''', na ktorom budú prezentovať svoje bakalárske práce.
 +
 
 +
''Tí, čo si dávajú prihlášku na bakalárske štátnice, mali by v nej explicitne uviesť, že chcú aj obhajovať bakalársku prácu. Tí, ktorí už prihlášku dali a neuviedli explicitne, že idú aj obhajovať bakalárku, tak nemusia dodatočne urobiť. Len v prípade, ze NEJDÚ obhajovať, nech to zahlásia na študijnom oddelení.''
  
 
== Obsah štátnej záverečnej skúšky ==
 
== Obsah štátnej záverečnej skúšky ==
  
Vyberajú sa dve otázky: jedna z oblasti matematiky, druhá z oblasti programovania.  
+
Vyberajú sa dve otázky: jedna z oblasti matematiky, druhá z oblasti programovania. Každá otázka (matematika, programovanie) pozostáva z dvoch podotázok.
  
 
<small>
 
<small>
'''Matematika I (Analýza)'''
+
=== Matematika I (Analýza) ===
  
 
# Funkcie reálnej premennej: reálne čísla, funkcia reálnej premennej ako zobrazenie R —> R, definičný obor a obor hodnôt, graf funkcie; pojem zloženej a inverznej funkcie; elementárne funkcie (mocnina, polynóm, racionálna funkcia, odmocnina, exponenciálna funkcia a logaritmus, goniometrické a cyklometrické funkcie).
 
# Funkcie reálnej premennej: reálne čísla, funkcia reálnej premennej ako zobrazenie R —> R, definičný obor a obor hodnôt, graf funkcie; pojem zloženej a inverznej funkcie; elementárne funkcie (mocnina, polynóm, racionálna funkcia, odmocnina, exponenciálna funkcia a logaritmus, goniometrické a cyklometrické funkcie).
Riadok 28: Riadok 33:
 
# Pojem neurčitého integrálu a primitívna funkcia, primitívne funkcie k niektorým elementárnym funkciám, základné pravidlá integrovania, substitučná metóda a metóda per-partes; určitý integrál a jeho geometrický význam.
 
# Pojem neurčitého integrálu a primitívna funkcia, primitívne funkcie k niektorým elementárnym funkciám, základné pravidlá integrovania, substitučná metóda a metóda per-partes; určitý integrál a jeho geometrický význam.
  
'''Matematika II (Algebra a geometria)'''
+
=== Matematika II (Algebra a geometria) ===
  
 
# Priestory R^2 a R^3: kartézske súradnice, Euklidovská vzdialenosť (metrika); priamky a roviny; polárne a sférické súradnice. Skalárny súčin jeho vlastnosti, vektorový súčin v R^3, uhol medzi priamkami a rovinami, vzdialenosť bodu od priamky a roviny.
 
# Priestory R^2 a R^3: kartézske súradnice, Euklidovská vzdialenosť (metrika); priamky a roviny; polárne a sférické súradnice. Skalárny súčin jeho vlastnosti, vektorový súčin v R^3, uhol medzi priamkami a rovinami, vzdialenosť bodu od priamky a roviny.
Riadok 35: Riadok 40:
 
# Sústavy lineárnych rovníc, maticový zápis, homogénne a nehomegénne sústavy; Cramerovo pravidlo pre riešenie n rovníc pre n neznámych; všeobecné sústavy m rovníc pre n neznámych, metódy riešenia a existencia riešení.
 
# Sústavy lineárnych rovníc, maticový zápis, homogénne a nehomegénne sústavy; Cramerovo pravidlo pre riešenie n rovníc pre n neznámych; všeobecné sústavy m rovníc pre n neznámych, metódy riešenia a existencia riešení.
  
'''Diskrétna matematika'''
+
=== Diskrétna matematika ===
 +
 
 +
# Typy dôkazov. Priamy a nepriamy dôkaz. Dôkaz sporom. Matematická indukcia.
 +
# Základné enumeračné pravidlá: pravidlo súčtu a súčinu. Variácie bez a s opakovaním. Odvodenie počtu.
 +
# Permutácie bez a s opakovaním. Odvodenie počtu. Multinomická veta.
 +
# Kombinácie bez a s opakovaním. Odvodenie počtu. Usporiadané partície čísel.
 +
# Binomické koeficienty. Ich základné vlastnosti. Pascalova formula a Pascalov trojuholník. Binomická veta.
 +
# Princíp zapojenia a vypojenia. Problém šatniarky: formulácia a riešenie.
 +
# Prirodzené a celé čísla. Neúplný podiel a zvyšok po delení. Najväčší spoločný deliteľ. Euklidov algoritmus.
 +
# Prvočísla a zložené čísla. Základné vlastnosti prvočísel. Rozklad čísla na prvočinitele. Základná veta aritmetiky.
 +
# Vybrané číselné postupnosti: aritmetická a geometrická postupnosť, Fibonacciho čísla. Ich základné vlastnosti. Súčet prvých n členov postupnosti.
 +
# Rekurentné vzťahy. Lineárne homogénne rekurentné vzťahy s konštantnými koeficientami. Prípady rôznych a rovnakých reálnych koreňov.
 +
# Množiny. Paradoxy teórie množín. Základné vzťahy a operácie. Potenčná množina. Karteziánsky súčin.
 +
# Binárne relácie. Maticová a grafická reprezentácia relácie. Skladanie relácií. Opačná (inverzná) relácia. Obraz a vzor množiny v relácii. Jednoznačné a všade definované relácie.
 +
# Relácie na množine. Základné vlastnosti relácií na množine. Reflexivita a ireflexivita. Symetria, antisymetria a asymetria. Tranzitivita.
 +
# Relácia ekvivalencie a rozklad množiny. Ich vzájomný vzťah. Systém zvyškových tried podľa modulu.
 +
# Čiastočné a lineárne usporiadania. Hasseho diagram usporiadania. Minimálny a maximálny prvok. Najmenší a najväčší prvok. Supremum a infimum. Zväzy.
 +
# Zobrazenia. Zúženie a rozšírenie zobrazenia. Zložené zobrazenie. Inverzné zobrazenie. Obraz a vzor množiny v zobrazení.
 +
# Injektívne, surjektívne a bijektívne zobrazenia.
 +
 
 +
=== Algoritmy a dátové štruktúry ===
 +
 
 +
<ol><li value="1">Operácie '''enqueue''' a '''degueue''' pre dátovú štruktúru front ('''Queue''') sa často realizujú (dynamickým) poľom: pridávaním na koniec, resp. odoberaním prvého prvku poľa. Odoberanie prvého prvku je v niektorých programovacích jazykoch časovo náročná operácia. Navrhnite takú reprezentáciu frontu, aby boli tieto dve metódy čo možno najefektívnejšie, napr. pomocou spájaného zoznamu, resp. asociatívnym poľom. Zapíšte obe operácie.<br/>Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.</li></ol>
 +
 
 +
<ol><li value="2">Vieme, že '''rekurzívny''' algoritmus pre výpočet n-tého fibonacciho čísla pomocou súčtu dvoch predchodcov tejto postupnosti, je veľmi neefektívny. Prepíšte tento algoritmus tak, aby sa využila '''memoizácia'''. Odhadnite zložitosť takto vylepšeného rekurzívneho algoritmu.<br/>Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.</li></ol>
 +
 
 +
<ol><li value="3">Algoritmus '''preorder''' prechádza vrcholy binárneho stromu v presnom poradí. Zapíšte funkciu, ktorá umožní získavať vrcholy presne v poradí '''preoreder''': prvé volanie vráti prvý vrchol tejto postupnosti, každé ďalšie volanie vráti nasledovný vrchol postupnosti alebo spôsobí vyvolanie výnimky, ak sa už prešli všetky vrcholy stromu.<br/>Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.</li></ol>
 +
 
 +
<ol><li value="4">Pre dátovú štruktúru všeobecný strom ('''Tree''') zapíšte tieto dve funkcie:
 +
* funkcia hĺbka ('''depth''') pre konkrétny vrchol vráti vzdialenosť tohto vrcholu od koreňa (môžete predpokladať, že v každom vrchole je informácia o otcovi ('''parent'''))
 +
* funkcia výška ('''height''') vráti výšku celého stromu, pričom postupne vypočíta hĺbku ('''depth''') všetkých listov stromu – z týchto hĺbok zistí maximum
 +
Odhadnite zložitosť (najhoršieho prípadu) algoritmu '''height''' pre strom s '''n''' vrcholmi.<br/>Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.</li></ol>
 +
 
 +
<ol><li value="5">Algoritmus triedenia '''merge-sort''' sa dá realizovať nerekurzívne zdola nahor. Zapíšte tento algoritmus a porovnajte jeho zložitosť s algoritmom '''quick-sort'''. Môžete predpokladať, že máte k dispozícii funkciu '''merge''', ktorá z dvoch utriedených polí vytvorí nové pole ich zlúčením (zložitosti '''O(n1+n2)''').<br/>Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.</li></ol>
 +
 
 +
<ol><li value="6">Na realizáciu dátového typu asociatívne pole ('''Map''') sa najčastejšie využívajú hašovacie tabuľky. Zapíšte metódy na:
 +
* vloženie do tabuľky dvojice (kľúč, hodnota)
 +
* nájdenie hodnoty pre zadaný kľúč
 +
* vyhodenie dvojice (kľúč, hodnota)
 +
Zvoľte si vhodný spôsob riešenia kolízií. Odhadnite zložitosť vašich metód.<br/>Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.</li></ol>
 +
 
 +
<ol><li value="7">Navrhnite realizácie dátových typov množina ('''Set''') a tiež množina, v ktorej môžu byť prvky aj viackrát ('''MultiSet'''). Využite existujúci typ asociatívne pole ('''Map'''). Zdôvodnite, ktoré zo základných operácií s týmito dátovými typmi (vloženie, zistenie, vyhodenie) budú mať horšiu zložitosť ako '''O(1)'''.<br/>Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.</li></ol>
 +
 
 +
<ol><li value="8">Zapíšte operácie vloženia ('''add''') a vybratia najmenšieho prvku ('''remove_min''') pre prioritný front ('''PriorityQueue''') tak, aby zložitosť každej z nich bola lepšia ako '''O(N)'''. Zdôvodnite.<br/>Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.</li></ol>
  
# '''Typy dôkazov.''' Priamy, nepriamy, sporom, matematická indukcia.<br>'''Dirichletov princíp.'''<br>'''Základné enumeračné pravidlá''' – pravidlo súčtu a súčinu.
+
=== Programovanie ===
# '''Množiny.''' Zakladné operácie, karteziánsky súčin.<br>'''Binárne relácie.''' Reprezentácia pomocou matice a grafu binárnej relácie. Skladanie binárnych relácií.
+
# '''Relácie ekvivalencie a rozklady množín'''. Definície a vzájomný vzťah.<br>Usporiadania a zobrazenia.
+
# '''Variácie bez a s opakovaním.''' Definície. Odvodenie počtu.
+
# '''Kombinácie bez opakovania.''' Binomická veta.
+
# '''Kombinácie s opakovaním, permutácie s opakovaním, polynomická veta.'''
+
# '''Princíp zapojenia a vypojenia.'''
+
# '''Eulerovské grafy.''' Charakterizácia. Predlžovací algoritmus na nájdenie eulerovského ťahu.<br>'''Hamiltonovské grafy.''' Postačujúce podmienky pre existenciu hamiltonovskej kružnice v grafe.
+
# '''Vrcholová a hranová súvislosť grafu.'''<br>'''Vrcholové a hranové farbenia grafu.'''
+
# '''Planárne grafy.'''
+
  
'''Algortimy a dátové štruktúry'''
+
# Triedy, ukrývanie implementácie, dedenie, virtuálne dedenie, typy konštruktorov, deštruktory, príklady v Free Pascal, C++, Java alebo Python.
 +
# Abstraktný dátový typ a jeho implementácia triedou, príklady v Free Pascal, C++, Java alebo Python.
 +
# Parametrický polymorfizmus, preťažovanie, preťažovanie operátorov, príklady v Free Pascal, C++, Java alebo Python.
 +
# Šablóny, typy šablón, kontajnery, kolekcie, príklady v Free Pascal, C++ alebo Java.
 +
# Smerníky, smerníková aritmetika, dynamická alokácia pamäti, smerníky na smerníky a na funkcie. Príklady v Free Pascal alebo C++.
 +
# Procesy a vlákna (thready), konkurentné programovanie, spôsoby komunikácie a synchronizácie procesov, kritické oblasti, semafory a príklad v konkrétnom jazyku.
 +
# Ošetrovanie chýb, assert, výnimky, testy,  a príklad v Free Pascal, C++, Java alebo Python.
 +
# Lineárne dátové štruktúry (zoznam, front, prioritný front), príklad ich implementácie pomocou dynamických dátových štruktúr v jazyku Free Pascal, C++, Java alebo Python.
 +
# Spôsoby prehľadávania stavového priestoru, do hĺbky a do šírky, backtracking. Príklad v jazyku Free Pascal, C++, Java alebo Python.
 +
# Tvorba informačných systémov - modely vývoja softvéru, fázy vývoja - špecifikácia, návrh, integrácia, testovanie, údržba, Ganttov diagram, UML, návrhové vzory.
  
# Efektívnosť reprezentácie množín (kritériá efektívnosti, porovnanie efektívnosti operácií)
+
=== Úvod do teoretickej informatiky ===
#* bitový vektor
+
# Výpočtový model, základné charakteristiky.
#* pole, spájaný zoznam
+
# Deterministický konečný automat (definícia, konfigurácia, krok výpočtu, výpočet, jazyk, ktorý akceptuje)
#* vyvážené a nevyvážené stromy.
+
# Nedeterministický konečný automat (definícia, konfigurácia, krok výpočtu, výpočet, jazyk, ktorý akceptuje)
# Vyhľadávanie informácií v tabuľkách
+
# Porovnanie deterministického a nedeterministického  konečného automatu
#* binárne vyhľadávanie
+
# Techniky návrhu deterministického konečného automatu
#* hašovanie otvorené a zatvorené, hašovacie funkcie, riešenie kolízií
+
# Turingov stroj a konečný automat, porovnanie  
#* porovnanie zložitosti operácií.
+
# Determinizmus vs. nedeterminizmus (ako sa definuje na konečných automatoch a TS). Praktické dôsledky na uvedených modeloch.
# Porovnanie triediacich algoritmov
+
# Jednopáskový, viacpáskový, deterministický a nedeterministický TS
#* napr. merge-sort, quick-sort, heap-sort
+
# Dôkazy neriešiteľnosti problému v danom výpočtovom modeli (konečný automat, TS.)
#* odhady zložitosti.
+
# Dátové štruktúry pre množiny
+
#* disjunktné množiny s operáciami UNION a FIND
+
#* viacrozmerné množiny
+
#* reprezentácia vzťahov typu mnoho-mnoho – multilist.
+
  
'''Programovanie'''
+
=== POČÍTAČOVÁ GRAFIKA A SPRACOVANIE OBRAZU ===
  
# Objektovo-orientované programovanie, princípy a základné pojmy, programovacie jazyky, príklady v Delphi alebo Java.
+
# Referenčný model počítačovej grafiky. Základná geometria scény, súradnicové systémy a transformácie medzi nimi. Zobrazovací kanál (rendering pipeline).
# Hierarchia, dedenie, ukrývanie a preťažovanie, vysvetlite základné pojmy a súvislosti, príklady v Delphi alebo Java.
+
# Viditeľnosť, rasterizácia, textúry a antialiasing.
# Abstraktný dátový typ a jeho implementácia triedou, príklady v Delphi alebo Java.
+
# Osvetlenie a tieňovanie, tiene, animácia a kódovanie.
# Parametrický polymorfizmus, príklad, základné dátové štruktúry a ich implementácia v Jave.
+
# Snímanie obrazu a jeho vlastnosti (škála, šum, metriky).
# Procesy a vlákna (thready), konkurentné programovanie, hlavné tézy a príklad v Delphi alebo Java.
+
# Predspracovanie obrazu v priestorovej a frekvenčnej oblasti.
# Spôsoby komunikácie a synchronizácie procesov, kritické oblasti, semafóry a príklad v konkrétnom jazyku.
+
# Tvorba užívateľského rozhrania, základné vizuálne komponenty Delphi.
+
# Applety v Jave, základné princípy, obmedzenia a stavebné komponenty.
+
  
'''Grafické systémy, vizualizácia a multimédiá 2/1'''
+
Odporučená literatúra z počítačovej grafiky:
 +
* Ružický, E., Ferko, A. : Počítačová grafika a spracovanie obrazu
 +
* Žára, J. a kolektív : Moderní počítačová grafika
 +
* Šikudová E. a kol.: Počítačové videnie: detekcia a rozpoznávanie objektov
  
odporúčaná študijná literatúra:
+
</small>
Ružický, E. a kol. 1995. '''Počítačová grafika a spracovanie obrazu.''' Bratislava: Sapientia 1995.
+
e-learningová podpora na pg.netgraphics.sk (text, applety, testy ...) a
+
http://www.sccg.sk/~gsvm (odprednášané prezentácie na stiahnutie).
+
  
# Referenčný model počítačovej grafiky. Metodika matematického modelovania a vizualizácie. Aplikačné oblasti spracovania vizuálnej informácie, napr. vo Vašich projektoch.
+
[[Category:Bakalársky program Aplikovaná informatika]]
# Súradnicové systémy. Homogénne súradnice. Afinné transformácie (škálovanie, rotácia, posunutie). Implementácia jednoduchého zobrazovacieho kanála pomocou matíc.
+
# Základy komunikácie človek-stroj, grafické používateľské rozhranie (GUI). Fyzické a logické vstupné zariadenia. Model vstupu podľa noriem ISO.
+
# Použitie kriviek v počítačovej grafike. Konštrukcia Bézierovej krivky algoritmom de Casteljau.
+
# Reprezentácia jednoduchých grafických objektov. Modelovanie pomocou vyťahovania (sweeping) a CSG-stromov.
+
# Hierarchia obrázku a objektov v scéne. Graf scény a formát VRML.
+
# Jednoduché modely farieb (RGB, CMYK). Kultúrny význam niektorých farieb.
+
# Vizualizácia dát. Dátové typy a spôsoby ich vizualizácie.
+
# Kódovanie multimédií. Princíp kompresie dát. Príklady formátov na kódovanie obrazu, zvuku a animácie.
+
# Počítačová animácia. Definícia podľa ISO. Metodika tvorby.
+

Aktuálna revízia z 01:24, 6. máj 2016

Štátne záverečné skúšky,
študijný odbor 9.2.9. aplikovaná informatika, bakalárske štúdium

Garant: Doc. RNDr. Damas Gruska, PhD.
gruska @ ii.fmph.uniba.sk

Oznamujem študentom, že augustový termín štátnych skúšok je výlučne opravným termínom a nie je možné sa naň prihlásiť ako na prvý termín. Tento postup bol zvolený po dohode s pani študijnou prodekankou.

Úvodné poznámky

Štátne skúšky sa konajú z povinných predmetov bakalárskeho štúdia odboru Aplikovaná informatika a majú za úlohu zistiť, nakoľko študent zodpovedá profilu absolventa bakalárskeho štúdia. Štátna skúška pozostáva z dvoch častí (sylaby k bakalárskym štátniciam ostávajú v platnosti):

  • obhajoba bakalárskej práce - odporúčania
  • skúška z predmetu štátnej záverečnej skúšky Aplikovaná informatika.

Štátna skúška bude 22.6.23.6.2016 na Katedre aplikovanej informatiky (miestnosť a čas budú upresnené neskôr). Prezentácia bakalárskej práce trvá 15 minút vrátane diskusie, ciže 10-12 minút na prejav. Dodržanie času bude tiež jednou zložkou hodnotenia na obhajobe.

Študenti si musia zabezpečiť vlastný notebook, na ktorom budú prezentovať svoje bakalárske práce.

Tí, čo si dávajú prihlášku na bakalárske štátnice, mali by v nej explicitne uviesť, že chcú aj obhajovať bakalársku prácu. Tí, ktorí už prihlášku dali a neuviedli explicitne, že idú aj obhajovať bakalárku, tak nemusia dodatočne urobiť. Len v prípade, ze NEJDÚ obhajovať, nech to zahlásia na študijnom oddelení.

Obsah štátnej záverečnej skúšky

Vyberajú sa dve otázky: jedna z oblasti matematiky, druhá z oblasti programovania. Každá otázka (matematika, programovanie) pozostáva z dvoch podotázok.

Matematika I (Analýza)

  1. Funkcie reálnej premennej: reálne čísla, funkcia reálnej premennej ako zobrazenie R —> R, definičný obor a obor hodnôt, graf funkcie; pojem zloženej a inverznej funkcie; elementárne funkcie (mocnina, polynóm, racionálna funkcia, odmocnina, exponenciálna funkcia a logaritmus, goniometrické a cyklometrické funkcie).
  2. Limita číselnej postupnosti: pojem limity postupnosti, vlastná a nevlastná limita, základné vlastnosti, pojem číselného radu a jeho súčtu, absolútna a neabsolútna konvergencia, d'Alambertovo a Cauchyho kritérium konvergencie.
  3. Limita funkcie (vlastná a nevlastná limita, limita v nevlastných bodoch); spojitost funkcie; mocninné rady, polomer konvergencie, mocninné rozvoje niektorých elementárnych funkcií (exponenciálna funkcia, sin x, cos x).
  4. Pojem derivácie funkcie, geometrický význam derivácie; základné vlastnosti derivácií (lineárna kombinácia funkcií, súčin a podiel funkcií, zložená funkcia); derivácie elementárnych funkcií; l'Hospitalovo pravidlo.
  5. Pojem neurčitého integrálu a primitívna funkcia, primitívne funkcie k niektorým elementárnym funkciám, základné pravidlá integrovania, substitučná metóda a metóda per-partes; určitý integrál a jeho geometrický význam.

Matematika II (Algebra a geometria)

  1. Priestory R^2 a R^3: kartézske súradnice, Euklidovská vzdialenosť (metrika); priamky a roviny; polárne a sférické súradnice. Skalárny súčin jeho vlastnosti, vektorový súčin v R^3, uhol medzi priamkami a rovinami, vzdialenosť bodu od priamky a roviny.
  2. Vektorové priestory, lineárna nezávislosť, dimenzia, báza; skalárny súčin, norma, vzdialenosť, metrika, ortogonálna báza; lineárne transformácie; ilustrácia na priestoroch R^2 a R^3.
  3. Pojem (reálnej alebo komplexnej) matice, lineárne kombinácie, súčin matíc, transponovaná matica, hodnosť matice; determinant štvorcovej 2x2 a 3x3 matice; vlastnosti determinatov, výpočet determinantov úpravou na triangulárny tvar; inverzná matica a jej výpočet.
  4. Sústavy lineárnych rovníc, maticový zápis, homogénne a nehomegénne sústavy; Cramerovo pravidlo pre riešenie n rovníc pre n neznámych; všeobecné sústavy m rovníc pre n neznámych, metódy riešenia a existencia riešení.

Diskrétna matematika

  1. Typy dôkazov. Priamy a nepriamy dôkaz. Dôkaz sporom. Matematická indukcia.
  2. Základné enumeračné pravidlá: pravidlo súčtu a súčinu. Variácie bez a s opakovaním. Odvodenie počtu.
  3. Permutácie bez a s opakovaním. Odvodenie počtu. Multinomická veta.
  4. Kombinácie bez a s opakovaním. Odvodenie počtu. Usporiadané partície čísel.
  5. Binomické koeficienty. Ich základné vlastnosti. Pascalova formula a Pascalov trojuholník. Binomická veta.
  6. Princíp zapojenia a vypojenia. Problém šatniarky: formulácia a riešenie.
  7. Prirodzené a celé čísla. Neúplný podiel a zvyšok po delení. Najväčší spoločný deliteľ. Euklidov algoritmus.
  8. Prvočísla a zložené čísla. Základné vlastnosti prvočísel. Rozklad čísla na prvočinitele. Základná veta aritmetiky.
  9. Vybrané číselné postupnosti: aritmetická a geometrická postupnosť, Fibonacciho čísla. Ich základné vlastnosti. Súčet prvých n členov postupnosti.
  10. Rekurentné vzťahy. Lineárne homogénne rekurentné vzťahy s konštantnými koeficientami. Prípady rôznych a rovnakých reálnych koreňov.
  11. Množiny. Paradoxy teórie množín. Základné vzťahy a operácie. Potenčná množina. Karteziánsky súčin.
  12. Binárne relácie. Maticová a grafická reprezentácia relácie. Skladanie relácií. Opačná (inverzná) relácia. Obraz a vzor množiny v relácii. Jednoznačné a všade definované relácie.
  13. Relácie na množine. Základné vlastnosti relácií na množine. Reflexivita a ireflexivita. Symetria, antisymetria a asymetria. Tranzitivita.
  14. Relácia ekvivalencie a rozklad množiny. Ich vzájomný vzťah. Systém zvyškových tried podľa modulu.
  15. Čiastočné a lineárne usporiadania. Hasseho diagram usporiadania. Minimálny a maximálny prvok. Najmenší a najväčší prvok. Supremum a infimum. Zväzy.
  16. Zobrazenia. Zúženie a rozšírenie zobrazenia. Zložené zobrazenie. Inverzné zobrazenie. Obraz a vzor množiny v zobrazení.
  17. Injektívne, surjektívne a bijektívne zobrazenia.

Algoritmy a dátové štruktúry

  1. Operácie enqueue a degueue pre dátovú štruktúru front (Queue) sa často realizujú (dynamickým) poľom: pridávaním na koniec, resp. odoberaním prvého prvku poľa. Odoberanie prvého prvku je v niektorých programovacích jazykoch časovo náročná operácia. Navrhnite takú reprezentáciu frontu, aby boli tieto dve metódy čo možno najefektívnejšie, napr. pomocou spájaného zoznamu, resp. asociatívnym poľom. Zapíšte obe operácie.
    Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.
  1. Vieme, že rekurzívny algoritmus pre výpočet n-tého fibonacciho čísla pomocou súčtu dvoch predchodcov tejto postupnosti, je veľmi neefektívny. Prepíšte tento algoritmus tak, aby sa využila memoizácia. Odhadnite zložitosť takto vylepšeného rekurzívneho algoritmu.
    Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.
  1. Algoritmus preorder prechádza vrcholy binárneho stromu v presnom poradí. Zapíšte funkciu, ktorá umožní získavať vrcholy presne v poradí preoreder: prvé volanie vráti prvý vrchol tejto postupnosti, každé ďalšie volanie vráti nasledovný vrchol postupnosti alebo spôsobí vyvolanie výnimky, ak sa už prešli všetky vrcholy stromu.
    Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.
  1. Pre dátovú štruktúru všeobecný strom (Tree) zapíšte tieto dve funkcie:
    • funkcia hĺbka (depth) pre konkrétny vrchol vráti vzdialenosť tohto vrcholu od koreňa (môžete predpokladať, že v každom vrchole je informácia o otcovi (parent))
    • funkcia výška (height) vráti výšku celého stromu, pričom postupne vypočíta hĺbku (depth) všetkých listov stromu – z týchto hĺbok zistí maximum
    Odhadnite zložitosť (najhoršieho prípadu) algoritmu height pre strom s n vrcholmi.
    Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.
  1. Algoritmus triedenia merge-sort sa dá realizovať nerekurzívne zdola nahor. Zapíšte tento algoritmus a porovnajte jeho zložitosť s algoritmom quick-sort. Môžete predpokladať, že máte k dispozícii funkciu merge, ktorá z dvoch utriedených polí vytvorí nové pole ich zlúčením (zložitosti O(n1+n2)).
    Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.
  1. Na realizáciu dátového typu asociatívne pole (Map) sa najčastejšie využívajú hašovacie tabuľky. Zapíšte metódy na:
    • vloženie do tabuľky dvojice (kľúč, hodnota)
    • nájdenie hodnoty pre zadaný kľúč
    • vyhodenie dvojice (kľúč, hodnota)
    Zvoľte si vhodný spôsob riešenia kolízií. Odhadnite zložitosť vašich metód.
    Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.
  1. Navrhnite realizácie dátových typov množina (Set) a tiež množina, v ktorej môžu byť prvky aj viackrát (MultiSet). Využite existujúci typ asociatívne pole (Map). Zdôvodnite, ktoré zo základných operácií s týmito dátovými typmi (vloženie, zistenie, vyhodenie) budú mať horšiu zložitosť ako O(1).
    Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.
  1. Zapíšte operácie vloženia (add) a vybratia najmenšieho prvku (remove_min) pre prioritný front (PriorityQueue) tak, aby zložitosť každej z nich bola lepšia ako O(N). Zdôvodnite.
    Na riešenie úlohy si zvoľte jeden z programovacích jazykov: FreePascal, C++, Java, Python.

Programovanie

  1. Triedy, ukrývanie implementácie, dedenie, virtuálne dedenie, typy konštruktorov, deštruktory, príklady v Free Pascal, C++, Java alebo Python.
  2. Abstraktný dátový typ a jeho implementácia triedou, príklady v Free Pascal, C++, Java alebo Python.
  3. Parametrický polymorfizmus, preťažovanie, preťažovanie operátorov, príklady v Free Pascal, C++, Java alebo Python.
  4. Šablóny, typy šablón, kontajnery, kolekcie, príklady v Free Pascal, C++ alebo Java.
  5. Smerníky, smerníková aritmetika, dynamická alokácia pamäti, smerníky na smerníky a na funkcie. Príklady v Free Pascal alebo C++.
  6. Procesy a vlákna (thready), konkurentné programovanie, spôsoby komunikácie a synchronizácie procesov, kritické oblasti, semafory a príklad v konkrétnom jazyku.
  7. Ošetrovanie chýb, assert, výnimky, testy, a príklad v Free Pascal, C++, Java alebo Python.
  8. Lineárne dátové štruktúry (zoznam, front, prioritný front), príklad ich implementácie pomocou dynamických dátových štruktúr v jazyku Free Pascal, C++, Java alebo Python.
  9. Spôsoby prehľadávania stavového priestoru, do hĺbky a do šírky, backtracking. Príklad v jazyku Free Pascal, C++, Java alebo Python.
  10. Tvorba informačných systémov - modely vývoja softvéru, fázy vývoja - špecifikácia, návrh, integrácia, testovanie, údržba, Ganttov diagram, UML, návrhové vzory.

Úvod do teoretickej informatiky

  1. Výpočtový model, základné charakteristiky.
  2. Deterministický konečný automat (definícia, konfigurácia, krok výpočtu, výpočet, jazyk, ktorý akceptuje)
  3. Nedeterministický konečný automat (definícia, konfigurácia, krok výpočtu, výpočet, jazyk, ktorý akceptuje)
  4. Porovnanie deterministického a nedeterministického konečného automatu
  5. Techniky návrhu deterministického konečného automatu
  6. Turingov stroj a konečný automat, porovnanie
  7. Determinizmus vs. nedeterminizmus (ako sa definuje na konečných automatoch a TS). Praktické dôsledky na uvedených modeloch.
  8. Jednopáskový, viacpáskový, deterministický a nedeterministický TS
  9. Dôkazy neriešiteľnosti problému v danom výpočtovom modeli (konečný automat, TS.)

POČÍTAČOVÁ GRAFIKA A SPRACOVANIE OBRAZU

  1. Referenčný model počítačovej grafiky. Základná geometria scény, súradnicové systémy a transformácie medzi nimi. Zobrazovací kanál (rendering pipeline).
  2. Viditeľnosť, rasterizácia, textúry a antialiasing.
  3. Osvetlenie a tieňovanie, tiene, animácia a kódovanie.
  4. Snímanie obrazu a jeho vlastnosti (škála, šum, metriky).
  5. Predspracovanie obrazu v priestorovej a frekvenčnej oblasti.

Odporučená literatúra z počítačovej grafiky:

  • Ružický, E., Ferko, A. : Počítačová grafika a spracovanie obrazu
  • Žára, J. a kolektív : Moderní počítačová grafika
  • Šikudová E. a kol.: Počítačové videnie: detekcia a rozpoznávanie objektov