Programování v jazyce Java Profil • Prakticky zaměřený bakalářský předmět • Cílem je naučit základním principům objektového návrhu a programování. • Všechny materiály k přednášce jsou v IS MU. Předchozí předměty IB111 IB111 Základy programování, kde studenti získávají • základní znalosti programování (Python) • znalost základních příkazů, řídicí struktury, pole • částečnou znalost objektového přístupu Předchozí předměty PB071 PB071 Principy nízkoúrovňového programování, kde studenti získávají • znalost syntaxe jazyka C • znalost základních datových typů • znalost vnitřních struktur Předchozí předměty IB002 IB002 Algoritmy a datové struktury I, kde studenti získávají • základy algoritmizace vč. datových struktur Předpoklady obecně Předpokládají se základní znalosti strukturované algoritmizace a programování, tj.: • základní příkazy, sestavování jednoduchých výrazů; • základní datové typy (celá a reálná čísla, logické proměnné, řetězce); • základní řídicí struktury — větvení, cykly, procedury/funkce. 1 Návaznosti PV168 Na tento základní kurz PB162 navazují na úrovni Bc. studia: PV168 Seminář z jazyka Java (podzim) • náplní je zvládnutí Javy umožňující vývoj jednodušších praktických aplikací s GUI, databázemi, základy webových aplikací. • V průběhu semestru se pracuje na uceleném projektu formou párového programování plus některých individuálních úloh. • Učí kolektiv zkušených cvičících pod vedením Tomáše Pitnera, Luďka Bártka, Petra Adámka a Martina Kuby. Návaznosti PB138 PB138 Moderní značkovací jazyky (jaro) • náplní jsou XML a související technologie, • prvky týmového vývoje (projekty, využití služeb hostování projektů, jako je GitHub). • Učí kolektiv zkušených cvičících pod vedením Luďka Bártka a Tomáše Pitnera. Návaznosti pokročilých předmětů PA165 PA165 Vývoj aplikací v jazyce Java (podzim) • pokročilejší předmět spíše magisterského určení, předpokládá znalosti/zkušenosti z oblasti databází, částečně sítí a distribuovaných systémů, a také Javy zhruba v rozsahu PB162 a PV168. • Náplní je zvládnutí netriviálních, převážně klient/server aplikací na platformě JavaEE. Návaznosti — webový vývoj Problematice webových a mobilních aplikací se na FI věnují např. • každý semestr PV226 Seminář Lasaris • v jarním semestru PV219 Seminář webdesignu • v podzimním semestru předmět PV247 Moderní uživatelská rozhraní • v jarním semestru PV239 Mobilní platformy • v podzimním návazný PV256 Projekt z programování pro Android Hodnocení a harmonogram předmětu • Harmonogram přednášek i cvičení 2 • Hodnocení O přednášejícím - Radek Ošlejšek • pracovna A305 (budova A1 FI) laboratoře Lasaris • tel. 54949 6121 (z tlf. mimo budovu), kl. 6121 (volání v rámci fakulty i celé MU) • e-mail: oslejsek(at)fi.muni.cz • Web RO: Osobní stránka RO O přednášejícím - Tomáš Pitner • pracovna C218, • příp. kanc.správy Vědecko-technologického parku CERIT (1.NP/přízemí budovy A2); • tel. 54949 5940 (z tlf. mimo budovu), kl. 5940 (volání v rámci fakulty i celé MU) • e-mail: pitner(at)muni.cz • Web: Osobní web TP Konzultační hodiny • Primárním konzultačním bodem jsou vaši cvičící. • Cvičení jsou vedena mj. právě z důvodu možnosti konzultací. • Konzultace přímo s přednášejícími Tomáš Pitner vždy v kanc. C218 • Út 10.00 — 11.30 • nebo jindy, dle dohody Informační zdroje (knihy) • Rudolf Pecinovský: Myslíme objektově v jazyku Java nebo • Java 7 — Učebnice objektové architektury pro začátečníky Grada Publishing • Rudolf Pecinovský: Java 5.0 — Novinky jazyka a upgrade aplikací (fulltext v PDF zdarma) • Tomáš Pitner: Java — začínáme programovat, Grada Publishing, 2002, doprovodný web knihy (učebnice je orientovaná na Javu 1.4 a nižší; většina poznatků je platných i nadále, ale v Javě 5 až 8 se objevila řada nových prvků) • Pavel Herout: Učebnice jazyka Java, Kopp, 2000-2010, doprovodný web knihy • příp. i Pavel Herout: Java — grafické uživatelské rozhraní a čeština, Kopp, 2001 — pro pokročilé 3 Informační zdroje (knihy) V knihovně FI k dispozici • Pecinovský: Java 14…(2ks) • Martin: The Clean Coder…. (1 ks) • Martin: Clean Architecture…. (1 ks) • Krochmalski: Docker and Kubernetes for Java Developers (2 ks) • Havelka: JUnit 5 …. (1ks) • Virius: Java programování podprocesů (2 ks) • Urma: Modern Java in Action…. (2ks) • Bloch: Effective Java - Third edition (2 ks) • Daschner: Architecting Modern Java EE Applications…. (2 ks) Ostatní • Bruce Eckel: Myslíme v jazyce Java — příručka programátora, Grada Publishing , 2000 • příp. Bruce Eckel: Myslíme v jazyce Java — příručka zkušeného programátora, Grada Publishing , 2000 — pro pokročilé • Joshua Bloch: Java efektivně — 57 zásad softwarového experta, Grada Publishing • Bogdan Kiszka: 1001 tipů a triků pro programování v jazyce Java, Computer Press, 2003 • Bruce Eckel: Thinking in Java Stáhnout zdarma (PDF) 4