Aplikovaná informatika
Magisterský študijný program
Študijný odbor: | Informatika |
Forma štúdia: | denná |
Štandardná dĺžka štúdia: | 2 roky |
Jazyk štúdia: | slovenský a anglický |
Garant: | |
Spolugaranti: | doc. RNDr. Damas Gruska, PhD. |
Nadväzuje na študijné programy: | bakalársky študijný program Aplikovaná informatika |
Charakteristika študijného programu
Študijný program mAIN patrí podľa Národnej klasifikácie vzdelania MŠVVaŠ SR do magisterského stupňa (II. stupeň) vysokoškolského vzdelávania.
Podľa klasifikácie počítačových (computing) disciplín vypracovanej renomovanými profesijnými organizáciami ACM a IEEE-CS, ktorá sa štandardne používa aj na medzinárodnej úrovni, sa mAIN zameriava na tieto disciplíny:
- Informatika (Computer Science, CS)
- Softvérové inžinierstvo (Software Engineering, SE)
- Dátová veda (Data Science, DS)
Študijný program mAIN pozostáva z povinného základu (študijné bloky A, BA, BB, BC) a voliteľnej špecializácie (bloky S1, S2, S3, S4, S5).
Voliteľnými špecializáciami sú:
- S1: Počítačová grafika a videnie (špecializácia v rámci disciplíny Informatika)
- S2: Umelá inteligencia (špecializácia v rámci disciplín Informatika a Dátová veda)
- S3: Programovanie a tvorba informačných systémov (obsahuje predmety z niekoľkých disciplín: Informatika, Softvérové inžinierstvo, Informačné systémy)
- S5: Softvérové inžinierstvo (špecializácia v rámci Softvérové inžinierstvo)
- S4: Tvorba softvéru pre vzdelávanie (špecializácia v rámci disciplíny Informatika) Veda, priemysel, vzdelávanie
Študijný program mAIN umožňuje študentom si vybrať špecializáciu podľa vlastnej preferencie. Vo všeobecnosti je študijný program navrhnutý tak, aby si študent mohol vybrať z týchto základných profesijných smerovaní:
- Veda a výskum – Na túto oblasť sa zameriavajú bloky S1.
- Počítačová grafika a videnie a S2.
- Umelá inteligencia. IT priemysel – Túto oblasť pokrýva blok S5.
- Softvérové inžinierstvo a blok S3.
- Programovanie a tvorba informačných systémov.
- Vzdelávanie – Na túto oblasť sa zameriava blok S4. Tvorba softvéru pre vzdelávanie
Študijný program mAIN zároveň umožňuje študentom, aby si podľa vlastných preferencií vyberali aj predmety z iných študijných blokov, než iba s nimi zvoleného bloku špecializácie.
Čo vás čaká v študijnom programe?
Veda, priemysel, vzdelávanie
Nový študijný program mAIN umožňuje študentom si vybrať špecializáciu podľa vlastnej preferencie. Vo všeobecnosti je študijný program navrhnutý tak, aby si študent mohol vybrať z týchto základných profesijných smerovaní:
- Veda a výskum – Na túto oblasť sa zameriavajú bloky S1. Počítačová grafika a videnie a S2. Umelá inteligencia.
- IT priemysel – Túto oblasť pokrýva blok S5. Softvérové inžinierstvo a blok S3. Programovanie a tvorba informačných systémov.
- Vzdelávanie – Na túto oblasť sa zameriava blok S4. Tvorba softvéru pre vzdelávanie
Študijný program mAIN zároveň umožňuje študentom, aby si podľa vlastných preferencií vyberali aj predmety z iných študijných blokov, než iba s nimi zvoleného bloku špecializácie.
Špecializácia S5 Softvérové inžinierstvo
Nový blok Softvérové inžinierstvo je hlavným blokom špecializácie, ktorý si vyberajú študenti, ktorí vidia svoje uplatnenie v IT priemysle, či už vo veľkých softvérových firmách alebo softvérových start-upoch. Vyučujúcimi v tomto bloku sú predovšetkým odborníci zo špičkových slovenských softvérových firiem pod garanciou pedagógov z KAI FMFI.
Blok Softvérové inžinierstvo sa zameriava na tieto hlavné témy:
- Princípy vývoja komplexných systémov. – V rámci témy sa študenti naučia princípy vývoja viacvrstvových internetových/intranetových systémov s moderným front-endom vo frameworku Angular, back-endom v JavaEE a .NET a s využitím automatizovaného DevOps procesu. Hlavným predmetom témy je Vývoj veľkých softvérových aplikácií.
- Tímový vývoj softvérových systémov s využitím agilných metodík. – V rámci tejto témy si študenti prehĺbia svoje vedomosti v agilných metódach a budú riešiť tímový projekt na báze metodiky SCRUM s využitím nástroja Jira. Hlavným predmetom tejto témy je Agilný vývoj softvéru v tíme.
- Princípy vývoja moderných aplikácií. - V rámci tejto témy sa študenti naučia princípy moderného vývoja natívnych aplikácií pre cloud. Prakticky si vyskúšajú nástroje ako Docker, Kafka a cloudy Amazoon AWS, resp. MS Azure. Hlavným predmetom témy je Vývoj natívnych aplikácií pre cloud.
- Softvérové architektúry. – V rámci tejto témy získa študent systematický prehľad o architektonických a návrhových vzoroch podľa knižnej série Buschmann a kol: Pattern-oriented Software architecture. Na cvičeniach sa budú študenti snažiť vylepšiť svoje existujúce projekty zovšeobecňovaním a refaktorovaním do vzorov. Hlavným predmetom je Architektúra softvérových systémov.
- Rozšírenie a prehĺbenie vedomostí z bakalárskeho štúdia. – Do tejto oblasti patria dva predmety: Databázy 2 a Pokročilé programovanie v Jave. V predmete Databázy 2 sa študenti naučia pokročilé črty relačných databáz a základné princípy NoSQL databáz s príkladmi Elasticsearch, Redis či Hadoop. Predmet Pokročilé programovanie v Jave nadviaže na úvod do jazyka Java z bakalárskeho predmetu Programovanie 4. V tomto predmete sa študenti naučia tak pokročilé črty jazyka Java, napríklad Reflection, ako aj rozširujúce štandardy pre programovanie enterprise aplikácií, predovšetkým CDI, JAX-RS, JAX-WS a JPA.
- Softvérová analýza. – V rámci tejto oblasti získajú študenti široký prehľad nielen o technikách softvérovej analýzy (use cases, UML, BPMN), ale tiež o technikách biznis analýzy a enterprise modelovania (ArchiMate, TOGAF, CBA). Tieto techniky budú ilustrované na zjednodušených príkladoch z reálnych softvérových projektov v bankovníctve. Téma sa vyučuje v predmete Techniky softvérovej analýzy.
Špecializácia S3 Programovanie a tvorba informačných systémov
Blok S3 Programovanie a tvorba informačných systémov je pôvodným softvérovým blokom študijného programu mAIN. Rozširuje a prehlbuje vedomosti a zručnosti študenta z oblasti programovania z bakalárskeho študijného programu AIN. Sústreďuje na klasické témy informatiky ako sú programovacie paradigmy, databázy, agilný vývoj softvéru či webový dizajn. V porovnaní s blokom S5 Softvérové inžinierstvo je blok S3 menej „technologický“ – neobsahuje témy ako sú softvérové architektúry, vývoj komplexných aplikácií alebo aplikácií pre cloud.
Blok Programovanie a tvorba informačných systémov pokrýva tieto témy:
- Funkcionálne programovanie – Funkcionálne programovanie je paradigma programovania, ktorá vychádza z formálneho výpočtového modelu, lambda kalkul. Nie je to však iba akademický koncept, ale jeho princípy sa premietli aj do viacerých štandardných programovacích jazykov ako Python, JavaScript, Java, C++, Kotlin a ďalších. Predmet Funkcionálne programovanie sa zameria na podstatu paradigmy a na ilustráciu použije jazyk Haskell, ktorý je čistý a elegantný jazyk funkcionálneho programovania.
- Pokročilé programovanie v Jave - Predmet Pokročilé programovanie v Jave nadviaže na úvod do jazyka Java z bakalárskeho predmetu Programovanie 4. V tomto predmete sa študenti naučia tak pokročilé črty jazyka Java, napríklad Reflection, ako aj rozširujúce štandardy pre programovanie enterprise aplikácií, predovšetkým CDI, JAX-RS, JAX-WS a JPA.
- Návrh webových stránok a webových používateľských rozhraní - V rámci predmetu Webové technológie a metodológie sa študenti naučia princípy a metodiky navrhovania webových stránok, webových aplikácií, webových používateľských rozhraní a webového obsahu. Študenti sa detailne oboznámia a prakticky si vyskúšajú metodiky spadajúce pod oblasť dizajnu zameraného na potreby používateľov (user experience / interaction design), vrátane výskumu a modelovania používateľov a procesu prototypovania a testovania používateľských rozhraní.
- Databázy – Predmet Databázy 2 nadväzuje na predmet Databázy 1 z bakalárskeho štúdia. V rámci predmetu Databázy 2 sa študenti naučia, ako písať efektívne SQL dopyty, pracovať s geografickými dátami a XML a JSON štruktúrami. Naučia sa tiež základné princípy NoSQL databáz s príkladmi Elasticsearch, Redis či Hadoop.
- Programovanie v operačných systémoch – V predmete Programovanie v operačných systémoch sa študenti naučia vytvárať systémové a nízkoúrovňové programy a služby, ktoré komunikujú priamo s operačným systémom resp. hardvérom. Získajú prehľad o rozhraniach medzi operačným systémom a používateľským kódom a o prístupoch a technikách vhodných na tvorbu systémových programov.
- Agilný vývoj softvéru – V rámci tejto témy sa študenti naučia používať základne metódy a techniky agilného vývoja softvéru ako sú agilné plánovanie, párové programovanie, testmi riadený vývoj a refaktorizácia. Tieto budú realizovať na vlastnom skupinovom projekte. Hlavným predmetom témy je Extrémne programovanie. Ďalším predmetom je Agilný vývoj softvéru v tíme.
Záverečné práce
Diplomovou prácou má študent preukázať schopnosť samostatne získavať teoretické a praktické poznatky založené na súčasnom stave vedy a tvorivo ich uplatňovať, používať a rozvíjať. Záverečnú prácu vypracuje študent pod vedením vedúceho záverečnej práce. Vedúci záverečnej práce vypracuje na záverečnú prácu písomný posudok a navrhne jej hodnotenie. Záverečnú prácu posudzuje oponent. Oponent vypracuje na záverečnú prácu písomný posudok a navrhne jej hodnotenie.
Príklady úspešných záverečných prác našich študentov:
- Mgr. Linda Jurkasová Algorithm development for the segmentation of astronomical images with unique features, 2021 (in English)
- Mgr. Dana Škorvánková: Deep Learning-based Human Pose Estimation from 3D Data, 2020 (in English)
- Mgr. Dáša Keszeghová, Detekcia nádorov prostaty v MR snímkach, 2021
Uplatnenie absolventov
Absolvent štúdia magisterského študijného programu Aplikovaná informatika je teoreticky i prakticky pripravený tak, aby mohol
- odborne pracovať pri príprave rozsiahlych programových produktov zo všetkých oblastí vrátane grafických a/alebo vizuálnych aplikácií, aplikácii umelej inteligencii alebo pri tvorbe vzdelávacích aplikácii
- pôsobiť ako výskumný pracovník v rôznych zariadeniach základného a aplikovaného výskumu,
- pôsobiť ako asistent na rôznych typoch vysokých škôl zameraných na informatiku,
- študovať v treťom stupni vysokoškolského vzdelávania v študijných programoch študijného odboru Informatika, resp. v programoch príbuzných študijných odborov.
Príklady profesií podľa nadobudnutej spôsobilosti:
- Architekt informačných systémov (Solution architect, IT architect) – Solution architect alebo integračný architekt rozsiahlych informačných systémov veľkých firiem, napríklad v softvérových vývojových firmách, v bankách, v poisťovniach, v telekomunikáciách, v obchodných firmách, vo výrobných podnikoch a ďalších.
- Vývojár informačných systémov (Software developer) – Vývojár front-endov/back-endov/full stack vývojár veľkých informačných systémov, vývojár v start-up spoločnosti.
- Vývojár-špecialista v oblasti počítačovej grafiky – Vývojár v oblastiach tvorby realistických obrazov a animácií alebo tam, kde sa využíva počítačové videnie (napr. strojársky alebo elektrotechnický priemysel, medicína, ochrana a bezpečnosť, kontrola, diaľkový prieskum Zeme) na pozíciách vyžadujúcich hlbokú znalosť princípov spracovania vizuálnej informácie
- Dátový vedec (Data scientist), Inžinier strojového učenia – Špecialista vo veľkých spoločnostiach využívajúci metódy machine learning, matematickej štatistiky a doménových znalostí na analýzu veľkého množstva dát a tvorbu predikcií
- Analytik vizualizácie údajov
- Vývojár inteligentných systémov riadiacich procesov – Vývojár v oblasti inteligentných robotických systémov
- IT analytik – Softvérový analytik komunikujúci s biznis zákazníkom a vytvárajúci štruktúrované špecifikácie softvérových systémov a ich jednotlivých funkcií.
- Výskumný pracovník v rôznych inštitúciách a spoločnostiach zaoberajúcich sa základným a aplikovaným výskumom
- Asistent na informatických katedrách rôznych typoch vysokých škôl.
Vďaka univerzálnosti získaného informatického myslenia a dobrej príprave z matematiky budú absolventi študijného programu schopní pružne sa adaptovať na vznikajúce potreby intelektuálnej činnosti v informačnej spoločnosti. Možnosti ich uplatnenia pritom siahajú za hranice hore uvedených aplikácií, pretože viacerí doterajší absolventi FMFI UK v oblasti počítačovej grafiky, umelej inteligencie či programovania sa veľmi dobre uplatnili aj v ekonomickej sfére, najmä v priemysle a vo finančníctve.
Samostatne zárobkovo činná osoba, iniciácia startupu. Skúsenosti získané pri realizácii projektov a implementácii diplomových tém často v aktuálnych a ešte neriešených problémoch sú absolventi schopní pokračovať na riešení problému a založiť spoločnosť alebo startup. 20% absolventov sa uberá týmto smerom.