FI:PB138 Moderní značkovací jazyky - Informace o předmětu
PB138 Moderní značkovací jazyky a jejich aplikace
Fakulta informatikyjaro 2023
- Rozsah
- 2/2. 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í)
Mgr. Luděk Bártek, Ph.D. (přednášející)
Ing. Lukáš Grolig (přednášející)
Ing. Jakub Oršula (přednášející)
Bc. Tomáš Sedláček (přednášející)
Bc. Radovan Hančuľák (cvičící)
Bc. Ondřej Hrdlička (cvičící)
Filip Kaštovský (cvičící)
Bc. David Konečný (cvičící)
Ing. Marek Mišík (cvičící)
Bc. Daniel Múčka (cvičící)
Bc. Daniel Puchala (cvičící)
Martin Ragan (cvičící)
Bc. Martin Šepeľa (cvičící)
Ing. Jakub Vanko (cvičící)
Ing. Petr Wehrenberg (cvičící)
Radmila Čermáková (pomocník)
Ing. Milan Kubík (pomocník)
Bc. Juraj Marcin (pomocník)
Bc. Katarína Pitoňáková (pomocník)
Bc. Ondřej Planer (pomocník)
Bc. Róbert Zvara (pomocník) - Garance
- prof. RNDr. Tomáš Pitner, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Kontaktní osoba: prof. RNDr. Tomáš Pitner, Ph.D.
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Rozvrh
- Čt 16. 2. až Čt 11. 5. Čt 8:00–9:50 D1
- Rozvrh seminárních/paralelních skupin:
PB138/02: Čt 16. 2. až Čt 11. 5. Čt 18:00–19:50 B011, R. Hančuľák, T. Sedláček
PB138/03: Út 14. 2. až Út 9. 5. Út 16:00–17:50 B204, O. Hrdlička
PB138/04: Út 14. 2. až St 10. 5. Út 18:00–19:50 A218, O. Hrdlička
PB138/05: Čt 16. 2. až Čt 11. 5. Čt 10:00–11:50 A215, J. Vanko
PB138/06: St 15. 2. až St 10. 5. St 10:00–11:50 B311, M. Šepeľa
PB138/07: Út 14. 2. až Út 9. 5. Út 12:00–13:50 A215, M. Ragan
PB138/08: Čt 16. 2. až Čt 11. 5. Čt 12:00–13:50 A319, D. Puchala
PB138/09: St 15. 2. až St 10. 5. St 18:00–19:50 B410, F. Kaštovský
PB138/10: St 15. 2. až St 10. 5. St 14:00–15:50 A215, D. Konečný
PB138/11: Čt 16. 2. až Čt 11. 5. Čt 14:00–15:50 A217, M. Mišík, D. Múčka
PB138/12: Po 13. 2. až Po 15. 5. Po 18:00–19:50 B411, P. Wehrenberg
PB138/13: Út 14. 2. až Út 9. 5. Út 14:00–15:50 A219, L. Bártek
PB138/14: Po 13. 2. až Po 15. 5. Po 10:00–11:50 B011, L. Bártek - Předpoklady
- Předpokládají se základní znalosti z oblasti formálních jazyků, orientace v objektovém a funkcionálním programování. Doporučena je také základní znalost některého z univerzálních objektových jazyků, jako Java, C++, C#, či ECMAScript, funkcionálního jazyka, jako je Haskell a databázích. Dále je žádoucí základní znalost některého značkovacího jazyka (např. HTML) a služeb Internetu.
- 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 200 stud.
Momentální stav registrace a zápisu: zapsáno: 49/200, pouze zareg.: 0/200, pouze zareg. s předností (mateřské obory): 0/200 - 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-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)
- 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)
- 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
- Předmět seznamuje se základními standardy a principy práce s technologiemi moderních značkovacích jazyků především na bázi XML, HTML a YAML. Také se seznámí s reprezentací dat ve formátu JSON. Po úspěšném zvládnutí předmětu bude student tvořit moderní aplikace psané v TypeScriptu využívající React a moderní značkovací jazyky, které získávají data z backendu pomocí RESTových rozhraní nebo dotazovacího jazyka GraphQL.
- Výstupy z učení
- Student bude po absolvování předmětu schopen:
vysvětlit výhody, nevýhody a účel značkovaných dat a dokumentů
aktivně použít terminologii značkovaných jazyků
zvolit vhodný značkovací jazyk pro danou aplikaci
aktivně využívat jazyka XML
popsat charakteristiky internetových technologií, jako je HTML 5, JavaScript, React, JSON, GraphQL a další moderní webové standardy a umět je použít v reálné aplikaci
popsat princip Single Page aplikací - Osnova
- Struktura a terminologie značkovaných dokumentů. XML: standardy základní rodiny XML, analýzy a zpracování XML dat.
- Objektový model dokumentu, událostmi řízené zpracování. Navigace a dotazování v XML datech. XPath, XML Transformace.
- HTML dokumenty, standard HTML 5 a moderní webové stránky.
- CSS styly: aplikování stylů, rozložení a responzivní design webových stránek.
- Základy moderních JavaScriptových a TypeScriptových aplikací, ekosystém Node.js, řízení závislostí pomocí NPM.
- JSON: syntaxe, datové typy, pole a objekty. Práce s databází v TypeScriptu, principy a implementace rozhraní REST v TypeScriptu.
- GraphQL: schémata, dotazy, mutace, typy, validace.
- React: jazyk JSX/TSX, definice komponent a jejich kompozice, životní cyklus komponent, stav aplikace, práce se seznamy.
- React: zpracování formulářů, získávání dat z RESTových rozhraní.
- React: směrování, knihovna react-query a mutace dat.
- React: globální stav aplikace, komplexní správa stavů v aplikaci.
- YAML: syntaxe a aplikace. Docker: kontejnerizace a nasazení aplikací.
- Výukové metody
- Výuka probíhá formou přednášek, cvičení a samostatné hodnocené práce na iteracích a týmovém projektu. Přednáška teoreticky objasňuje pojmy a principy z oblasti značkovacích jazyků a moderního webového vývoje. Cvičení v počítačových učebnách demonstrují vhodné postupy a nástroje pro vývoj aplikací, řeší demonstrační úlohy podobné iteracím a slouží ke konzultacím probírané látky, zadání a týmových projektů.
- Metody hodnocení
- Hodnocení předmětu je založeno na průběžném bodování jedenácti iterací (max. 33 bodů celkově), týmového projektu, kde je bodována průběžná práce i závěrečný výsledek obhajoby (max. 42 bodů) a teoretická závěrečná zkouška, organizovaná jako odpovědník v ISu (max. 25 bodů). Z celkových 100 bodů je pro úspěšné hodnocení předmětu zkouškou třeba získat alespoň 70 bodů, pro ukončení zápočtem 60 bodů. Docházka na cvičení je kontrolována pomocí odpovědníků, které umožňují získat až 5.2 bodů, které slouží jako měkké body pro studenty, kteří ukončují předmět zkouškou. Tyto body se připočítávají k hodnocení až po zisku alespoň 70 bodů z iterací, týmového projektu a zkoušky. Mohou pak pomoct k dosažení lepší známky. Pro studenty, kteří ukončují předmět zápočtem, se jedná o body tvrdé. Studenti, kteří ukončují předmět zápočtem, se taktéž mohou zapsat na zkušební termín, pokud nemají dostatek bodů z iterací, odpovědníků ze cvičení a týmového projektu.
- Navazující předměty
- Informace učitele
- Předmět předpokládá značný podíl samostatné práce navíc při studování používaných technologií, jejich (anglicky psaných) specifikací a dalších zdrojů. Většina materiálů (slidy, zadání iterací) je k dispozici v angličtině. Hodnocení iterací formou code-review také přispívá k časové náročnosti předmětu.
- 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 (jaro 2023, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/jaro2023/PB138