4IT101 Programování v Javě - cvičící Tomáš Michalička ZS 2019/2020

Kontakt

Mimo mail mě můžete najít na LinkedInu, Facebooku a jinde.

Pokud by Vás náhodou nezaujala část 1. cvičení, kde se řeší administrativa a představení předmětu, můžete pomoci ménu kolegovi s vyplněním dotazníku o fintech v Čechách (a na Moravě též). ;-)

Bodování

Úkol Počet bodů Poznámka
Domácí úkoly 20 4 domácí úkoly po 5 bodech
Průběžné testy (teorie) 10 2 testy v Insis po 5 bodech
Test - programování 10 Doporučená příprava na test
Semestrální práce 30 Podrobnosti na stránkách předmětu.
Závěrečný test 30 Podrobnosti na stránkách předmětu.

V případě aktivity na cvičeních je možné získat bonusové body.

Harmonogram

Program cvičení je orientační a bude upravován podle toho, jak budeme stíhat probrat látku. Důležité je, abyste si ze cvičení něco odnesli (i za cenu toho, že to bude trvat déle).

Sešit pro sdílení promítaného kódu je zde.

Týden výuky Datum Téma cvičení Projekt Poznámka
1 18.9.2019 Představení kurzu, seznámení s BlueJ, třída, instance, primitivní datové typy, metody, první aplikace - -
2 25.9.2019 Zapouzdření objektů, jmenné konvence, modifikátory přístupu, PMD -
3 2.10.2019 Rozhraní, pole, základní algoritmické konstrukce - Zadání 1. domácího úkolu
4 9.10.2019 Testování a ladění - 1. teoretický test
5 16.10.2019 Cykly, kolekce (1. část) Odevzdání 1. domácího úkolu, zadání 2. domácího úkolu
6 23.10.2019 IntelliJ IDEA, kolekce (2. část), hashCode, enum, obalové třídy primitivních typů -
7 30.10.2019 Statické prvky třídy, metoda main, třída Math, třída System, Řětězce Testové závislosti Odevzdání 2. domácího úkolu
8 6.11.2019 Praktický test Zadání testu, Testové závislosti -
9 13.11.2019 Představení semestrálního projektu, mapy - Zadání 3. domácího úkolu
10 20.11.2019 Dědičnost, abstraktní třídy, třídění a vyhledávání (1. část) - odevzdání 3. domácího úkolu
11 27.11.2019 Třídění a vyhledávání (2. část), práce se soubory Projekt z minula Zadání 4. domácího úkolu, 2. teoretický test
12 4.12.2019 Java 8 - -
13 11.12.2019 Téma na přání - Odevzdání 4. domácího úkolu
- 31.12.2019 23:59:59 Odevzdání semestrální práce - -

Zadání domácích úkolů

1. domácí úkol

Implementujte hru Myslím si číslo. Stáhněte si projekt.

Je zde jeden interface, kde je popis chování jednotlivých metod. Do interface nezasahujte!

Dále je zde Main třída s main metodou. Ta slouží ke spuštění a otestování hry. Ani tuto třídu neměňte. Pokud zde narazíte na chybu, dejte mi prosím vědět.

Nakonec je zde třída Hra. Implementujte zde interface IHra podle popisu v javadoc.

Do odevzdávárny vložte zip, který obsahuje zdrojové kódy.

2. domácí úkol

Implementujte interface z projektu podle javadoc. Třídu Student upravte podle potřeby, zadány jsou v ní jen povinné atributy.

Každou metodu otestujte unit testem.

Do odevzdávárny vložte zip, který obsahuje zdrojové kódy.

3. domácí úkol (Zadání semestrální práce)

Ve 3. domácím úkolu nebudete nic programovat. Projděte si požadavky na semestrální práci. Následně připravte zadání vlastní semestrální práce, které bude obsahovat:

  1. Příběh jak hra začíná, tj. uvedení do příběhu, co se stalo a co je hráčovým úkolem. Tento text pak budete hráči zobrazovat při spuštění hry.
  2. Plánek hry (obrázek), jaké prostory bude hra obsahovat a jak jsou propojeny.
  3. Popis toho, co bude muset hráč udělat, aby hru vyhrál. Případně také, co se stane, když některé úkoly nesplní (špatné konce hry).
  4. Seznam příkazů, které bude moci hráč při hře používat.

Odevzdejte jako soubor ve formátu pdf.

4. domácí úkol

Vaším úkolem je implementovat program, který bude mít 2 vstupy:

  1. Název čteného souboru
  2. Název výstupního souboru

Program načte vstupní soubor (ve formátu csv - vzor) a spočítá nad ním následující statistiky, které zapíše do výstupního souboru:

  1. Počet buněk s textem
  2. Počet buněk bez textu
  3. Počet všech řádků v souboru
Pro vzorový soubor by tak měl vytvořit tento výstup.

Odevzdejte zip, který obsahuje následující:

Předchozí semestry