Warning
This page is located in archive.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
courses:b6b33ear:hodnoceni [2017/09/28 17:17]
ledvima1 [Hodnocení předmětu]
courses:b6b33ear:hodnoceni [2017/10/02 09:44] (current)
kremep1
Line 1: Line 1:
 +.
 +==== Hodnocení předmětu ====
 +  * klasifikace předmětu - 0-100 bodů
 +      * max. 10 bodů za aktivitu na cvičeních (která jsou jinak dobrovolná,​ kromě těch, na kterých se odevzdávají checkpointy).
 +      * max. 50 bodů za kvalitu a včasnost odevzdání semestrální práce.
 +      * max. 40 bodů za závěrečný test. Test nebude delší než 90 min, bude poté opraven a následně bude probíhat udělování známek.
 +      * EAR: předmět je zakončen klasifikovaným zápočtem, který bude udělen za **úspěšné** (viz níže) odevzdání všech tří checkpointů a za získání alespoň 20 bodů v závěrečném testu.
 +      * WPA: předmět je zakončen zápočtem a zkouškou. Zápočet bude udělen za **úspěšné** (viz níže) odevzdání všech tří checkpointů. Hodnocení zkoušky bude tvořeno body za semestrální práci a hodnocením závěrečného testu. Zkouška bude úspěšně složena za získání alespoň 20 bodů v závěrečném testu. Test mohou absolvovat i studenti, kteří nemají dosud nárok na zápočet. Předmět bude uzavřen až poté, co získají zápočet.
 +  * Semestrální práci budete vypracovávat ve dvojicích. Skupiny o více či méně lidech jsou možné pouze po domluvě.
 +  * Body za semestrální práci se získávají průběžně v následujících checkpointech:​
 +
 +^ datum odevzdání ^ co musí odevzdávaný ZIP archiv obsahovat ^  maximální počet bodů     ^
 +|  **29.10.2017** ​ |  [[cp0 | CP0: Téma semestrální práce a krátký popis plánovaného řešení]]| ​ 5  |
 +|  **19.11.2017** ​ |  [[cp1 | CP1: High-level design aplikace, objektový model a persistentní vrstva]]| ​ 15  |
 +|  **7.1.2018** ​ |  [[cp2 | CP2: Odevzdání kompletní semestrální práce]]| ​ 30   |
 +
 +  * **než začnete vypracovávat SP, pozorně si přečtěte popis všech checkpointů**,​
 +  * pro všechny checkpointy platí, že 
 +      * **datum odevzdání znamená poslední možné datum uploadu** (ve 23.59.59) do odevzdávacího systému (viz link na úvodní straně předmětu). Pro CP0 se odevzdává PDF soubor. **Pro CP1 a CP2 se odevzdává soubor ZIP, se strukturou projektu, v jehož kořenovém adresáři se náchází soubor pom.xml a současně soubor commit.txt, jehož jediným obsahem je číslo commitu ve vašem Git repozitáři systému Gitblit. Všichni členové skupiny budou mít daný commit ve vlastních repozitářích.**
 +      * nejbližší cvičení ​ následující po datu skutečného odevzdání je třeba daný checkpoint prezentovat svému cvičícímu;​ **prezentace musí  vycházet z toho, co bylo odevzdáno do systému** (viz link na úvodní straně předmětu) - to bude předmětem hodnocení daného checkpointu. V dobře odůvodněných případech je možné prezentovat checkpoint v jiném termínu, vždy po předchozí **včasné** domluvě se cvičícím.
 +      * **při odevzdání musí být přítomni všichni členové skupiny**,
 +      * **za každý týden zpoždění se hodnocení daného checkpointu snižuje o 5 bodů. Toto platí i pro CP2 - zde navíc hrozí riziko, že v případě příliš pozdního odevzdání nebude již vypsán náhradní termín pro závěrečný test**. ​
 +      * checkpoint je **úspěšně odevzdaný**,​ pokud za něj získáte alespoň 50% bodů (bez započtení penalizace za časové zpoždění)
 +  * Celkové hodnocení předmětu se provádí dle ECTS stupnice:
 +
 +^ Body          ^ Stupeň ECTS ^  Známka ​       ^
 +|  100 - 90     ​| ​  ​A ​        ​| ​ výborně ​      |
 +|  89 - 80      |   ​B ​        ​| ​ velmi dobře ​  |
 +|  79 - 70      |   ​C ​        ​| ​ dobře ​        |
 +|  69 - 60      |   ​D ​        ​| ​ uspokojivě ​   |
 +|  59 - 50      |   ​E ​        ​| ​ dostatečně ​   |
 +|  49 a méně ​   |   ​F ​        ​| ​ nedostatečně ​ |
 +
 +=== Závěrečný test ===
 +Závěrečný test trvá 90 minut a skládá se z 10 otázek, každé hodnocené 4 body. Otázky spadají do následujících kategorií:
 +
 +   * Zaškrtávací
 +      * Otázka má 4 možnosti,
 +      * Správně může být 0 či více možností,
 +      * Za každou správnou odpověď získáte 1 bod, za špatnou 1 bod ztratíte (minimum je 0 bodů za otázku). Tedy např. má-li otázka správné možnosti //a)//, //c)// a student zaškrtne pouze možnost //a)//, získá 2 body, protože za nezaškrtnutí //c)// nejenže nezíská bod, ale zároveň je mu bod stržen za chybnou odpověď.
 +      * **Příklad**
 +         * Vyberte pravdivá tvrzení
 +            * a) JPA slouží k odstínění uživatele od konkrétního druhu databázové technologie (souborový systém, relační databáze, NoSQL databáze, atp.), nikoliv však od její konkrétní implementace (PostgreSQL,​ MySQL, atp.).
 +            * b) Metodu EntityManager.persist() je možné použít na objekt, který má hodnotu identifikátoru (@Id) různou od null.
 +            * c) Perzistentní jednotka (Persistence Unit) slouží k popisu struktury konkrétní databáze a je tak sdílena více perzistentními kontexty.
 +            * d) Inverzní stranu obousměrného vztahu nelze použít pro modifikaci daného vztahu.
 +   * Analytická
 +      * Otázka obsahuje část kódu a úkolem studenta je:
 +         * Vysvětlit, co daný kód dělá,
 +         * Odhalit chybu v kódu,
 +         * Vysvětlit, proč daný kód nebude dělat to, co se od něj očekává apod.
 +      * ** Příklad ** 
 +          * Následující kód (metoda EnterpriseInformationSystem.addPerson) využívá framework Spring. Má umožnit přidání jména uživatele do hlavního repozitáře systému, a zálohování tohoto jména v druhém, záložním,​ repozitáři. Vysvětlete,​ jak předložený kód po zavolání metody addPerson funguje a co vypíše na konzoli.
 +<code java>
 +@Component
 +@Scope("​prototype"​)
 +public class EnterpriseInformationSystem {
 +@Autowired
 +private PersonRepository repository;
 +@Autowired
 +private PersonRepository backupRepository;​
 +...
 +public void addPerson(String name) {
 + repository.getPersons().add(name);​
 + backupRepository.getPersons().add(name);​
 +
 + repository.getPersons().clear();​
 + System.out.println(backupRepository.getPersons().size());​
 +}
 +}
 +</​code>​
 +<code java>
 +@Component
 +@Scope("​singleton"​)
 +public class PersonRepository {
 + private List<​String>​ persons;
 +public List<​String>​ getPersons() { return persons; }
 +}
 +</​code>​
 +   * Syntetická
 +      * Úkolem bude v pseudokódu naimplementovat nějakou funkcionalitu,​
 +      * Nebo popsat postup implementace nějaké funkcionality.
 +      * ** Příklad **
 +          * Jaké technologie využívá Spring pro implementaci horizontálních služeb (cross-cutting concerns). např. transakční přístup k metodám, autorizace přístupu k metodám, atp. Jak daná technologie funguje ?
 +
 +
  
courses/b6b33ear/hodnoceni.txt · Last modified: 2017/10/02 09:44 by kremep1