FI:PB138 Modern markup languages - Course Information
PB138 Modern Markup Languages and Their Applications
Faculty of InformaticsSpring 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/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: 11/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
- there are 59 fields of study the course is directly associated with, display
- 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
- Enrolment Statistics (Spring 2022, recent)
- Permalink: https://is.muni.cz/course/fi/spring2022/PB138