FI:PB173 Domain Specific Development - Course Information
PB173 Domain Specific Development
Faculty of InformaticsSpring 2026
- Extent and Intensity
- 1/1/0. 2 credit(s) (plus extra credits for completion). Type of Completion: k (colloquium).
In-person direct teaching - Teacher(s)
- doc. RNDr. Petr Švenda, Ph.D. (lecturer)
Mgr. Kristína Hanicová (seminar tutor)
Ing. Michal Prívozník (seminar tutor)
Ing. Michal Hečko (seminar tutor)
Bc. Alexander Zgabur (seminar tutor)
Vojtěch Trefný (seminar tutor)
Miroslav Jaroš (seminar tutor)
RNDr. Martin Ukrop, Ph.D. (lecturer) - Guaranteed by
- doc. RNDr. Petr Švenda, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics - Prerequisites
- ( PB111 Principles of Low-level Prog. || PB071 Principles of low-level prog. ) && SOUHLAS
We expect you to have knowledge of the appropriate programming language and operating system based on your desired seminar group. - 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 70 student(s).
Current registration and enrolment status: enrolled: 0/70, only registered: 35/70, only registered with preference (fields directly associated with the programme): 24/70 - fields of study / plans the course is directly associated with
- there are 37 fields of study the course is directly associated with, display
- Course objectives
- Enhance your programming capabilities in the language appropriate for the particular selected application domain.
- Learning outcomes
- The general goal of this course is extension of knowledge of a programming language in a particular area of expertise based on the particular seminar group. Each seminar group will define its own specific learning goals.
- Syllabus
- The concrete content of the course depends on the individual thematic groups which are listed in Teacher's information area.
- Literature
- Literatura dle tématické skupiny.
- Teaching methods
- In lectures, the students create programs in given area, usually one per week, finishing it as individual work. Lectures contains necessary theoretical introduction. Remaining time is devoted to solve practical programming problems with employment of related development tools.
- Assessment methods
- During the whole semester, student will undertake several programming homework and/or a project. The amount of homework and final evaluation criteria are specified by each tematic group.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course is taught each semester.
The course is taught every week. - Teacher's information
Important: The given seminar will be opened only when at least 10 students are registered for it till 9.2.2026 (one week before the semester starts). Otherwise, another seminar group has to be taken by a student.
The groups/topics for a given semester will be announced via email before the start of seminar group enrollment and they will be filled to this page.There are following seminar groups are planned for Spring 2026 (see note above):
- 1. PB173/virt Virtualization (Red Hat, Czech) – the main goal is to demonstrate basics of virtualization technology, practical preparation of virtualization environment and its effective usage. The teaching is spread over the whole semester (2 hours/week)
- 2. PB173/git Advanced usage of git versioning system (Red Hat, česky). - During this course, you will learn unique benefits and concepts of Git as well as its core features via extensive examples, hands-on exercises and mandatory homework. The emphasis of the course is to prepare you for working on group community upstream projects in enterprise. The course will have the following parts ( https://red.ht/muni-git):
- Introduction (Course, Lectors, Students). Version Control. Before Version Control. What is version control? Installing Git. The basics of Git Workflow. Cloning Repositories. Index. Art of commits. Configuration and securing repositories with SSH keys.
- Branching. Tags, Stash, Branching, Merging and Reverting.
- Fixing Mistakes. Git logs and auditing. Solving Git conflicts. Interactive rebase. Different ways to find and undo changes made to a Git project and when to use them.
- Teamwork. Upstream and remote. Push, pull, and tracking remote repositories. The golden rule of push.
- Git Etiquette or Mind your Git manners.
- Git features and common open-source git workflows.
- 3. PB173/Qt Multiplatformní programování s využitím C++ a frameworku Qt (Miroslav Jaroš; česky) - the group focuses on solving practical programming tasks in the C++ language using the widely used and platform-portable QT library (https://doc.qt.io/). The seminar pages are available at https://xjaros1.pages.fi.muni.cz/pb173/.
Example topics: Binary exploitation, Perl, Image processing, Applied cryptography and secure programming, Systems programming in Linux, Implementing an interpreter in C++, Efficient programming, Implementing a small OS kernel, Binary analysis and disassembly.
- Enrolment Statistics (recent)
- Permalink: https://is.muni.cz/course/fi/spring2026/PB173