Table of Contents

Semestrální práce

Témata

Je možné pracovat samostatně nebo ve dvojicích. Semestrální práce v tomto případě bude rozsáhlejší, například se vyžaduje implementace síťové verze hry nebo distribuovaná simulace. Členové týmu nemusí být ze stejného cvičení.

Práce je vyvíjena za pomoci verzovacího systému GIT na http://gitlab.fel.cvut.cz v předem připravených projektech pojmenovaných podle schématu https://gitlab.fel.cvut.cz/B232_B0B36PJV/id_studenta. Dokumentace se píše na stránce Wiki projektu.

Odevzdání

Odevzdání semestrálních prací probíhá ve třech “Checkpointech”, a to vždy v GitLab projektu založeném ve skupině https://gitlab.fel.cvut.cz/B232_B0B36PJV (ne jinde!) - tedy např. https://gitlab.fel.cvut.cz/B232_B0B36PJV/novakjan:

Podmínky pro odevzdání dokumentace

Po dohodě s cvičícím je možné konzultovat materiál i v jiné formě, ale musí z něj být patrné všechny informace, které jsou uvedeny výše.

Student/ka (případně oba členové týmu) se musí zúčastnit konzultace k odevzdání dokumentace v termínech, které oznámí cvičící (obvykle krátce po termínu odevzdání dokumentace do GitLab - viz. výše).

Kompletní práce se odevzdává během dvou posledních týdnů semestru tedy od pondělka 13.5 do konce posledního výukového týdne, tj. do pátku 24. 5. 2024 opět v rámci konzultace s cvičícím. V případě dvojic se oba členové týmu musí zúčastnit konzultace společně. Oba musí rozumět a být schopni odpovědět na otázky ohledně všech částí kódu (tedy ne jen svých).

Dřívější termín odevzdání je možné pouze po domluvě s cvičícím. Pozdější odevzdání je možné pouze ve výjimečných případech (nemoc, apod.) po domluvě s cvičícím

Technické požadavky na semestrální práci

  1. Bude dokladovatelný progres projektu na GitLab. Průběžně (každou hotovou funkcionalitu s popisem) commitují všichni členové týmu. Pozor: neadekvátně málo commitů (velmi orientačně: méně než 10) obvykle vzbudí u cvičících (oprávněné) podezření na plagiát!
  2. Projekt bude v Mavenu.
  3. Oba účastníci projektu musí podílet na tvorbě GUI. Alespoň jedno netriviální okno bude vytvořeno bez požití Designeru v Netbeans nebo jiném “klikacím” nástroji.
  4. V projektu student předvede schopnost správně použít vlákna (za to se nepovažuje použití např. třídy Timer). Například vytvořením hodin reálného času, které interagují s průběhem hry.
  5. Několik netriviálních tříd bude pokryto unittesty nebo komplexnějším funkčním testem. Bude použit libovolný testovací framework.
  6. Budou použity loggery. Logovací zprávy bude možno zapnout nebo vypnout parametrem při spuštění.
  7. Veškeré netriviální public prvky v programu musí mít smysluplný Javadoc. Za triviální se považují například jednoduché gettery a settery bez vedlejších efektů, ty Javadoc nepotřebují.
  8. Všechny netriviální části kódu budou vhodně okomentovány.
  9. Ve Wiki projektu musí být aktuální a použitelný uživatelský manuál a technická dokumentace programu - jeho vlastností, struktura projektu, použité technologie podle výše popsaných podmínek. Pozor, nejedná se o Javadoc!
  10. Všechno kromě dokumentace na GitLabu musí být v angličtině. Anglicky musí být i Javadoc.