FI:PB162 Programování Java - Informace o předmětu
PB162 Programování v jazyce Java
Fakulta informatikyjaro 2022
- Rozsah
- 2/2/0. 3 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í)
doc. RNDr. Radek Ošlejšek, Ph.D. (přednášející)
Mgr. Luděk Bártek, Ph.D. (cvičící)
Mgr. Jakub Čecháček (cvičící)
RNDr. Karolina Dočkalová Burská, Ph.D. (cvičící)
Mgr. Lukáš Gryga (cvičící)
Ing. Dominik Lašo (cvičící)
Mgr. Ľuboslav Pivarč (cvičící)
Mgr. Ondrej Ponteš (cvičící)
Mgr. Matúš Raček (cvičící)
Ing. Adam Radvan (cvičící)
Ing. David Rusnák (cvičící)
Mgr. Jakub Smadiš (cvičící)
RNDr. Ing. Pavel Šeda, Ph.D. (cvičící)
RNDr. Vladimír Ulman, Ph.D. (cvičící)
RNDr. Aleš Zlámal (cvičící)
Ing. Pavel Hrdina (pomocník)
Bc. Eduard Štefan Mlynárik (pomocník)
doc. Mgr. Karel Slavíček, Ph.D. (pomocník)
Mgr. Alžbeta Strompová (pomocník)
Bc. Kryštof Suchánek (pomocník) - Garance
- prof. RNDr. Tomáš Pitner, 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 - Rozvrh
- St 16. 2. až St 11. 5. St 14:00–15:50 D2, Čt 17. 2. až Čt 12. 5. Čt 8:00–9:50 D3
- Rozvrh seminárních/paralelních skupin:
PB162/02: Pá 18. 2. až Pá 13. 5. Pá 12:00–13:50 A215, K. Dočkalová Burská
PB162/03: Čt 17. 2. až Čt 12. 5. Čt 10:00–11:50 A219, L. Bártek
PB162/04: Po 14. 2. až Po 9. 5. Po 10:00–11:50 A215, L. Bártek
PB162/05: Po 14. 2. až Po 9. 5. Po 12:00–13:50 A215, M. Raček
PB162/06: Pá 18. 2. až Pá 13. 5. Pá 12:00–13:50 B130, M. Raček
PB162/07: Po 14. 2. až Po 9. 5. Po 8:00–9:50 B117, L. Gryga
PB162/08: Po 14. 2. až Po 9. 5. Po 10:00–11:50 B117, L. Gryga
PB162/09: Pá 18. 2. až Pá 13. 5. Pá 8:00–9:50 B116, R. Ošlejšek, K. Suchánek
PB162/10: St 16. 2. až St 11. 5. St 18:00–19:50 B116, Ľ. Pivarč
PB162/11: Út 15. 2. až Út 10. 5. Út 10:00–11:50 A219, V. Ulman
PB162/12: St 16. 2. až St 11. 5. St 8:00–9:50 A219, O. Ponteš, A. Strompová
PB162/13: Pá 18. 2. až Pá 13. 5. Pá 14:00–15:50 A215
PB162/14: Po 14. 2. až Po 9. 5. Po 12:00–13:50 B116, D. Rusnák
PB162/15: Út 15. 2. až Út 10. 5. Út 8:00–9:50 A215, D. Rusnák
PB162/16: Po 14. 2. až Po 9. 5. Po 8:00–9:50 B116, A. Radvan
PB162/17: Po 14. 2. až Po 9. 5. Po 10:00–11:50 B116, A. Radvan
PB162/18: Pá 18. 2. až Pá 13. 5. Pá 14:00–15:50 B117, D. Lašo
PB162/19: Čt 17. 2. až Čt 12. 5. Čt 12:00–13:50 A215, R. Ošlejšek
PB162/20: Po 14. 2. až Po 9. 5. Po 16:00–17:50 B311, E. Mlynárik, J. Smadiš
PB162/21: Čt 17. 2. až Čt 12. 5. Čt 16:00–17:50 C511
PB162/22: Čt 17. 2. až Čt 12. 5. Čt 8:00–9:50 B410, A. Strompová - Předpoklady
- Znalost procedurálního programovacího jazyka (typicky Python, C) zhruba v rozsahu předmětů IB001 Úvod do programování skrze C, IB111 Základy programování nebo IB113 Úvod do programování a algoritmizace.
- 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
- Analýza a zpracování obrazu (program FI, N-VIZ)
- Aplikovaná informatika (program FI, B-AP)
- Bioinformatika a systémová biologie (program FI, N-UIZD)
- Bioinformatika (program FI, B-AP)
- Computer Games Development (program FI, N-VIZ_A)
- Computer Graphics and Visualisation (program FI, N-VIZ_A)
- Computer Networks and Communications (program FI, N-PSKB_A)
- Cybersecurity Management (program FI, N-RSSS_A)
- Formální analýza počítačových systémů (program FI, N-TEI)
- Grafický design (program FI, N-VIZ)
- Graphic Design (program FI, N-VIZ_A)
- Hardware Systems (program FI, N-PSKB_A)
- Hardwarové systémy (program FI, N-PSKB)
- Image Processing and Analysis (program FI, N-VIZ_A)
- Informační bezpečnost (program FI, N-PSKB)
- Informatika a druhý obor (program FI, B-EB)
- Informatika a druhý obor (program FI, B-FY)
- Informatika a druhý obor (program FI, B-GE)
- Informatika a druhý obor (program FI, B-GK)
- Informatika a druhý obor (program FI, B-CH)
- Informatika a druhý obor (program FI, B-IO)
- Informatika a druhý obor (program FI, B-MA)
- Informatika a druhý obor (program FI, B-TV)
- Informatika (program FI, B-INF) (2)
- Informatika ve veřejné správě (program FI, B-AP)
- Informatika ve vzdělávání (program FI, B-IVV) (2)
- Information Security (program FI, N-PSKB_A)
- Kvantové a jiné neklasické výpočetní modely (program FI, N-TEI)
- Matematická informatika (program FI, B-IN)
- Matematika s informatikou (program PřF, N-MA)
- Obecná matematika (program PřF, B-MA)
- Paralelní a distribuované systémy (program FI, B-IN)
- Počítačová grafika a vizualizace (program FI, N-VIZ)
- Počítačová grafika a zpracování obrazu (program FI, B-IN)
- Počítačová lingvistika (program FF, N-PLIN_) (3)
- Počítačové sítě a komunikace (program FI, B-IN)
- Počítačové sítě a komunikace (program FI, N-PSKB)
- Počítačové systémy a zpracování dat (program FI, B-IN)
- Podniková informatika (program ESF, B-SI)
- Principy programovacích jazyků (program FI, N-TEI)
- Programování a vývoj aplikací (program FI, B-PVA)
- Programovatelné technické struktury (program FI, B-IN)
- Programovatelné technické struktury (program FI, N-IN)
- Řízení kyberbezpečnosti (program FI, N-RSSS)
- Řízení vývoje služeb (program FI, N-RSSS)
- Řízení vývoje softwarových systémů (program FI, N-RSSS)
- Services Development Management (program FI, N-RSSS_A)
- Služby - výzkum, řízení a inovace (program FI, N-AP)
- Sociální informatika (program FI, B-AP)
- Software Systems Development Management (program FI, N-RSSS_A)
- Software Systems (program FI, N-PSKB_A)
- Softwarové systémy (program FI, N-PSKB)
- Strojové učení a umělá inteligence (program FI, N-UIZD)
- Učitel informatiky a správce sítě (program FI, N-UCI)
- Učitelství informatiky pro střední školy (program FI, N-UCI) (2)
- Umělá inteligence a zpracování přirozeného jazyka (program FI, B-IN)
- Vývoj počítačových her (program FI, N-VIZ)
- Zpracování a analýza rozsáhlých dat (program FI, N-UIZD)
- Zpracování přirozeného jazyka (program FI, N-UIZD)
- 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;
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
- Úvod do jazyka Java, životní cyklus javového programu, základní vývojové nástroje
- Základní pojmy objektového programování - třída, objekt; proměnná a metoda objektu a třídy, zapouzdření
- Spolupráce a komunikace mezi objekty
- Rozhraní a jeho implementace třídou
- Základní programátorské konvence - styl psaní zdrojového textu, dokumentační komentáře
- Testování jednotek javových programů, nástroj junit
- Dědičnost, polymorfizmus, hierarchie tříd, architektura programu
- Řízení toku výpočtu
- Primitivní datové typy, objektové typy, pole
- Abstraktní třídy
- Výjimky, princip jejich použití a návrhu
- Dynamické datové struktury
- Vstupy/výstupy
- 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ší bodovaný projekt. Hodnotí se nejen splnění zadání a korektnost algoritmu, ale i jeho efektivita, stejně jako elegance řešení a kvalita dokumentace. Další body jsou udělovány na cvičeních v podobě krátkých online testů. Dále jsou v průběhu semestru dvě 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á zkouška, která je komplexnější než předchozí dvě. Na úspěšné ukončení zkouškou je požadováno dosažení alespoň 70 bodů z celkových 100, pro ukončení zápočtem postačí 60 bodů.
- Navazující předměty
- Informace učitele
- http://www.fi.muni.cz/~tomp/pb162/slides/index.html
- 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ů
- IB113 Úvod do programování a algoritmizace
!NOW(IB111) && !IB111 && !PB162 && !PB161 && !PB071 && !IB001 && !program(B-INF) && !program(B-PVA) && !program(B-CS) - PB007 Software Engineering I
PB160 || PB161 || PB162 || PB174 || PV178 || PB112 - PB112 Základy objektově orientovaného programování v jazyce Java
!(PB162) && ! NOW(PB162) - PV168 Seminář z programování v jazyce Java
PB162 || SOUHLAS - PV255 Game Development I
PB009 && PV112 && (PB161 || PB162 || PV178) - PV256 Úvod do mobilního vývoje pro Android
PB162 || PB112 - PV292 Multiplatformní vývoj Flutter aplikací
PB162 || PV168 || PA165 || PV178 || PV256 || PB138 || SOUHLAS
- IB113 Úvod do programování a algoritmizace
- Statistika zápisu (jaro 2022, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/jaro2022/PB162