PB162 Programování v jazyce Java

Fakulta informatiky
podzim 2005
Rozsah
2/2. 4 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: z.
Vyučující
prof. RNDr. Tomáš Pitner, Ph.D. (přednášející)
Ing. Petr Adámek (cvičící)
Mgr. Luděk Bártek, Ph.D. (cvičící)
Mgr. Pavel Drášil, Ph.D. (cvičící)
RNDr. Tomáš Gregar (cvičící)
RNDr. Vladimír Kadlec, Ph.D. (cvičící)
Mgr. Petr Lohnický (cvičící)
RNDr. Zuzana Nevěřilová, Ph.D. (cvičící)
doc. RNDr. Radek Ošlejšek, Ph.D. (cvičící)
RNDr. Jan Pavlovič, Ph.D. (cvičící)
Mgr. Lukáš Svoboda (cvičící)
RNDr. Aleš Zlámal (cvičící)
Garance
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh
Po 14:00–15:50 D3, Út 12:00–13:50 D3
  • Rozvrh seminárních/paralelních skupin:
PB162/01: Po 10:00–11:50 B130, P. Adámek
PB162/02: Po 12:00–13:50 B130, P. Adámek
PB162/03: Po 18:00–19:50 B130, L. Bártek
PB162/04: Čt 16:00–17:50 B117, L. Bártek
PB162/05: Čt 18:00–19:50 B117, L. Bártek
PB162/06: Út 16:00–17:50 B117, T. Gregar
PB162/07: Čt 14:00–15:50 B117, P. Drášil
PB162/08: Út 12:00–13:50 B117, P. Drášil
PB162/09: Út 14:00–15:50 B117, T. Gregar
PB162/10: St 18:00–19:50 B117, V. Kadlec
PB162/11: Čt 8:00–9:50 B117, P. Lohnický
PB162/12: St 12:00–13:50 B117, Z. Nevěřilová
PB162/13: St 14:00–15:50 B117, Z. Nevěřilová
PB162/14: Po 12:00–13:50 B117, R. Ošlejšek
PB162/15: Út 18:00–19:50 B117, R. Ošlejšek
PB162/16: Út 10:00–11:50 B117, J. Pavlovič
PB162/17: St 16:00–17:50 B117, J. Pavlovič
PB162/18: Pá 12:00–13:50 B117, L. Svoboda
PB162/19: St 10:00–11:50 B117, A. Zlámal
PB162/20: Čt 10:00–11:50 B117, A. Zlámal
Předpoklady
Znalost procedurálního programovacího jazyka (typicky Pascal, C).
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 300 stud.
Momentální stav registrace a zápisu: zapsáno: 0/300, pouze zareg.: 0/300, pouze zareg. s předností (mateřské obory): 0/300
Mateřské obory/plány
předmět má 15 mateřských oborů, zobrazit
Cíle předmětu
Cílem je seznámit studenty se základy moderního objektového a událostmi řízeného programování v jazyce Java. Student zvládne absolvováním kurzu kromě nezbytných pojmů a syntaxe daného jazyka také analýzu, návrh a implementaci základních datových struktur a algoritmů. Pozná a prakticky zvládne základní principy událostmi řízeného programování (interaktivních programů) jak na příkladu uživatelských rozhraní, tak na příkladu komunikace jednoduchých komponent (objektů).
Osnova
  • Úvod do jazyka Java vč. srovnání. Životní cyklus javového programu, základní nástroje.
  • Základní pojmy objektového programování - třída, objekt; proměnná a metoda objektu a třídy.
  • Základní programové konstrukce, primitivní datové typy, objektové typy a pole.
  • Spolupráce a komunikace mezi objekty, výměna zpráv.
  • Základní programátorské konvence - styl psaní zdrojového textu, dokumentační komentáře.
  • Zapouzdření, dědičnost, polymorfizmus. Hierarchie tříd. Architektura javových programů - metody, třídy, balíky.
  • Rozhraní a třídy, abstraktní třídy. Přístupová práva.
  • Výjimky, princip jejich použití.
  • Testování jednotek javových programů, nástroj junit. Distribuce javových programů.
  • Kontejnery v Javě2.
  • Vstupy/výstupy v Javě.
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
Metody hodnocení
V průběhu semestru jsou na cvičeních zadávány úlohy (celkově za 40 bodů). Hodnotí se nejen splnění zadání a korektnost algoritmu, ale i jeho efektivita, stejně jako elegance řešení a kvalita dokumentace. Kromě toho je v průběhu semestru psána jedna písemka (25 bodů) u počítače. Praktickou formou u počítače je vedena závěrečná zkoušková písemka (35 bodů). Na úspěšné ukončení zkouškou je požadováno dosažení alespoň 70 bodů celkem, pro ukončení zápočtem postačí 50 bodů.
Informace učitele
Podrobná osnova: Úvod do jazyka Java - principy, historie, srovnání, životní cyklus javového programu, základní nástroje. Jednoduché konzolové aplikace.
Základní pojmy objektového programování - třída, její instance (objekt), proměnná a metoda objektu a třídy.
Základní programové konstrukce (větvení, cykly, operátory), primitivní datové typy, objektové typy a pole.
Spolupráce a komunikace mezi objekty, výměna zpráv.
Základní programátorské konvence - styl psaní zdrojového textu, pojmenovávání, dokumentační komentáře.
Zapouzdření, dědičnost, polymorfizmus. Hierarchie tříd. Architektura javových programů - metody, třídy, balíky.
Specifikace požadavků vs. implementace. Rozhraní a třídy, abstraktní třídy. Modifikátory přístupových práv.
Výjimky, princip jejich použití. Standardní výjimky a návrh vlastních výjimek.
Testování javových programů, nástroj junit.
Kontejnery v Javě2.
Vstupy/výstupy v Javě.
Distribuce javových programů, archívy .jar.
Událostmi řízené programování. Základní principy výstavby a činnosti uživatelských rozhraní.
Mírně pokročilé programování v Javě - základní návrhové vzory.
Nástroje a rozšíření Javy.
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
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 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, jaro 2025.