Archivovaná stránka (Jazyk Java 1 2021/2022)
Základní informace
Stránka předmětu ve STAGu.
V případě jakýchkoliv dotazů k seminářům nebo jejich obsahu mě neváhejte kontaktovat (kontakty zde).
Účast na seminářích není povinná, ale důrazně ji doporučuji.
Zápočty
Pro získání zápočtu potřebujete splnit alespoň 7 z 10 pravidelných úkolů a odevzdat semestrální projekt splňující požadavky.
Pravidelné úkoly
Pravidelné úkoly budou zadávány na seminářích (první úkol na semináři 2, poslední na semináři 12). Na každý úkol budete mít čas do dalšího semináře (tj. týden). Úkoly budou menšího rozsahu a slouží k procvičení látky z daného semináře.
K odevzdávání úkolu budeme používat GitHub classrooms. To umožní okamžitou zpětnou vazbu pomocí automatických testů, tedy pohodlnější práci na úkolech.
U každého úkolu můžete odevzdat libovolný počet verzí, v potaz bude brána jen ta poslední. Nebojte se tedy experimentovat a využívat automatických testů jako okamžité zpětné vazby. Stejně tak se nebojte ozvat, pokud něco není jasné, nebo pokud máte nějaký dotaz.
Po vypršení času budou všechny odevzdané úkoly zkontrolovány ručně a bude poskytnuta zpětná vazba. Případné nedodělky či chyby budete moci opravit do dalšího semináře. Po tomto termínu (dva týdny po zadání) už bude úkol uzavřen a nebude jej možné dále plnit. O splnění úkolu či výhradách budete informováni přes GitHub classrooms.
Více k použití GitHub classrooms na druhém semináři.
Semestrální projekt
Semestrální projekt by měla být netriviální (posuzuje vyučující) aplikace nebo knihovna (s ukázkou použití) pokrývající učivo probrané během semestru. V ideálním případě by výsledkem měla být skutečně použitelná aplikace nebo knihovna.
Projekt musí být odevzdán nejpozději v čase semináře v zápočtovém týdnu.
Plagiátorství
Z webu katedry:
“Pokud se student dopustí plagiátorství, opisování při písemném testu, opisování při práci na domácím úkolu nebo se jiným způsobem pokusí o podvod, zahájí s ním vedoucí katedry kárné řízení. Pokud se takové jednání studenta opakuje, vedoucí katedry navrhne děkanovi fakulty vyloučit studenta ze studia.”
Všechny úkoly budou mimo automatických testů kontrolovány i vyučujícím a MOSSem. Pokud bude odhalena příliš velká shoda, budou všichni studenti, kterých se to týká, nahlášeni vedení katedry. Za daný úkol navíc nebudou moci získat žádné body.
Tabulka s plněním úkolů
Zde je tabulka se seznamem úkolů a informacemi o jejich stavu pro každého studenta (identifikátor je STAG id).
Projekty
Objevilo se několik žádostí o nějakou inspiraci pro téma projektu. Zatím nejčastější témata jsou:
- Perzistentní databáze něčeho (knihy, hry, potraviny, obecný majetek, …) s konzolovým rozhraním a nějakou rozšiřující funkcionalitou plynoucí z povahy evidovaných věcí.
- Konzolová hra (textová adventura/RPG, konzolová verze nějaké známé karetní/stolní hry s jednoduchým počítačovým hráčem a nějakým ozvláštněním pravidel).
Další návrhy:
- Netriviální příspěvek do nějakého open-source projektu psaného v javě.
- Knihovna (s ukázkou) pro práci s metadaty vybraných souborových typů.
- Konzolová hra/výukový program s roboty z úkolů (mnoho možných modifikací: více levelů, kapacita/baterie, překážky, teleporty, ukládání/načítání, …)
Plán seminářů
Plánovaný obsah jednotlivých seminářů. Během semestru může dojít ke změnám dle aktuální situace.
- 23.9.2021 obsah
- Platforma Java
- JShell
- Základní konstrukce jazyka
- 30.9.2021 obsah
- IDE
- Primitivní datové typy
- Operátory
- GitHub classroom
- 7.10.2021 obsah
- Úvod do OOP - motivace, třídy, objekty, atributy, metody
- Pole
- Řetězce
- 14.10.2021 obsah
- Úvod do OOP - dědičnost, rozhraní, rozsah platnosti
- Záznamy
- 21.10.2021 obsah
- Kolekce
- Generické typy
- 28.10.2021
- Státní svátek, seminář se nekoná.
- 4.11.2021 obsah
- Výjimky
- Výčtové datové typy
- Optional
- 11.11.2021 obsah
- Streamy
- Práce se soubory
- Standardní knihovna
- 18.11.2021 obsah
- Lambda výrazy
- Stream API
- 25.11.2021 obsah
- Balíčky
- Moduly
- Sestavení projektu
- 2.12.2021 obsah
- Vlákna
- Vnořené a anonymní třídy
- 9.12.2021 obsah
- Testování
- Dokumentace
- 16.12.2021
- Rezerva
- Zápočty