FI:PB006 Principy progr. jazyků a OOP - Informace o předmětu
PB006 Principy programovacích jazyků a OOP
Fakulta informatikypodzim 2022
- Rozsah
- 2/0/0. 2 kr. (plus ukončení). Ukončení: zk.
- Vyučující
- doc. Mgr. Jan Obdržálek, PhD. (přednášející)
Bc. Daniel Rozehnal (pomocník)
Mgr. Anna Řechtáčková (pomocník) - Garance
- doc. Mgr. Jan Obdržálek, PhD.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: doc. Mgr. Jan Obdržálek, PhD.
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky - Rozvrh
- St 8:00–9:50 D1, St 8:00–9:50 D2
- Předpoklady
- ( IB111 Základy programování || NOW( IB111 Základy programování )) && PB071 Principy nízkoúr. prog.
Předmět je určen pro studenty, kteří již mají základní znalost moderního imperativního programovacího jazyka (Python), nízkoúrovňového jazyka (C) a funkcionálního jazyka (Haskell). - 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)
- Ekonomické informační systémy (program ESF, B-SI)
- 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)
- Paralelní a distribuované systémy (program FI, B-IN)
- Pedagogické asistentství technické a informační výchovy pro základní školy (program PdF, B-SPE)
- 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é 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)
- 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
- Cílem kurzu je seznámit se s koncepty přítomnými v moderních programovacích jazycích. Kurz také slouží jako úvod do objektově orientovaného programování.
- Výstupy z učení
- Na konci tohoto kurzu bude student:
ovládat všechny základní koncepty přítomné v moderních programovacích jazycích;
schopen do hloubky porozumět (pro něj) novému programovacímu jazyku a začít ho rychle používat;
rozumět principům objektově orientovaného programování;
schopen posoudit vhodnost volby programovacího jazyka pro řešení daného problému;
schopen analyzovat silné i slabé stránky daného programovacího jazyka. - Osnova
- Jména, vazby, rozsahy platnosti. Bloková struktura. Paměťová reprezentace objektů.
- Primitivní a složené datové typy. Typová kontrola. Seznamy. Ukazatele a odkazy. Odvozování typů.
- Tok řízení: výrazy, příkazy, řídící struktury.
- Podprogramy: lokální definice, metody předávání parametrů, přetížené a generické funkce. Koprogramy.
- Abstraktní datové typy: základní koncepty, zapouzdření. Parametrizované ADT, generika. Prostory jmen.
- Objektově orientované programování: principy OOP, dědičnost, dynamická vazba.
- Výjimky: základní koncepty, příkladové studie, výjimky ve funkcionálních jazycích.
- Podpora správy jmen a zapouzdření u větších programů.
- Literatura
- Výukové metody
- Kurs probíhá formou přednášek.
- Metody hodnocení
- 5-6 kratších domácích úkolů. Kurs je ukončen písemnou zkouškou na konci semestru.
- Informace učitele
- https://is.muni.cz/el/1433/podzim2020/PB006/index.qwarp
- 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ů
- Statistika zápisu (podzim 2022, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2022/PB006