Programování v jazyce Java

Tomáš Pitner, Radek Ošlejšek, Marek Šabo

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.

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ř.

Hodnocení a harmonogram předmětu

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)

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)