PB138 Moderní značkovací jazyky a jejich aplikace

Fakulta informatiky
jaro 2022
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í)
Bc. Otakar Hirš (cvičící)
Ing. Milan Kubík (cvičící)
Ing. Jakub Oršula (cvičící)
Bc. Katarína Pitoňáková (cvičící)
Bc. Daniel Plakinger (cvičící)
Bc. Daniel Puchala (cvičící)
Bc. Pavel Růžička (cvičící)
Bc. Tomáš Sedláček (cvičící)
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
Po 14. 2. až Po 9. 5. Po 16:00–17:50 D1
  • Rozvrh seminárních/paralelních skupin:
PB138/01: Pá 18. 2. až Pá 13. 5. Pá 10:00–11:50 B130, L. Bártek
PB138/02: Po 14. 2. až Po 9. 5. Po 18:00–19:50 B130, L. Bártek
PB138/03: Čt 17. 2. až Čt 12. 5. Čt 16:00–17:50 A219, D. Plakinger, P. Růžička
PB138/04: Po 14. 2. až Po 9. 5. Po 8:00–9:50 B130, L. Grolig, K. Pitoňáková
PB138/05: Po 14. 2. až Po 9. 5. Po 14:00–15:50 A215, T. Sedláček
PB138/06: Út 15. 2. až Út 10. 5. Út 10:00–11:50 A215, D. Puchala
PB138/07: Út 15. 2. až Út 10. 5. Út 14:00–15:50 A219, M. Kubík, J. Oršula
PB138/08: St 16. 2. až St 11. 5. St 10:00–11:50 A219, O. Hirš
PB138/09: Po 14. 2. až Po 9. 5. Po 12:00–13:50 A219, T. Sedláček
PB138/10: Út 15. 2. až Út 10. 5. Út 12:00–13:50 C525, D. Puchala
PB138/11: St 16. 2. až St 11. 5. St 8:00–9:50 A217, O. Hirš
PB138/12: St 16. 2. až St 11. 5. St 18:00–19:50 A319, D. Plakinger, P. Růžička
PB138/13: Út 15. 2. až Út 10. 5. Út 16:00–17:50 C525, M. Kubík, J. Oršula
Předpoklady
Předpokládají se základní znalosti z oblasti formálních jazyků, orientace v objektovém programování, doporučena základní znalost některého z univerzálních objektových jazyků, jako jsou Java, C++, C#, či ECMAScript 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: 7/200, pouze zareg.: 0/200, pouze zareg. s předností (mateřské obory): 0/200
Mateřské obory/plány
předmět má 59 mateřských oborů, zobrazit
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, JSON a YAML. 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, případně z hybridních řešení (XML rozšíření RDBMS, NoSQL databáze).
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 databáze a rozšíření.
  • YAML: syntaxe a aplikace
  • HTML dokumenty
  • Základy moderních javascriptových aplikací, ekosystém Node.js, řízení závislostí pomocí NPM
  • Úvod do Reactu, jazyk JSX/TSX
  • Definice komponent a jejich kompozice, životní cyklus komponent, stav aplikace, práce se seznamy, formuláře
  • Validace webových aplikací pomocí Lighthouse
  • JSON: syntaxe, datové typy, pole, objekty
  • Principy rozhraní REST
  • GraphQL: schémata, dotazy, mutace, typy, validace
Výukové metody
Výuka probíhá formou přednášek a samostatné konzultované práce na projektech s možností konzultací na cvičeních, kde jsou kromě toho řešeny projekty. Teoretická příprava probíhá formou přednášek objasňující pojmy a principy z oblasti značkovacích jazyků s demonstracemi vhodných postupů a nástrojů vývoje aplikací. Praktická cvičení v počítačových učebnách (resp. online) směřující k řešení úloh s dokončením i mimo cvičení a v pozdější fázi semestru k řešení domácích úkolů.
Metody hodnocení
Hodnocení předmětu je založeno na průběžném bodování čtyř individuálně řešených praktických domácích úloh (max. 12 bodů), týmového projektu, kde je bodována průběžná práce i závěrečný výsledek obhajoby (celkem max. 48 bodů) a závěrečného písemného testu (max. 40 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ů.
Navazující předměty
Informace učitele
Předmět předpokládá značný podíl samostatné práce na projektech a při samostudiu z originálních (= anglicky psaných) specifikací a dalších zdrojů. Rovněž většina podpůrných materiálů k přednášce (slidy) i k úlohám (zadání) je k dispozici v angličtině. ------- The subject requires ability to work independently on own projects, as well as reading original specifications and other English-written documents. The majority of support materials for lectures (slides) as well as task/homeworks specifications are available in English.
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 jaro 2003, jaro 2004, jaro 2005, jaro 2006, jaro 2007, jaro 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2014, jaro 2015, jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2023, jaro 2024, jaro 2025.