FI:PB138 Web dev and markup languages - Course Information
PB138 Basics of web development and markup languages
Faculty of InformaticsSpring 2024
- Extent and Intensity
- 2/2/0. 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)
Filip Kaštovský (lecturer)
Bc. Daniel Plakinger (lecturer)
Bc. Tomáš Sedláček (lecturer)
Ing. Petr Wehrenberg (lecturer)
Bc. Martin Bednárik (seminar tutor)
Branislav Bubán (seminar tutor)
Bc. Matej Hakoš (seminar tutor)
Bc. Radovan Hančuľák (seminar tutor)
Bc. Otakar Hirš (seminar tutor)
Bc. Ondřej Hrdlička (seminar tutor)
Bc. David Konečný (seminar tutor)
Ivan Kushpel (seminar tutor)
Bc. Daniel Múčka (seminar tutor)
Bc. Ondřej Planer (seminar tutor)
Bc. Daniel Puchala (seminar tutor)
Martin Ragan (seminar tutor)
Bc. Daniel Rozehnal (seminar tutor)
Samuel Wittlinger (seminar tutor)
Bc. Adam Zálešák (seminar tutor)
Radmila Čermáková (assistant)
Ing. Marek Mišík (assistant) - 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 19. 2. to Thu 9. 5. Thu 18:00–19:50 D1
- Timetable of Seminar Groups:
PB138/02: Mon 16:00–17:50 B311, M. Bednárik
PB138/03: Mon 16:00–17:50 B011, B. Bubán, I. Kushpel
PB138/04: Tue 18:00–19:50 A215, P. Wehrenberg
PB138/05: Mon 10:00–11:50 B311, O. Planer
PB138/06: Wed 16:00–17:50 B130, R. Hančuľák
PB138/07: Mon 18:00–19:50 B311, D. Múčka
PB138/08: Mon 14:00–15:50 A215, M. Hakoš, T. Sedláček
PB138/09: Mon 12:00–13:50 A215, T. Sedláček, A. Zálešák
PB138/10: Wed 18:00–19:50 A218, S. Wittlinger
PB138/11: Tue 10:00–11:50 A319, O. Hrdlička, D. Rozehnal
PB138/12: Wed 10:00–11:50 A215, M. Ragan
PB138/13: Wed 18:00–19:50 A215, D. Konečný, D. Puchala
PB138/14: Tue 14:00–15:50 B311, O. Hirš
PB138/15: Tue 12:00–13:50 A219, L. Bártek - Prerequisites
- Basic knowledge of formal languages and some experience in OO programming, such as in Java, C++, C# or ECMAScript, as well as experience with a functional programming language, such as Haskell, and basic knowledge of database systems (SQL, DBMS) is required. Moreover, basic orientation in a markup language (HTML) and Internet services is also required.
- 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: 177/200, only registered: 4/200, only registered with preference (fields directly associated with the programme): 3/200 - fields of study / plans the course is directly associated with
- there are 62 fields of study the course is directly associated with, display
- Course objectives
- The subject acquaints students with basic standards and principles of working with technologies of modern markup languages mainly based on XML, HTML and YAML. Students will also learn about data representation in JSON format. 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.
- Learning outcomes
- Students will be able to:
Explain the advantages, disadvantages and purpose of tagged data and documents
Actively use the 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 the principles of Single Page applications - Syllabus
- Structure and terminology of marked documents. XML: standards, analysis and processing of XML documents.
- Document Object Model, Event-Driven XML processing, navigating and querying XML data with XPath, XML Transformations.
- HTML documents, HTML 5 standard and modern web page markup.
- CSS: styling, layouts and responsive web design.
- Basics of modern JavaScript and TypeScript applications, Node.js ecosystem, dependency management via NPM.
- JSON: syntax, data types, fields, and data objects. Working with databases in TypeScript, principles and implementation of REST APIs in TypeScript.
- GraphQL: schema, queries, mutations, types, validation.
- React: JSX/TSX markup language, React component definition and composition, component lifecycle, app state, list processing.
- React: forms processing and validation, fetching data from REST APIs.
- React: routing, react-query and client-side mutations.
- React: State management, global state, reducers.
- YAML: syntax and use-case. Docker: containerization and application deployment.
- Teaching methods
- The course is split into lectures, seminars, and individual work on iterations and team projects. The lecture presents terms and principles from markup languages and modern web development. Seminars in computer schoolrooms demonstrate correct procedures and tools for developing modern applications and solving demo assignments similar to iterations. They also serve as a platform for students to consult iteration assignments and team project solutions.
- Assessment methods
- Course evaluation is based on continuous evaluation of five iterations (max. 40 points in total, minimum of 20 points is required), continuous work and presentation/defence of a team project (max. 40 points for the project) and theoretical exam, organized as a ROPOT in the Information System (max. 20 points). Students must score at least 70 out of 100 points to pass the subject if they choose the "exam" course completion. To pass the subject with "credit" course completion, 60 out of 100 points are necessary. To meet the 60 out of 100 points goal, students with "credit" course completion can also attend the exam.
- 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
- Teacher's information
- The subject requires substantial work beyond seminars while learning the used technologies, their specifications and other learning sources. Most of the course materials, as well as the Interactive syllabus, are written in English. Evaluation of iterations in the form of code reviews also increases this subject's time/effort load.
- Enrolment Statistics (recent)
- Permalink: https://is.muni.cz/course/fi/spring2024/PB138