Search
Cílem semestrální práce je ověřit znalosti nabyté v rámci přednášek a cvičení, a umožnit studentům vyzkoušet si práci na větším projektu v Javě. Semestrální práci je možno vykonávat samostatně či ve dvojicích, větší skupiny nejsou dovoleny. Při práci ve dvojici se předpokládá, že rozsah celé práce bude větší než při samostatné práci. Studenti v týmu mohou být z různých paralelek - v tom případě se ale domluví s oběma cvičícími, u kterého z nich budou práci odevzdávat.
Téma semestrální práce si můžete určit sami, a pro formalizaci zadání je určen první checkpoint (viz níže); případně si můžete vybrat jedno z předpřipravených témat níže. V tom případě se však očekává, že dané zadání “obohatíte” o vlastní netriviální funkcionalitu. Předpřipravená zadání vám také mohou sloužit jako vodítko pro vlastní téma, abyste stanovili dostatečný rozsah práce. Rozsah bude případně korigován vašim cvičícím v jednotlivých checkpointech.
Nehledě na vybrané téma musí každá odevzdaná práce splňovat následující požadavky:
Timer
public
V případě nesplnění některého z požadavků bude práce výrazně penalizována či vrácena studentovi k dopracování.
Průběžná práce a samotné odevzdání semestrálních prací probíhá ve třech “Checkpointech”, a to vždy v GitLab projektu, který vám byl automaticky založen na začátku semestru, a který naleznete na adrese https://gitlab.fel.cvut.cz/B252_B0B36PJV/username - tedy např. https://gitlab.fel.cvut.cz/B252_B0B36PJV/novakjan. Jednotlivé checkpointy zároveň vždy nahrajte i pod patřičný upload do BRUTE.
https://gitlab.fel.cvut.cz/B252_B0B36PJV/username
https://gitlab.fel.cvut.cz/B252_B0B36PJV/novakjan
Cílem tohoto odevzdání je formalizovat zadání, na kterém budete dále pracovat. Zadání bude odevzdáno ve formě PDF dokumentu (případně wiki stránce ve vašem GitLab projektu) o rozsahu ~2x A4, ve kterém je popsáno kompletní fungování aplikace z pohledu uživatele, a který by měl obsahovat:
V této fázi byste tedy měli mít podrobně vymyšlený celý projekt, a mělo by stačit se pustit do programování. Pro inspiraci si můžete prohlédnout, jak by měla vypadat správně odevzdaná vize projektu, a jak naopak špatná (vč. komentářů, co je na dokumentu špatně).
Cvičící bude hodnotit podrobnost dokumentu, jeho formu i rozsah celé práce.
V rámci druhého checkpointu připravíte ve svém repozitáři (a odevzdáte pod patřičný upload do BRUTE):
Po tomto odevzdání by se základní struktura kódu neměla výrazně lišit, a mělo by stačit pouze doimplementovat předpřipravené třídy.
Poslední checkpoint je zaměřen nejen na dokončení celého projektu dle zadání z CP1, ale i finální prezentaci, jejíž formu vám sdělí cvičící na hodině.
Součástí odevzdání je i uživatelská dokumentace, která může být formou uživatelského manuálu, a která zahrnuje všechny podstatné aspekty aplikace (včetně jejího spuštění!). Inspirací vám může být například tato příručka pro hru FlatOut UC.
Dokončena by měla být i technická dokumentace, obohacena o dokumentaci ve formátu JavaDoc (není třeba generovat HTML formu!). Pokud bude použita komunikace po síti, doporučuje se specifikovat komunikační protokol - tedy jaká data a v jakém formátu se budou mezi serverem a klientem posílat.
Jiný termín odevzdání je možný pouze ve výjimečných případech (nemoc, apod.) a po předchozí domluvě s cvičícím minimálně týden před oficiálním deadlinem!
Za semestrální práci vám může být uděleno maximálně 45 bodů; minimálně však musíte získat:
Práce jsou hodnoceny dle následující tabulky:
Pozdní odevzdání každého z “checkpointů” je penalizováno 1b za každých započatých 72h.