Procedurálne aspekty jazyka Java - podmienky, cykly. Použitie objektov v Jave.
Triedy a inštancie. Stavové premenné a metódy. Balíčky. Zapúzdrenie.
Špecifikácie viditeľnosti. Dedičnosť. Virtuálne metódy. Polymorfizmus. Kolekcie
- vektory, dynamické polia, množiny. Vstupno-výstupné metódy v jazyku Java.
Interfejsy a vnútorné triedy. Výnimky.

Tvorba samostatných projektov.
Metodika tvorby a konkrétna tvorba projektov - analýza problému, návrh riešenia,
diskusia o riešení z rôznych hľadísk, modifikácia a samotná implementácia.
Zoznámenie sa s návrhovými vzormi (design patterns). Ich znalosť študent
demonštruje jednak na jednom projekte, ktorý si sám vyberie, jednak na písomnom
teste.