PB138 Modern Markup Languages and Their Applications

Faculty of Informatics
Spring 2022
Extent and Intensity
2/2. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
prof. RNDr. Tomáš Pitner, Ph.D. (lecturer)
Mgr. Luděk Bártek, Ph.D. (lecturer)
Ing. Lukáš Grolig (lecturer)
Bc. Otakar Hirš (seminar tutor)
Ing. Milan Kubík (seminar tutor)
Ing. Jakub Oršula (seminar tutor)
Bc. Katarína Pitoňáková (seminar tutor)
Bc. Daniel Plakinger (seminar tutor)
Bc. Daniel Puchala (seminar tutor)
Bc. Pavel Růžička (seminar tutor)
Bc. Tomáš Sedláček (seminar tutor)
Guaranteed by
prof. RNDr. Tomáš Pitner, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Contact Person: prof. RNDr. Tomáš Pitner, Ph.D.
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 14. 2. to Mon 9. 5. Mon 16:00–17:50 D1
  • Timetable of Seminar Groups:
PB138/01: Fri 18. 2. to Fri 13. 5. Fri 10:00–11:50 B130, L. Bártek
PB138/02: Mon 14. 2. to Mon 9. 5. Mon 18:00–19:50 B130, L. Bártek
PB138/03: Thu 17. 2. to Thu 12. 5. Thu 16:00–17:50 A219, D. Plakinger, P. Růžička
PB138/04: Mon 14. 2. to Mon 9. 5. Mon 8:00–9:50 B130, L. Grolig, K. Pitoňáková
PB138/05: Mon 14. 2. to Mon 9. 5. Mon 14:00–15:50 A215, T. Sedláček
PB138/06: Tue 15. 2. to Tue 10. 5. Tue 10:00–11:50 A215, D. Puchala
PB138/07: Tue 15. 2. to Tue 10. 5. Tue 14:00–15:50 A219, M. Kubík, J. Oršula
PB138/08: Wed 16. 2. to Wed 11. 5. Wed 10:00–11:50 A219, O. Hirš
PB138/09: Mon 14. 2. to Mon 9. 5. Mon 12:00–13:50 A219, T. Sedláček
PB138/10: Tue 15. 2. to Tue 10. 5. Tue 12:00–13:50 C525, D. Puchala
PB138/11: Wed 16. 2. to Wed 11. 5. Wed 8:00–9:50 A217, O. Hirš
PB138/12: Wed 16. 2. to Wed 11. 5. Wed 18:00–19:50 A319, D. Plakinger, P. Růžička
PB138/13: Tue 15. 2. to Tue 10. 5. Tue 16:00–17:50 C525, M. Kubík, J. Oršula
Prerequisites
Basic knowledge of formal languages, as well as some experience in OO programming, such as in Java, C++, C# or ECMAScript, and databases is required. Moreover, basic orientation in a markup language (HTML) and Internet services is needed, too.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
The capacity limit for the course is 200 student(s).
Current registration and enrolment status: enrolled: 7/200, only registered: 0/200, only registered with preference (fields directly associated with the programme): 0/200
fields of study / plans the course is directly associated with
Course objectives
The subject acquaints with basic standards and principles of working with technologies of modern markup languages mainly based on XML, JSON and Yaml. Upon successful completion of this course, students will create modern applications written in TypeScript using React and modern markup languages that retrieve data from the backend using REST interfaces or GraphQL query language, or using hybrid persistence, such as XML extensions of RDBMS or NoSQL databases.
Learning outcomes
Students will be able to:
Explain the advantages, disadvantages and purpose of tagged data and documents
Actively use terminology of markup languages
Choose the appropriate markup language for the application
Actively use XML
Describe the characteristics of Internet technologies such as HTML 5, JavaScript, React, JSON, GraphQL and other modern web standards and use them in real applications
Describe principles of Single Page applications
Syllabus
  • Structure and terminology of marked documents.
  • XML: standards of the XML family, analysis and processing of XML data.
  • Document object model, event-driven processing.
  • Navigation and querying in XML data. XPath, XML databases and extensions.
  • YAML: syntax and application
  • HTML documents
  • Basics of modern javascript applications, Node.js ecosystem, dependency management using NPM
  • Introduction to React, JSX/TSX language
  • Definition of components and their composition, life cycle of components, application status, work with lists, forms
  • Validation of web applications using Lighthouse JSON: syntax, data types, arrays, objects
  • Principles of the REST interface
  • GraphQL: schemas, queries, mutations, types, validation
Teaching methods
Teaching takes the form of lectures and independent consulted work on projects with the possibility of consultation at seminars, where are also solved projects. Theoretical preparation takes the form of lectures explaining the concepts and principles of markup languages with demonstrations of suitable procedures and tools for application development. Practical exercises in computer labs aimed at solving tasks (with completion and outside the exercises) and later in the semester to solve homework.
Assessment methods
The subject is based on continuous scoring of four individually solved practical homeworks (together max. 12 points), a team project, where the ongoing work and the final result of the defense are scored (together max. 48 points) and the final written test (max. 40 points). Out of the total 100 points, for the successful completion of the course with an exam, one must obtain at least 70 points. For a completion as "credit", 60 points must be reached.
Language of instruction
Czech
Follow-Up Courses
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Listed among pre-requisites of other courses
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2023, Spring 2024, Spring 2025.
  • Enrolment Statistics (Spring 2022, recent)
  • Permalink: https://is.muni.cz/course/fi/spring2022/PB138