Tomáš Pitner, Radek Ošlejšek, Marek Šabo, Jakub Čecháček pitner@muni.cz
Prakticky zaměřený bakalářský předmět
Cílem je naučit základním principům objektového návrhu prostřednictvím jazyka Java.
Zde je důraz na kvalitní objektový návrh a implementaci, styl, konvence.
Hlavní rozcestník pro všechny informace
Základy programování a algoritmizace:
IB111 Základy programování (Python)
PB071 Principy nízkoúrovňového programování (jazyk C)
Základy objektově orientovaného programování:
PB006 Principy programovacích jazyků a OOP
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
teoretické znalosti pojmů OOP (třída, objekt, paměťová reprezentace objektů, zapouzdření, polymorfismus)
typová kontrola, prostory jmen
metody předávání parametrů, přetížené a generické funkce
základní koncept výjimek
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á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.
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.
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 jarním semestru PV249 Vývoj v Ruby
v podzimním návazný PV256 Projekt z programování pro Android
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
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
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
vždy v kanc. C218
Út 10.00 — 11.30
nebo jindy, dle dohody
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ů)
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
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)