Smyslem kurzu je získat měkké znalosti o programování v Javě, rozvinout programátorské myšlení a vyzkoušet si, jak na to.
Uvedení do programátorského myšlení znamená porozumět, jaké problémy lze programováním (Javou) řešit; jak k nim přistoupit; jak si namodelovat problémovou doménu; jak napsat program.
Druhý cíl je naučit studenty běžně používat programátorský editor IntelliJ IDEA. Tedy: Jak založit projekt v editoru IDEA; spustit tento projekt; používat našeptávání; ladit chyby ve vašem programu; jak připravit distribuční vyvíjené appky, aby si ho mohli spustit i ostatní. Jinými slovy, zvyknout si na běžnou programátorskou praxi.
Budeme pracovat typicky na malých hrách (Kočka-myš-sýr, Želva Žofka, malování) nebo se učit modelovat třídy a metody.
Kurz je rozdělen na 3 tématické části:
- Lekce 1-4: Algoritmizace v předpřipravených grafických appkách
- Lekce 5-8: Třídy a objekty v konzolových aplikacích od začátku
- Lekce 9-12: Praktické využití Javy, tvorba malinkých okenních appek
- Rychlé připomenutí podmínek, cyklů, objektů
- Bludiště Angry Birds
- Recept na bublaninu - papírová skládačka
- Domácí úkol: Přepsat skládačku do Javy
- Členění programu na metody (zatím bez parametrů)
- Želví grafika
- Domácí úkol: Složitější útvary se želvou
- Metody s parametry (případně s návratovými hodnotami)
- Želví grafika II
- Domácí úkol: Složitější útvary se želvou
- Opakovací lekce, metody s návratovými hodnotami
- Herní engine - Kočka-Myš-Sýr
- Třídy a vytváření vlastních tříd
- Domácí úkol: Objektový model počítače
- Zapouzdření (public / private, get / set)
- Domácí úkol: Třída datum
- Konstruktory
- Seznamy, opakování tříd, případně dědičnost
- Domácí úkol: Bankovní účty a automatické testy
- Okenní aplikace, grafické komponenty
- Domácí úkol: Farmářka
- Obbsluha událostí
- Praktická desktopová aplikace
- Kreslení
- Domácí úkol: Mandala
- Opakování, distribuce aplikací, závěr
Na kurz je nutné mít nainstalovanou IntelliJ IDEA - Community Edition, JDK a Maven. Doporučujeme použít přednastavené aplikace podle návodu: https://javainstall.czechitas.cz/community/
Kdyby si začátečníci měli sami instalovat individuální aplikace a nakonfigurovat je, nic by se tím nenaučili, jen by s tím zbytečně bojovali. Na začátku jim ty aplikace nic neříkají. Navíc by každý student měl jinak nastavené prostředí, čímž by se hůře řešily potíže.
Kurz probíhá typicky jednou týdně na 2.5 h, tři měsíce.
Je zcela zásadní, aby studenti chodili na všechny lekce a nevynechávali je. Na každé lekci se učí něco nového a snadno by jim jinak mohl ujet vlak.
Druhou zásadní podmínkou je vypracovat všech 8 domácích úkolů. Domácí úkoly mají povinné a dobrovolné části (aby neodradily ani pokročilejší ani začátečničtější studenty). Pozor, každému je třeba věnovat několik hodin. Domácí úkoly se ukázaly jako nejefektivnější způsob, jak se látku naučit. Studenti tím dostávají čas s Javou experimentovat a naučit se řešit problémy samostatně. Je dokonce možné řešit úkoly ve dvojici, případně požádat kouče a lektory o pomoc. Hlavně to ale nevzdat a nevynechávat.
Materiály jsou vystaveny pod Apache Public Licence a můžete je používat, jak uznáte za vhodné. Jedinou podmínkou je uvedení původních autorů. Autor je Kamil Ševeček. Dále přispěli: Ondřej Kučera, Hana Klimentová, Jakub Čecháček.