INFORMAČNÝ LIST PREDMETU
Vysoká škola: Technická univerzita v Košiciach
Fakulta: Fakulta elektrotechniky a informatiky
Pracovisko: Katedra počítačov a informatiky
Kód predmetu: 26000645 Názov predmetu: Metaprogramovanie
Druh, rozsah a metóda vzdelávacích činností:
Forma výučby: Prednáška, Cvičenie laboratórne
Odporúčaný rozsah výučby (v hodinách):
Denná forma štúdia (hodiny za týždeň): 2,2
Externá forma štúdia (hodiny za semester): 26,26
Metóda štúdia: Prezenčná
Počet kreditov: 6
Odporúčaný semester štúdia: LS
Odporúčaný semester Študijný program Stupeň štúdia Metóda štúdia
1.rok LS Kyberbezpečnosť (KB_Ing_D_sk)
Informatika (INF_Ing_D_sk)
Informatika (INF_Ing_D_en)
2.
2.
2.
Prezenčná
Prezenčná
Prezenčná
Stupeň štúdia:
Podmieňujúce predmety:
Podmienky na absolvovanie predmetu:
Spôsob hodnotenia a skončenia štúdia predmetu: Zápočet a skúška
Priebežné hodnotenie (PH): Študent prospeje v PH a získa zápočet, keď splní podmienku získať min. 21% z 40%.
zadanie, testy
Záverečné hodnotenie (ZH): Študent prospeje v ZH a úspešne vykoná skúšku, keď splní podmienku získať min. 31% z 60%.
skúška
Celkové hodnotenie: CH je suma hodnotení získaných študentom za hodnotené obdobie. Celkový výsledok sa stanoví v súlade s vnútornými predpismi TUKE. (študijný poriadok, vnútorný predpis zásady doktorandského štúdia)
Výsledky vzdelávania:
Študent sa oboznámi s pokročilými vlastnosťami programovacích jazykov, ktoré umožňujú programom analyzovať a upravovať vlastnú štruktúru a kód. Naučí sa využívať rôzne formy metaprogramovania, reflexiu, atribútové programovanie, aspektovo-orientovaný prístup k programovaniu, generatívne programovanie. Tieto témy budú preberané v kontexte vedeckého výskumu ale tiež praktického vývoja softvérových systémov.
Stručná osnova predmetu:
1. Modularita v znovupoužiteľnosť pri vývoji softvéru.
2. Metaprogramovanie.
3. Reflexia a jej využitie.
4. Atribútové programovanie.
5. Definícia a spracovanie anotácii v jazyku Java.
6. Textové a syntaktické makrá a ich využitie.
7. Systémy typov a genetické typy.
8. Generovanie kódu a programovanie so šablónami.
9. Koncepcia aspektovo-orientovaného programovania.
10. Aspektovo-orientovaný jazyk AspectJ.
11. Prvky aspektu v jazyku AspectJ, bodové prierezy.
12. Aplikácia metaprogramovania pri vývoji softvéru.
Odporúčaná literatúra:
1. Ira R. Forman, Nate Forman: Java Reflection in Action, Manning 2004, ISBN 9781932394184
2. Ján Kollár, Jaroslav Porubän, Sergej Chodarev: Modelovanie a generovanie softvérových architektúr, elfa 2012, ISBN 978-80-553-1229-3
3. Martin Fowler: Domain Specific Languages, Addison-Wesley Professional 2010, ISBN: 978-0-321-71294-3
4. Ramnivas Laddad. AspectJ in Action, Second Edition, Manning 2009, ISBN 9781933988054
5. Krysztof Czarnecki, Ulrich Eisenecker: Generative Programming: Methods, Tools, and Applications, Addison-Wesley Professional 2000, ISBN 0201309777.
6. Vasian Cepa: Attribute Enabled Software Development: Illustrated with mobile software applications, AV Akademikerverlag 2012, ISBN 3639403819.
Odporúčané voliteľné súčasti programu:
Jazyk, ktorého znalosť je potrebná na absolvovanie predmetu:
Poznámky:
Hodnotenie predmetov:
Celkový počet hodnotených študentov: 376
  A B C D E FX  
  26% 16% 18% 16% 11% 13%  
Zabezpečuje:
prof. Ing. Jaroslav Porubän, PhD.
Ing. Sergej Chodarev, PhD.
Dátum poslednej zmeny: 01.09.2022
Schválil: osoba/osoby zodpovedné za študijný program