Programování v jazyce Java Profil • Prakticky zaměřený bakalářský předmět • Cílová skupina: studenti ne-informatických programů jiných fakult, případně non-dev progrmy na FI - Kyberbezpečnost. • Cílem je naučit základním principům objektového programování. • Algoritmickou stránku věci jste již většinou dostatečně probírali v IB001/IB111. • Zde je důraz na kvalitní objektový návrh a implementaci, styl, konvence. • Všechny materiály k přednášce jsou v IS MU. Předchozí předměty IB111 IB111 nebo IB113 — Základy programování nebo Úvod do programování a algoritmizace, 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 Na FI studenti předtím absolvovali PB071 Principy nízkoúrovňového programování, kde se učí: • znalost syntaxe jazyka C • znalost základních datových typů • znalost vnitřní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 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 Základy webového vývoje a značkovacích jazyků (jaro) • základní postupy a technologie moderního webového vývoje, • učí též prvky týmového vývoje (projekty). • Vede kolektiv zkušených praktiků pod vedením Lukáše Groliga, Tomáše Pitnera a Luďka Bártka. Návaznosti — ostatní 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 Hodnocení a harmonogram předmětu • Harmonogram přednášek i cvičení • Hodnocení O přednášejícím - Radek Ošlejšek • pracovna C326 (budova C FI) • 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 2 O přednášejícím - Tomáš Pitner • pracovna C328, • 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. C328 • Út 10.00 — 11.30 • nebo jindy, dle dohody Informační zdroje (knihy) • Rudolf Pecinovský: Java 14 Grada, 2020 • Rudolf Pecinovský, Jaroslava Pavlíčková: Začínáme programovat v jazyku Java, Grada, 2022 • Rudolf Pecinovský: Java 21 - Kompletní příručka jazyka Grada, 2023 • Tomáš Pitner: Java — začínáme programovat, Grada, 2002 (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ů) Informační zdroje (weby) • Robert Sedgewick and Kevin Wayne: Programming in Java - Computer Science - An Interdisciplinary Approach, Princeton University, 2023 • Robert Sedgewick and Kevin Wayne: Java Programming Cheatsheet, Princeton University • Baeldung: Java Language Basics • Sasha Bondar: Java scientific computing: Performing complex calculations and simulations, April 2023 • JetBrains: Learn Java by Creating Applications • James Hartman: Java Tutorial for Beginners: Learn Core Java Programming • BeginnersBooks: Java Tutorial for Beginners 3 V knihovně FI dále k dispozici • DevOps tools for Java developers : best practices from source code to production containers - https://katalog.muni.cz/Record/MUB01006490162 • Pecinovský, R.: Java 8 - https://katalog.muni.cz/Record/MUB01006355332 • Pecinovský, R.: Java 14 - https://katalog.muni.cz/Record/MUB01006490156 • Roubalová, E.: Java bez přechozích znalostí - https://katalog.muni.cz/Record/MUB01006351493 • Long, F.: Java coding guidelines : 75 recommendations for reliable and secure programs - https://katalog.muni.cz/Record/MUB01000995960 • Havelka, A.: JUnit 5 - https://katalog.muni.cz/Record/MUB01006490158 • Virius, M.: Java programování podprocesů - https://katalog.muni.cz/Record/MUB01006490157 • Urma: Modern Java in Action - https://katalog.muni.cz/Record/MUB01006490163 • Bloch, J.: Effective Java - Third edition https://katalog.muni.cz/Record/MUB01006490159 • Herout, P.: Učebnice jazyka Java - https://katalog.muni.cz/Record/MUB01000847442 • Daschner: Architecting Modern Java EE Applications…. (2 ks) • Martin: The Clean Coder…. (1 ks) • Martin: Clean Architecture…. (1 ks) • Krochmalski: Docker and Kubernetes for Java Developers (2 ks) 4