Syllabus pre druhý semester

Week 1	Zopakovanie dezajnového receptu; akumulátory

	programovanie: DrRacket  -  praktikum akumulátorov

Week 2	Definície dát: struct v DrRacket vs. Class v Jave; triedny diagram
	reference; varianty dot; data so spätnou väzbou; príklady dát; Java syntax

	programovanie: definície dot - tried, triedy s referenciou, varianty data so spatnou väzbou	priprav návrh na hru

Week 3	Metódy pre triedy, triedy s referenciou, varianty; kreslenie geometrických tvarov

	programovanie: metódy pre triedy, triedy s referenciou; testy pre približné hodnoty; kreslenie scény hry

Week 4	Metódy pre tried so spätnou väzbou; komplexné zostavy dot; meted pre triedu String

	programovanie: mobile, vyhodnotenie políčiek Excel tabuľky (komplexné zostavy tried so spätnou väzbou)

Week 5	Eclipse; Variany konštruktorov - zaistenie že dáta sú správne definované, ...

	programovanie: abstraktné triedy; metódy pre komplexné zostavy tried; GPS inštrukcie

Week 6	Funkcie ako objekty

	programovanie: funkcie ako objekty

Week 7	Zmena stavu objektu (mutácia); ekvivalencia rôzneho druhu

	programovanie: Zmena stavu objektu (mutácia); ekvivalencia rôzneho druhu; 
	dáta s cirkulárnymi referenciami

Week 8	Abstrakcie typov dát: parametrizované typy

	programovanie: parametrizované typy; dátové štruktúry s indexovým prístupom (ArrayList); 
	abstraktné typy dát -- Stack/Queue

Week 9	Cykly (Java for, while, for-each, iterátory); Interakcie s používateľom cez text; hra v imperatívnom štýle

	programovanie: Eliza, Inzerčné zoradenie (loops)

Week 10	HashMap; zoradenie (quicksort, mergesort); JUnit

	programovanie: HashMap; JUnit; quicksort; používanie knižníc (analýza Hamleta)

Week 11	Stress tests; priority queue

	programovanie: Heapsort; stress tests

Week 12	Interakcie s používateľom (GUIs)

	programovanie: záverečný projekt
		- Grafové Algoritmy s vizualizáciou
		- Spracovanie obrazov z Marsu (Image processing)
		- Spievajúci žabiak
		- Klient-server hra