Testy
Na tejto stránke nájdete informácie o testoch uskutočnených v rámci predmetu.
Testy z predchádzajúcich realizácii predmetu nájdete v archíve.
Skúška
Termíny skúšok sa na fakulte stanovujú centrálne. Po skúške budú zverejnené otázky a odpovede.
Ak pretrvajú obmedzenia prezenčnej výučby, skúška tento rok prebehne v domácej forme (take home exam). V prípade obnovenia prezenčnej výučby, skúška bude mať formu ako v roku 2018/19 a predtým.
Budete sa potrebovať odvolávať na vlastný projekt. Môžete použiť akékoľvek chcete ďalšie zdroje.
Avšak, skúšku musíte napísať samostatne: nie je povolená komunikácia s inými ľuďmi.
V termíne skúšky dostanete otázky, na ktoré budete odpovedať písomne.
Svoje odpovede odovzdáte do miest odovzdania v AISe, ktoré za týmto účelom budú pripravené.
Predpokladané trvanie skúšky je dve hodiny.
Na vypracovanie skúšky môžete použiť ktorýkoľvek editor textu. Diagramy môžete kresliť v nástroji UMLet.
Následne vytvoríte jeden súbor vo formáte PDF, ktorý odovzdáte.
Aby ste nadobudli lepšiu predstavu o tom, ako by také otázky mohli vyzerať, tu sú nejaké príklady:
- Na čo ste použili alebo na čo by ste vo vašom projekte použili viacniťovosť?
- Vyberte jeden z návrhových vzorov okrem Singletonu, ktoré ste použili vo vašom projekte a vysvetlite účel jeho použitia vzhľadom na projekt. V prípade, že ste žiaden návrhový vzor v projekte nepoužili, odpovedajte v zmysle predpokladanej aplikácie zvoleného vzoru. Identifikujte roly vzoru, resp. ako ste ich implementovali vo vašom projekte. Identifikujte konflikt protichodných síl vo vašom projekte, ktorý tento vzor rieši.
- Vysvetlite, ako ste alebo ako by ste uplatnili princíp otvorenosti a uzavretosti vo vašom projekte. Uveďte príklad možného porušenia tohto princípu v kontexte vášho projektu.
- Vysvetlite, ako bol alebo nebol dodržaný Liskovej princíp substitúcie v príklade prekonávania metód z vášho projektu.
- Uveďte príklad polymorfizmu z vášho projektu (len nevyhnutný kód) a vysvetlite, čo sa v zmysle vášho projektu jeho použitím dosahuje.
- Uveďte príklad použitia modifikátorov prístupu z vášho projektu (len nevyhnutný kód) a vysvetlite, čo sa v zmysle vášho projektu ich použitím dosahuje.
- Uveďte príklad použitia rozhraní z vášho projektu (len nevyhnutný kód) a vysvetlite, čo sa v zmysle vášho projektu ich použitím dosahuje.
- Vysvetlite, na čo ste vo vašom projekte použili alebo na čo by ste mohli použiť serializáciu. Vysvetlenie založte na triedach z vášho projektu. Ako zabezpečíte, aby všetko, čo je potrebné, bolo serializované?
- Vysvetlite, akým spôsobom ste vo vašom projekte oddelili vútornú logiku od používateľského rozhrania alebo ako by ste urobili, ak si myslíte, že sú potrebné úpravy.
- Diagramom tried v UML vyjadrite vzťah vybraného rozhrania z vášho projektu, triedy, ktorá ho implementuje, a triedy ktorá ho používa.
- Na čo ste použili alebo na čo by ste vo vašom projekte použili aspektovo-orientované programovanie?
- Ktorá vlastnosť jazyka C++, ktorú Java neposkytuje, by vám prišla vhod pri realizácii vášho projektu a prečo?
- Ktorá vlastnosť jazyka C#, ktorú Java neposkytuje, by vám prišla vhod pri realizácii vášho projektu a prečo?
Riadny termín
Skúška, ktorá sa konala 7. júna o 10.30 na diaľku, ako aj kľúč hodnotenia sú zverejnené tu.
Opravný termín
Skúška v opravnom termíne, ktorá sa konala 1. júla o 10.30 na diaľku, ako aj kľúč hodnotenia sú zverejnené tu.
Valentino Vranić
vranic at stuba.sk