PB162 Programování v jazyce Java

Fakulta informatiky
jaro 2025
Rozsah
2/2/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: z.
Vyučováno kontaktně
Vyučující
doc. RNDr. Radek Ošlejšek, Ph.D. (přednášející)
prof. RNDr. Tomáš Pitner, Ph.D. (náhr. zkoušející)
Bc. Josef Augustín (cvičící)
Mgr. Luděk Bártek, Ph.D. (cvičící)
Bc. et Bc. Ladislav Burgr (cvičící)
Mgr. Jakub Čecháček (cvičící)
Bc. Jakub Judiny (cvičící)
Bc. Petr Kabourek (cvičící)
Bc. Lukáš Kovařík (cvičící)
Bc. Richard Kuděla (cvičící)
Mgr. Martin Lazar (cvičící)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
Mgr. Matúš Raček (cvičící)
Bc. Patrik Rosecký (cvičící)
Ing. David Rusnák (cvičící)
Bc. Kryštof Suchánek (cvičící)
Mgr. Marek Trtík, Ph.D. (cvičící)
RNDr. Vladimír Ulman, Ph.D. (cvičící)
RNDr. Aleš Zlámal (cvičící)
Bc. Lukáš Bátora (pomocník)
Ing. Pavel Hrdina (pomocník)
Jaroslav Jedlička (pomocník)
Garance
doc. RNDr. Radek Ošlejšek, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Předpoklady
PB006 Principy progr. jazyků a OOP && ! PB112 Základy OOP v jazyce Java && ! NOW( PB112 Základy OOP v jazyce Java )
Tento předmět navazuje na znalosti PB006 Principy programovacích jazyků a OOP a je primárně určen pro bakalářské studijní programy Informatika (INF) a Programování a vývoj aplikací (PVA). Pro studenty ostatních programů, studenty z jiných fakult a studenty minor verzí programů INF a PVA je nově vytvořen předmět PB112.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
předmět má 40 mateřských oborů, zobrazit
Cíle předmětu
V průběhu kurzu student:
získá základní znalosti moderního objektového programování v jazyce Java;
zvládne základy objektového návrhu a implementace v jazyce Java;
porozumí nezbytným pojmům, syntaxi jazyka, seznámí se s vývojovými nástroji;
Výstupy z učení
Student bude po absolvování předmětu schopen:
vysvětlit a použít principy objektového paradigmatu v praxi;
použít základní principy objektového návrhu při programování;
vytvářet programy na platformě Java SE;
efektivně používat vývojové nástroje (IDE, jednotkové testování, git, ...);
Osnova
  • Základní vlastnosti jazyka Java, konstruktory, spolupráce a komunikace mezi objekty
  • Statické proměnné a metody, neměnné objekty, vnořené třídy
  • Rozhraní
  • Dědičnost, polymorfizmus, hierarchie tříd, architektura programu; abstraktní třídy
  • Identita a porovnávání objektů; hašovací funkce; kolekce a mapy
  • Záznamy (record), lambda výrazy, anonymní třídy
  • Datové proudy
  • Defenzivní programování, atomické selhání, výjimky
  • Vstupy/výstupy; principy návrhových vzorů Decorator a Bridge.
  • Jednotkové testování; základní návrhové vzory
Literatura
  • PITNER, Tomáš. Java - začínáme programovat : podrobný průvodce začínajícího uživatele. Praha: Grada, 2002, 222 s. ISBN 8024702959. info
  • ECKEL, Bruce. Myslíme v jazyku Java : knihovna programátora. Praha: Grada, 2001, 431 s. ISBN 8024790106. info
  • Učebnice jazyka JAVA. Edited by Pavel Herout. 1. vyd. České Budějovice: KOPP, 2001, 349 s. ISBN 80-7232-115-3. info
  • ECKEL, Bruce. Myslíme v jazyku Java : knihovna zkušeného programátora. Praha: Grada, 2000, 470 s. ISBN 8024700271. info
Výukové metody
Přednášky s mnoha příklady, praktická projektová cvičení, domácí úlohy.
Metody hodnocení
V průběhu semestru studenti na cvičeních postupně řeší společný projekt. Boduje se průběžné plnění iterací (odevzdání funkčního zdokumentovaného kódu). Další body mohou být udělovány za aktivity na cvičeních. V průběhu semestru se rovněž řeší tři samostatné úkoly, jejichž odevzdání a akceptace cvičícím jsou nutnou podmínkou pro ukončení předmětu. Hodnotí se nejen funkčnost, ale i efektivita, objektová dekompozice nebo kvalita dokumentace. Dále jsou v průběhu semestru dvě bodované zkoušky, které jsou založeny na programování přímo u počítače. Praktickou formou u počítače je vedena i závěrečná bodovaná zkouška, která je komplexnější než předchozí dvě. Závěrečné hodnocení je dáno součtem nasbíraných bodů.
Navazující předměty
Další komentáře
Předmět je vyučován každoročně.
Výuka probíhá každý týden.
Nachází se v prerekvizitách jiných předmětů
Předmět je zařazen také v obdobích podzim 2002, podzim 2003, podzim 2004, podzim 2005, podzim 2006, podzim 2007, podzim 2008, podzim 2009, podzim 2010, podzim 2011, podzim 2012, podzim 2013, podzim 2014, podzim 2015, podzim 2016, podzim 2017, podzim 2018, podzim 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.