FI:PB173 Domain specific development - Course Information
PB173 Domain specific development
Faculty of InformaticsSpring 2025
- 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)
Lukasz Michal Chmielewski, PhD (seminar tutor)
Bc. Kristína Hanicová (seminar tutor)
Ing. Michal Prívozník (seminar tutor)
RNDr. Martin Ukrop, Ph.D. (assistant) - 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 - Timetable of Seminar Groups
- PB173/btc: Mon 17. 2. to Mon 12. 5. Mon 16:00–17:50 A321, P. Švenda
PB173/SCA: Tue 18. 2. to Tue 13. 5. Tue 14:00–15:50 C117, L. Chmielewski
PB173/virtualization: Wed 19. 2. to Wed 14. 5. Wed 10:00–11:50 S505, K. Hanicová, M. Prívozník - 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: 23/70, only registered: 2/70, only registered with preference (fields directly associated with the programme): 1/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)
- Study Materials
The course is taught each semester. - Teacher's information
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 for Spring 2025:
- 1. C programming with usage of LLM tools in Bitcoin Lighting domain (Petr Švenda, teaching in Czech) – The group will work with extensive production c-Lighting project used for fast payments in Bitcoin ecosystem https://github.com/ElementsProject/lightning in C programming language. For an initial understanding of design, implementation and later also for code extension, we will use large language models (ChatGPT, Copilot). The group is also experimental - the goal is not only to perform some programming in this domain but also to collaboratively discover suitable options for how to use LLMs for effective teaching of programming courses at our faculty.
- 2. 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).
- 3. Programming Side-Channel Attacks (teaching in English, Lukasz Chmielewski) - in computer security, a side-channel attack is any attack based on extra information that can be gathered using an unintended channel (e.g., power consumption) because of the fundamental way a computer protocol or algorithm is implemented, rather than flaws in the design of the protocol or algorithm itself. In this seminar group, you will learn principles of side-channel analysis and you will learn how to program various stages of a side-channel attack.
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/spring2025/PB173