Detaily kurzu
Jde o kurz pro začátečnice.
Více než tvrdé znalosti (naučit vás kompletní syntax Javy a její knihovny), se vás budeme snažit naučit měkké znalosti (myšlení, programovací stereotypy, "jak na to"). Tvrdé znalosti si potom můžete donačíst z knížek. O Javě jich existuje hned několik a jsou výborné.
Prvním cílem je tedy vás uvést do programátorského myšlení.
To znamená: Jaké problémy můžete programováním / Javou řešit;
jak k nim přistoupit; jak si namodelovat problémovou doménu;
jak napsat program.
Ale žádný strach, nepůjde o teorii. Jsem zastáncem toho,
že člověk se nejlépe učí praxí a teorii si vybuduje sám.
Až následně si ji pak může "doformalizovat" opravdovým studiem teoretických knih.
Druhý cíl je naučit vás 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í balík vašeho programu, aby si ho mohli spustit i ostatní. V tomto bodě jde vlastně o to, abyste si zvykly na běžnou programátorskou praxi.
Budeme pracovat typicky na malých hrách (Angry Birds, pexeso, a podobně). Budete mít většinu programu hotovou, bude potřeba jen dokončit chybějící kousky.
Cíle vycházejí z mého pozorování začátečnic na předchozích kurzech Czechitas.
Podobně jako když se chcete začít učit anglicky, nenaučíte se to za 3 měsíce. Věřím ale, že po našem kurzu budete připravené si pořídit pořádnou učebnici Javy a efektivně se z ní Javu se všemi kudrlinkami naučit. Po absolvování kurzu budete schopné psát malé prográmky v Javě. Buď na práci s daty (pomocí Javy načtu excelový soubor, upravím, uložím) nebo jednoduché interaktivní aplikace pro Windows/Linux/Mac. Až se naučíte Javu, můžete dál pokračovat třeba k vývoji aplikací pro Android nebo k vývoji webových aplikací (typu eshop nebo třeba napsat vlastní Facebook :-).
Orientační osnova lekcí
- Práce s existujícími objekty uvnitř metody
- Algoritmizace s existujícími objekty, podmínky, opakování, Proměnné
- Okenní aplikace, metody
- Instanciování objektů z existujících tříd
- Psaní vlastních tříd
- Modelování světa do tříd
- Uživatelské rozhraní, okna, tlačítka (JFC Swing)
- Trocha práce se soubory