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): LS 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 Informatika (INF_Ing_D_sk)
Informatika (INF_Ing_D_en)
Kyberbezpečnosť (KB_Ing_D_sk)
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: Pre úspešné absolvovanie predmetu sa od študenta očakáva aktívna účasť na vzdelávacích činnostiach priamej výučby (prednášky, cvičenia), ako aj samostatné štúdium a samostatná tvorivá činnosť pri spracovaní semestrálnych projektov (zadaní) na stanovenú tému. Časová náročnosť: 8hod/týždeň.
Hodnotenie predmetov:
Celkový počet hodnotených študentov: 530
  A B C D E FX  
  22% 15% 18% 18% 10% 16%  
Zabezpečuje:
prof. Ing. Jaroslav Porubän, PhD.
Ing. Sergej Chodarev, PhD.
Dátum poslednej zmeny: 01.09.2024
Schválil: osoba/osoby zodpovedné za študijný program