FI MU Study Catalogue 2024/2025
Study catalogue in all-in-one version
The FI MU Study Catalogue is a document describing the conditions of study at the Faculty of Informatics in Bachelor's and Follow-up Master's Degree Programs, which are valid for students who have started their studies in one of those study programs in the given academic year. Faculty of Informatics is committed to preserve these conditions as much as possible during the whole period of studies.
Bachelor's Degree Programs
Follow-up Master's Degree Programs (Czech)
Follow-up Master's Degree Programs (English)
Bachelor's Degree Programs
bachelor's program without specializations supporting Major/Minor study
This study programme is recommended to students who intend to get fundamental knowledge in informatics and get acquainted with the general principals of making and using information technology. Besides, the basic orientation in the field students will get enough knowledge and practical training to be able to find employment in the field immediately after graduation. The programme offers some options to aim the profile of the education towards selected basic areas of computer science, such as computer graphics, data processing, information security, networking, artificial intelligence, and computer science.
Graduates may immediately start working on junior IT positions and will be ready to deepen their knowledge according to the needs of their employer. Graduates are also ready to continue their studies in any master degree programme related to informatics or to opt for some other discipline to get interesting interdisciplinary knowledge.
Requirements for successful graduation
- Obtain at least 180 credits overall and pass the final state exam.
- Obtain 10 credits for SBAPR course and successfully defend Bachelor's Thesis. See more details.
- Fulfil requirements of a single-field study option or Major study option.
- Pass all the compulsory and elective courses of the program, selected study option, and selected focus with the highest possible graduation form (unless explicitly stated otherwise).
Compulsory courses of the program
IB000
|
Mathematical Foundations of Computer Science |
---|---|
IB002
|
Algorithms and data structures I |
IB005
|
Formal Languages and Automata |
IB015
|
Non-Imperative Programming |
IB111
|
Foundations of Programming |
MB151
|
Linear models |
MB152
|
Differential and Integral Calculus |
MB153
|
Statistics I |
MB154
|
Discrete mathematics |
PB006
|
Principles of Programming Languages and OOP |
PB016
|
Introduction to Artificial Intelligence |
PB111
|
Principles of low-level programming |
PB151
|
Computer Systems |
PB152
|
Operating Systems |
PB152zk
|
Operating Systems - Exam |
PB154
|
Database Systems |
PB156
|
Computer Networks |
PV004
|
UNIX |
PV080
|
Information security and cryptography |
VB001
|
English Exam |
SBPrip
|
Revisions for Bachelor State Exam |
SBAPR
|
Bachelor Thesis |
Typesetting and academic writing Pass at least 1 course of the following list | |
VB000
|
Elements of Style |
VB000Eng
|
Introduction to Academic Writing |
PB029
|
Electronic Document Preparation |
English Obtain at least 3 credits by passing courses of the following list | |
VB035
|
English Skills for IT I |
VB036
|
English Skills for IT II |
VV064
|
Academic and Professional Skills in English for IT |
Social science, natural sciences, and humanities background Obtain at least 9 credits by passing courses of the following list | |
*:CORE*
|
Courses with prefix CORE |
Physical education Pass at least 2 courses of the following list | |
FSpS:p9*
|
Courses for compulsory physical education |
SOBHA
|
Defence of Thesis |
SZB
|
State Exam (Bc degree) |
Study option: Single-field study of Informatics
Compulsory courses and other obligations of the study option
Pass all obligatory courses of the program. | |
IB107
|
Computability and Complexity |
---|---|
IB031
|
Introduction to Machine Learning |
PB007
|
Software Engineering I |
Programming Pass at least 1 course of the following list | |
PB160
|
C Programming |
PB161
|
C++ Programming |
PB162
|
Java |
PB174
|
Python Programming |
PV178
|
Introduction to Development in C#/.NET |
Fulfil the conditions of at least one focus group. |
Focus groups
Open Informatics
This focus is recommended for students who want to choose their own profile.
Choice in open informatics Obtain at least 25 credits by passing courses of the following list | |
MA010
|
Graph Theory |
---|---|
MA018
|
Numerical Methods |
MV008
|
Algebra I |
IA006
|
Selected topics on automata theory |
IV029
|
Introduction to Transparent Intensional Logic |
IV100
|
Parallel and distributed computations |
IV107
|
Bioinformatics I |
IV119
|
Seminar on Discrete Mathematical Methods |
IV126
|
Fundamentals of Artificial Intelligence |
PB029
|
Electronic Document Preparation |
PB050
|
Modelling and Prediction in Systems Biology |
PB095
|
Introduction to Speech Processing |
PB173
|
Domain specific development |
PV005
|
Computer Network Services |
PV017
|
Information Technology Security |
PV061
|
Machine Translation |
PV065
|
UNIX -- Programming and System Management I |
PV090
|
UNIX -- Seminar of System Management |
PV110
|
Basics of Film Narratives |
PV112
|
Computer Graphics API |
PV119
|
Elements of Law |
PV123
|
Introduction to Visual Communication |
PV168
|
Seminar in Java programming |
PV169
|
Communication Systems Basics |
PV170
|
Design of Digital Systems |
PV171
|
Digital Systems Diagnostics |
PV175
|
MS Windows Systems Management I |
PV197
|
GPU Programming |
PV210
|
Cybersecurity in an Organization |
PV248
|
Python Seminar |
PV251
|
Visualization |
PV281
|
Programming in Rust |
PV288
|
Python |
IB016
|
Seminar on Functional Programming |
IB030
|
Introduction to Natural Language Processing |
IB047
|
Introduction to Corpus Linguistics and Computer Lexicography |
IB109
|
Design and Implementation of Parallel Systems |
IV109
|
Modeling and Simulation |
IV124
|
Complex Networks |
IV128
|
Online Communication from Social Science Perspective |
IV130
|
Pros and Cons of Intelligent Systems |
PB009
|
Principles of Computer Graphics |
PB051
|
Computational methods in Bioinformatics and Systems Biology |
PB138
|
Basics of web development and markup languages |
PB176
|
Basics of Quality and Managment of Source Code |
PV003
|
Relational Database System Architecture |
PV056
|
Machine Learning and Data Mining |
PV077
|
UNIX -- Programming and System Management II |
PV113
|
Production of Audiovisual Artefacts |
PV291
|
Introduction to Digital Signal Processing |
PV165
|
Process Management |
PV176
|
MS Windows Systems Management II |
PV182
|
Human-Computer Interaction |
PV211
|
Introduction to Information Retrieval |
PV249
|
Development in Ruby |
PV254
|
Recommender Systems |
PV285
|
IoT Security |
PV287
|
Artificial Intelligence and Machine Learning in Healthcare |
Computer Systems, Communication and Security
This focus is recommended to students who intend to continue their studies in follow-up Masters' degree program Computer Systems, Communication and Security.
PV170
|
Design of Digital Systems |
---|---|
PV065
|
UNIX -- Programming and System Management I |
PB138
|
Basics of web development and markup languages |
PV077
|
UNIX -- Programming and System Management II |
PV005
|
Computer Network Services |
IB109
|
Design and Implementation of Parallel Systems |
Choice in computer systems Pass at least 1 course of the following list | |
PB176
|
Basics of Quality and Managment of Source Code |
PB173
|
Domain specific development |
Visual Informatics
This focus is recommended to students who intend to continue their studies in follow-up Masters' degree program Visual Informatics.
PB130
|
Introduction to Digital Image Processing |
---|---|
PB009
|
Principles of Computer Graphics |
PV112
|
Computer Graphics API |
PV291
|
Introduction to Digital Signal Processing |
Choice in visual informatics Obtain at least 2 credits by passing courses of the following list | |
PV160
|
Laboratory of Human-Computer Interaction |
PV162
|
Image Processing Project |
Graphic Design
This focus is recommended to students who intend to continue their studies in follow-up Masters' degree program Visual Informatics specialized in Graphic Design.
PB130
|
Introduction to Digital Image Processing |
---|---|
PV123
|
Introduction to Visual Communication |
PB009
|
Principles of Computer Graphics |
PV078
|
Graphic Design I |
VV035
|
3D Modeling |
PV066
|
Typography I |
PV291
|
Introduction to Digital Signal Processing |
PV084
|
Type Design I |
Bioinformatics and System Biology
This focus is recommended to students who intend to continue their studies in follow-up Masters' degree program Artificial Intelligence and Data Processing specialized in Bioinformatics and System Biology.
IV107
|
Bioinformatics I |
---|---|
VV071
|
Biochemistry for bioinformatics |
PA052
|
Introduction to Systems Biology |
VV072
|
Molecular biology for bioinformatics |
IV114
|
Bioinformatics and Systems Biology Project |
PB051
|
Computational methods in Bioinformatics and Systems Biology |
Natural Language Processing
This focus is recommended to students who intend to continue their studies in follow-up Masters' degree program Artificial Intelligence and Data Processing specialized in Natural Language Processing.
MV008
|
Algebra I |
---|---|
IB030
|
Introduction to Natural Language Processing |
IB047
|
Introduction to Corpus Linguistics and Computer Lexicography |
PB095
|
Introduction to Speech Processing |
PB106
|
Corpus Linguistic Project I |
PV173
|
Natural Language Processing Seminar |
Fundaments of mathematics
When selecting this option, the obligation of courses with prefixes MB151 and MB152 is cancelled. This focus is recommended to students who intend to continue their studies in follow-up Masters' degree program Theoretical Computer Science or follow-up Masters' degree program Artificial Intelligence and Data Processing.
PřF:M1110
|
Linear Algebra and Geometry I |
---|---|
PřF:M2110
|
Linear Algebra and Geometry II |
PřF:M1100
|
Mathematical Analysis I |
PřF:M2100
|
Mathematical Analysis II |
PřF:M2150
|
Algebra I |
Choice in advanced mathematics Pass at least 1 course of the following list | |
PřF:M3150
|
Algebra II |
PřF:M3100
|
Mathematical Analysis III |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Spring 2026 (4. term)
Fall 2026 (5. term)
Spring 2027 (6. term)
Study option: Major
Compulsory courses and other obligations of the study option
Pass all obligatory courses of the program. | |
Fulfill conditions of Minor of another study program. |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Spring 2026 (4. term)
Fall 2026 (5. term)
Study option: Minor
Compulsory courses and other obligations of the study option
IB000ext
|
Mathematical Foundations of Computer Science |
---|---|
IB110
|
Introduction to Informatics |
IB113
|
Introduction to Programming and Algorithms |
IB114
|
Introduction to Programming and Algorithms II |
PB001
|
Introduction to Information Technologies |
PB016
|
Introduction to Artificial Intelligence |
PB153
|
Operating Systems and their Interfaces |
PB156
|
Computer Networks |
PB168
|
Introduction to DB and IS |
PV004
|
UNIX |
PV157
|
Authentication and Access Control |
IV130
|
Pros and Cons of Intelligent Systems |
IV109
|
Modeling and Simulation |
SZB
|
State Exam (Bc degree) |
Recommended course of study
Fall 2025 (3. term)
Spring 2026 (4. term)
Fall 2026 (5. term)
bachelor's program without specializations
The focus of the Programming and development bachelor program is design, creation, implementation, and program maintenance technology and in lesser amount also technical equipment of modern computer systems and digitally controlled systems. Graduates of the program will have a fundamental understanding of the whole computer systems life cycle, starting with computer architectures, programming and software engineering, through computer networks and operating systems and ending with the development of embedded systems. This technological view is supported by the necessary mathematical foundations and by an introduction to design principles of secure computer systems. An important feature of the program is the focus on continuous practical verification of attained knowledge, including semestral project and voluntary semester-long internship. The goal of this program is to focus the graduates on the solving the technological (real world) problems.
Graduates are able to immediately work as junior programmers, designers or members of a test team with fundamentals broad enough for following professional and career growth.
Requirements for successful graduation
- Obtain at least 180 credits overall and pass the final state exam.
- Obtain 10 credits for SBAPR course and successfully defend Bachelor's Thesis. See more details.
- Pass all the compulsory and elective courses of the program with the highest possible graduation form (unless explicitly stated otherwise).
- Fulfil the condition of 12 weeks of supervised professional internship.
Compulsory courses of the program
IB000
|
Mathematical Foundations of Computer Science |
---|---|
IB002
|
Algorithms and data structures I |
IB015
|
Non-Imperative Programming |
IB109
|
Design and Implementation of Parallel Systems |
IB110
|
Introduction to Informatics |
IB111
|
Foundations of Programming |
PB006
|
Principles of Programming Languages and OOP |
PB007
|
Software Engineering I |
PB111
|
Principles of low-level programming |
PB138
|
Basics of web development and markup languages |
PB151
|
Computer Systems |
PB152
|
Operating Systems |
PB152cv
|
Operating Systems - practicals |
PB154
|
Database Systems |
PB156
|
Computer Networks |
PB156cv
|
Computer Networks - practicals |
PB175
|
Project managment and project |
PB176
|
Basics of Quality and Managment of Source Code |
PV004
|
UNIX |
PV028
|
Applied Information Systems |
PV080
|
Information security and cryptography |
PV170
|
Design of Digital Systems |
MB141
|
Linear algebra and discrete mathematics |
MB142
|
Applied math analysis |
MB143
|
Design and analysis of statistical experiments |
Typesetting and academic writing Pass at least 1 course of the following list | |
VB000
|
Elements of Style |
VB000Eng
|
Introduction to Academic Writing |
PB029
|
Electronic Document Preparation |
VB001
|
English Exam |
SB100Reg
|
Registration for SB100 |
SB100
|
Bachelor Internship - Programming and Development |
SBPrip
|
Revisions for Bachelor State Exam |
SBAPR
|
Bachelor Thesis |
Programming Pass at least 2 courses of the following list | |
PB160
|
C Programming |
PB161
|
C++ Programming |
PB162
|
Java |
PB174
|
Python Programming |
PV178
|
Introduction to Development in C#/.NET |
English Obtain at least 3 credits by passing courses of the following list | |
VB035
|
English Skills for IT I |
VB036
|
English Skills for IT II |
VV064
|
Academic and Professional Skills in English for IT |
Physical education Pass at least 2 courses of the following list | |
FSpS:p9*
|
Courses for compulsory physical education |
SOBHA
|
Defence of Thesis |
SZB
|
State Exam (Bc degree) |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Spring 2026 (4. term)
-
MB143
Design and analysis of statistical experiments -
IB110
Introduction to Informatics -
PB156cv
Computer Networks - practicals -
PB175
Project managment and project -
PB176
Basics of Quality and Managment of Source Code - Choice: Any course from Programming secion
- Choice: Any course from Programming secion
-
SB100Reg
Registration for SB100
Fall 2026 (5. term)
Spring 2027 (6. term)
bachelor's program without specializations
The program will meet the growing interest of both high school graduates and already employed jobseekers without formal education in the field who carry out professions where knowledge and skills in cybersecurity.
Graduates will be ready for a professional of system administrators, operators in information security operations center, CSIRT team members, lower- or middle management in cybersecurity; software engineers of security-relevant IT applications and systems, as well as cybersecurity trainers or assistants to cybersecurity managers.
Requirements for successful graduation
- Obtain at least 180 credits overall and pass the final state exam.
- Obtain 10 credits for SBAPR course and successfully defend Bachelor's Thesis. See more details.
- Pass all the compulsory and elective courses of the program with the highest possible graduation form (unless explicitly stated otherwise).
Compulsory courses of the program
FSS:BSSb1203
|
Introduction to Cybersecurity in Concept of Security and Strategic Studies |
---|---|
FSS:BSSb1103
|
Security Policy of the Czech Republic |
FSS:BSSb1152
|
Cyber Warfare |
PrF:BI301K
|
ICT Law II |
PrF:BVV03K
|
Cybercriminality |
MB141
|
Linear algebra and discrete mathematics |
IB000
|
Mathematical Foundations of Computer Science |
IB110
|
Introduction to Informatics |
IB111
|
Foundations of Programming |
IB114
|
Introduction to Programming and Algorithms II |
IV130
|
Pros and Cons of Intelligent Systems |
PB007
|
Software Engineering I |
PB111
|
Principles of low-level programming |
PB112
|
Foundations of Object Oriented Programming in Java |
PB151
|
Computer Systems |
PB152
|
Operating Systems |
PB152cv
|
Operating Systems - practicals |
PB156
|
Computer Networks |
PB156cv
|
Computer Networks - practicals |
PB177
|
Cyber Attacks |
Databases Pass at least 1 course of the following list | |
PB168
|
Introduction to DB and IS |
PB154
|
Database Systems |
PV004
|
UNIX |
PV017
|
Information Technology Security |
PV028
|
Applied Information Systems |
PV080
|
Information security and cryptography |
PV157
|
Authentication and Access Control |
PV175
|
MS Windows Systems Management I |
PV210
|
Cybersecurity in an Organization |
Typesetting and academic writing Pass at least 1 course of the following list | |
VB000
|
Elements of Style |
VB000Eng
|
Introduction to Academic Writing |
PB029
|
Electronic Document Preparation |
VB001
|
English Exam |
SB200Reg
|
Registration for SB200 |
SB200
|
Bachelor Internship - Cybersecurity |
SBAPR
|
Bachelor Thesis |
English Obtain at least 3 credits by passing courses of the following list | |
VB035
|
English Skills for IT I |
VB036
|
English Skills for IT II |
VV064
|
Academic and Professional Skills in English for IT |
Physical education Pass at least 2 courses of the following list | |
FSpS:p9*
|
Courses for compulsory physical education |
SOBHA
|
Defence of Thesis |
SZB
|
State Exam (Bc degree) |
Recommended course of study
Fall 2024 (1. term)
-
FSS:BSSb1203
Introduction to Cybersecurity in Concept of Security and Strategic Studies -
IB000
Mathematical Foundations of Computer Science -
IB111
Foundations of Programming -
PB151
Computer Systems - Choice: Any course from Databases secion
-
VB035
English Skills for IT I - Choice: Any course from Physical education secion
Spring 2025 (2. term)
-
IB114
Introduction to Programming and Algorithms II -
PB111
Principles of low-level programming -
PB152
Operating Systems -
PB156
Computer Networks -
PB156cv
Computer Networks - practicals -
PV004
UNIX -
PV080
Information security and cryptography -
VB036
English Skills for IT II - Choice: Any course from Physical education secion
Fall 2025 (3. term)
-
FSS:BSSb1152
Cyber Warfare -
PrF:BI301K
ICT Law II -
PB152cv
Operating Systems - practicals -
PB177
Cyber Attacks -
PV017
Information Technology Security -
PV175
MS Windows Systems Management I -
PV210
Cybersecurity in an Organization -
VB001
English Exam
Spring 2026 (4. term)
Fall 2026 (5. term)
Spring 2027 (6. term)
-
PrF:BVV03K
Cybercrime and Cybersecurity -
VB000
Elements of Style -
SBAPR
Bachelor Thesis -
SOBHA
Defence of Thesis -
SZB
State Exam (Bc degree)
bachelor's program without specializations supporting Major/Minor study
The aim of this bachelor's study program is to equip applicants with the necessary professional knowledge and the necessary minimum of psychological-pedagogical knowledge for successful work in education in the field of informatics. The program is also a program that in combination with a follow-up teaching program at MU, prepares graduates for the teaching profession. The degree is open only in the minor version in cooperation with the degrees of the Faculty of Science of Masaryk University. The final thesis can be prepared and defended either within the main study programme or by enrolling in the SBAPR Bachelor Thesis course at FI and arranging the assignment with the supervisor at FI.
The graduate is ready to continue studying in a follow-up teaching program at MU or can work in various training centers with a focus on IT training.
Requirements for successful graduation
- Obtain at least 180 credits overall and pass the final state exam.
- Obtain 10 credits for SBAPR course and successfully defend Bachelor's Thesis. See more details.
- Pass all the compulsory and elective courses of the selected study option with the highest possible graduation form (unless explicitly stated otherwise).
Study option: Minor
Compulsory courses and other obligations of the study option
IB000ext
|
Mathematical Foundations of Computer Science |
---|---|
IB110
|
Introduction to Informatics |
IB113
|
Introduction to Programming and Algorithms |
IB114
|
Introduction to Programming and Algorithms II |
PB112
|
Foundations of Object Oriented Programming in Java |
PB150
|
Computer-Systems Architectures |
PB153
|
Operating Systems and their Interfaces |
PB156
|
Computer Networks |
PV157
|
Authentication and Access Control |
PB007
|
Software Engineering I |
PB168
|
Introduction to DB and IS |
Informatics teching Pass at least 1 course of the following list | |
DUCIT
|
Teaching Lab |
UB001
|
Assesment of teaching in Informatics |
VB036
|
English Skills for IT II |
SBPrip
|
Revisions for Bachelor State Exam |
Application development Pass at least 1 course of the following list | |
PB138
|
Basics of web development and markup languages |
PV256
|
Introduction to Development for Android |
Collect at least 70 credits from courses tought at FI with prefixes I or P. |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Spring 2026 (4. term)
Fall 2026 (5. term)
Follow-up Master's Degree Programs (Czech)
follow-up master's program (Czech) with specializations
The study of theoretical computer science focuses on a deeper understanding of basic principles underpinning the development of contemporary information technologies, including non-classical computational devices such as neural networks or quantum computers. Together with the active mastering of advanced theoretical as well as practical concepts, a special emphasis is put on the development of abstract thinking. The students gain a deeper understanding of advanced algorithms, principles of modern programming languages, and methods for verification and analysis of computer programs. Further, they understand the basic advantages and limitations of non-classical computational devices. After successfully completing the programme, the students are qualified for a wide variety of positions requiring complex expert skills.
After successfully completing the study programme, the students are qualified for a variety of IT positions including a developer, system architect, or verification engineer. Solid mathematical skills together with deep knowledge of non-trivial algorithms enable the students to find jobs in the financial sector. The acquired knowledge and skills may be well used also in the follow-up Ph.D. programme.
Requirements for successful graduation
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR course and successfully defend Master's Thesis. See more details.
- Pass all the compulsory and elective courses of the program and selected specialization with the highest possible graduation form (unless explicitly stated otherwise).
- Fulfil requirements of at least one specialization.
Compulsory courses of the program
IA006
|
Selected topics on automata theory |
---|---|
Logic and reasoning Pass at least 1 course of the following list | |
IA008
|
Computational Logic |
IA085
|
Satisfiability and Automated Reasoning |
IA011
|
Programming Language Semantics |
IA012
|
Complexity |
IV003
|
Algorithms and Data Structures II |
IV111
|
Probability in Computer Science |
MA007
|
Mathematical Logic |
PV027
|
Optimization |
SOBHA
|
Defence of Thesis |
SZMGR
|
State Exam (MSc degree) |
Specialization: Discrete algorithms and models
Students specializing in Discrete Algorithms and Models will gain advanced knowledge in a wide range of areas of theoretical computer science and related areas of mathematics. Graduates of the specialization will be able to solve very demanding tasks from selected areas of theoretical computer science and will have basic experience with scientific work similar to doctoral studies.
Compulsory courses of the specialization
IA101
|
Algorithmics for Hard Problems |
---|---|
IA168
|
Algorithmic game theory |
MA010
|
Graph Theory |
MA015
|
Graph Algorithms |
Advanced mathematics and algorithms Pass at least 3 courses of the following list | |
MA017
|
Geometric Algorithms |
PV021
|
Neural Networks |
IA174
|
Fundaments of Cryptography |
IA062
|
Randomized Algorithms and Computations |
PřF:M8190
|
Number Theoretic Algorithms |
MA009
|
Algebra II |
MA026
|
Advanced Combinatorics |
Choice of Seminar Obtain at least 2 credits by passing courses of the following list | |
IA072
|
Seminar on Verification |
IV115
|
Parallel and Distributed Laboratory Seminar |
IV131
|
Seminar of Discrete Methods and Algorithms Laboratory |
IV125
|
Formela lab seminar |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Quantum and other Nonclassical Computational Models
Specialization Quantum and other Nonclassical Computational Models will familiarize students with problem solving methods, which are computationally demanding on conventional computers. Graduates are also familiar with the principles, benefits and limitations of non-classical computing systems such as neural networks or quantum computers.
Compulsory courses of the specialization
IV100
|
Parallel and distributed computations |
---|---|
IA062
|
Randomized Algorithms and Computations |
IA066
|
Introduction to Quantum Computing |
IA082
|
Physical concepts of quantum information processing |
IA101
|
Algorithmics for Hard Problems |
IA174
|
Fundaments of Cryptography |
PV056
|
Machine Learning and Data Mining |
PV021
|
Neural Networks |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Formal Analysis of Computer Systems
The specialization Formal Analysis of Computer Systems focuses on formal methods for modeling, analysis, testing, and verification of computer programs as one of the basic building blocks of software systems development. Students get acquainted with the principles of modern verification tools and master practical skills required for working in teams responsible for ensuring the quality of the software products (quality assurance teams).
Compulsory courses of the specialization
IA023
|
Petri Nets |
---|---|
IA085
|
Satisfiability and Automated Reasoning |
IA159
|
Formal Methods for Software Analysis |
IA168
|
Algorithmic game theory |
IA169
|
Model Checking |
IA175
|
Algorithms for Quantitative Verification |
IV120
|
Continuous and Hybrid Systems |
Choice of Seminar Obtain at least 4 credits by passing courses of the following list | |
IA072
|
Seminar on Verification |
IV115
|
Parallel and Distributed Laboratory Seminar |
IV131
|
Seminar of Discrete Methods and Algorithms Laboratory |
IV125
|
Formela lab seminar |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Principles of Programming Languages
Specialization Principles of programming languages provide a deeper insight into the paradigms of modern programming languages and the structure of their compilers. Graduates can choose the optimal programming tools for a given application type and can quickly acquire new programming languages.
Compulsory courses of the specialization
IA010
|
Principles of Programming Languages |
---|---|
IA014
|
Advanced Functional Programming |
Advanced Types Pass at least 1 course of the following list | |
IA038
|
Types and Proofs |
IA081
|
Lambda calculus |
IA159
|
Formal Methods for Software Analysis |
IA174
|
Fundaments of Cryptography |
IV010
|
Communication and Parallelism |
PA008
|
Compiler Construction |
PA037
|
Compiler Project |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
follow-up master's program (Czech) with specializations
Software systems are in an increasing way supporting most activities of human endeavour, which puts emphasis on the quality of their design, development, testing, deployment and operations. Software engineering integrates skills, techniques and tools for systematic support of these activities, with emphasis on guaranteed quality of the software product. The goal of the study programme is to build the competencies of the students related to software engineering, including their understanding of deeper relations necessary when developing large-scale software systems, where each individual design decision critically impacts the quality and vitality of the final system or service. An integral part of the education is the practical training in terms of software development, as well as working within a software team, including experience with team-leading. These skills are necessary for meeting the expectations of the relevant job positions in industry. The practical skills will be acquired mainly within internships in industry but also when working on projects under the supervision of experts from practice. Given that the degree program is accredited in a professional profile, the content of the curriculum include six weeks of compulsory practice. The study applicant is expected to have intermediate knowledge of programming in the chosen object-oriented language, or the willingness to complete this knowledge during the course of study. At the same time, the applicant is expected to know English at least at the B2 level, which is necessary for working with study materials in English and cooperation with students and teachers from abroad.
The graduates of this study programme are equipped for the position of a senior software developer (in case of the Design and development of software systems) and a deployment (or DevOps) engineer (in case of the Deployment and operations of software systems), including leading roles within software development teams.
Requirements for successful graduation
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR course and successfully defend Master's Thesis. See more details.
- Pass all the compulsory and elective courses of the program and selected specialization with the highest possible graduation form (unless explicitly stated otherwise).
- Fulfil requirements of at least one specialization.
Compulsory courses of the program
PA017
|
Information Systems Management |
---|---|
PV157
|
Authentication and Access Control |
PV260
|
Software Quality |
PA179
|
Project Management |
PA053
|
Distributed Systems and Middleware |
SOBHA
|
Defence of Thesis |
SZMGR
|
State Exam (MSc degree) |
SA200Reg
|
Registration for SA200 |
SA200
|
Internship - Software Engineering |
Programing Obtain at least 12 credits by passing courses of the following list | |
IA014
|
Advanced Functional Programming |
IB016
|
Seminar on Functional Programming |
PA165
|
Enterprise Applications in Java |
PV179
|
System Development in C#/.NET |
PV168
|
Seminar in Java programming |
PV178
|
Introduction to Development in C#/.NET |
PV264
|
Seminar on programming in C++ |
PV248
|
Python Seminar |
PV249
|
Development in Ruby |
PV255
|
Game Development I |
PV197
|
GPU Programming |
PV198
|
Onechip Controllers |
PV239
|
Mobile Application Development |
PV281
|
Programming in Rust |
PV288
|
Python |
PV292
|
Multiplatform Flutter Application Development |
Advanced Programing Pass at least 1 course of the following list | |
PA165
|
Enterprise Applications in Java |
PV179
|
System Development in C#/.NET |
Data Storage Pass at least 1 course of the following list | |
PV003
|
Relational Database System Architecture |
PA152
|
Efficient Use of Database Systems |
Networking Pass at least 1 course of the following list | |
PA159
|
Net-Centric Computing I |
PA191
|
Advanced Computer Networking |
Specialization: Design and Development of Software Systems
Within the Design and development of software systems specialization, the emphasis is put on the design of high-quality software architecture and skills in programming and software development as such (including user-interface design, secure coding principles, data analytics).
Compulsory courses of the specialization
PA103
|
Object-oriented Methods for Design of Information Systems |
---|---|
PA187
|
Project managment and project |
PA036
|
Database System Project |
Extended Programing Obtain at least 17 credits by passing courses of the following list | |
IA014
|
Advanced Functional Programming |
IB016
|
Seminar on Functional Programming |
PA165
|
Enterprise Applications in Java |
PA200
|
Cloud Computing |
PV179
|
System Development in C#/.NET |
PV168
|
Seminar in Java programming |
PV178
|
Introduction to Development in C#/.NET |
PV264
|
Seminar on programming in C++ |
PV248
|
Python Seminar |
PV249
|
Development in Ruby |
PV255
|
Game Development I |
PV197
|
GPU Programming |
PV198
|
Onechip Controllers |
PV239
|
Mobile Application Development |
PV281
|
Programming in Rust |
PV288
|
Python |
PV292
|
Multiplatform Flutter Application Development |
Data Analysis Pass at least 1 course of the following list | |
PA220
|
Database systems for data analytics |
PA212
|
Advanced Search Techniques for Large Scale Data Analytics |
Design and Analysis Pass at least 1 course of the following list | |
PV167
|
Seminar on Design and Architecture Patterns |
PV258
|
Software Requirements Engineering |
PV293
|
Softwarové architectures |
Information Security Pass at least 1 course of the following list | |
PV286
|
Secure coding principles and practices |
PV017
|
Information Technology Security |
User Interfaces Pass at least 1 course of the following list | |
PV247
|
Modern Development of User Interfaces |
PV252
|
Frontend Web Development and User Experience |
PV278
|
Development of Intuitive User Interfaces |
PV182
|
Human-Computer Interaction |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Deployment and Operations of Software Systems
Within the Deployment and operations of software systems specialization, the emphasis is put on the design of high-quality infrastructure for the operation of the software system and the ability to interlink the software development with its deployment and operation (including topics like secure infrastructure design, computer networks, cloud computing, UNIX administration).
Compulsory courses of the specialization
PA195
|
NoSQL Databases |
---|---|
PA160
|
Net-Centric Computing II |
PV175
|
MS Windows Systems Management I |
PV065
|
UNIX -- Programming and System Management I |
PV077
|
UNIX -- Programming and System Management II |
PA200
|
Cloud Computing |
Information Security Pass at least 2 courses of the following list | |
PA018
|
Advanced Topics in Information Technology Security |
PA211
|
Cybersecurity Operations |
PB177
|
Cyber Attacks |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
follow-up master's program (Czech) with specializations
The Artificial Intelligence and Data Processing program prepares students to work in the areas of design and development of intelligent systems and analysis of big data. These areas are currently undergoing very fast development and are becoming increasingly important. The program leads students to a thorough understanding of basic theoretical concepts and methods. During the study students also solve specific case studies to familiarize themselves with the currently used tools and technologies. Students will thus gain experience that will allow them to immediately use the current state of knowledge in practice, as well as solid foundations, which will enable them to continue to independently follow the developments in the field. The program is divided into four specializations that provide deeper knowledge in a chosen direction. Specializations share a common core, where students learn the most important mathematical, algorithmic, and technological aspects of the field. Machine Learning and Artificial Intelligence specialization lead graduates to gain in-depth knowledge of machine learning and artificial intelligence techniques and to gain experience with their practical application. Natural Language Processing specialization prepares graduates to work with natural languages (eg. Czech, English) in written and spoken form from the perspective of computer science. Data Management and Analysis specialization focus on data science, which creates value from big data by collecting, exploring, interpreting, and presenting data from different viewpoints with the goal of so-called business intelligence. Bioinformatics and Systems Biology specialization focuses on computational methods for automated analysis of large biological data and on creating predictive models of biological processes with the goal to better understand complex biological systems.
Due to the dynamic development of the area, the graduates have a wide range of career opportunities, with specific employment positions being created continuously during the course of their studies. Examples of different types of possible positions: positions in applied and basic research, typically concerning extensive data processing, often also in collaboration with experts from other disciplines such as biology or linguistics; positions in companies with an immediate interest in artificial intelligence and data processing (e.g., Seznam, Google) such as Data Scientist and Machine Learning Engineer; positions in companies that have extensive, valuable data (such as banking, telecom operators) or companies focusing on cloud data analysis, e.g., Business Intelligence Analyst or Data Analyst; graduates can also start their own start-up specializing in the use of artificial intelligence methods in a particular area.
Requirements for successful graduation
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR course and successfully defend Master's Thesis. See more details.
- Pass all the compulsory and elective courses of the program and selected specialization with the highest possible graduation form (unless explicitly stated otherwise).
- Fulfil requirements of at least one specialization.
Compulsory courses of the program
MA012
|
Statistics II |
---|---|
IV126
|
Fundamentals of Artificial Intelligence |
PA234
|
Infrastuctural and Cloud Systems |
PA152
|
Efficient Use of Database Systems |
PV021
|
Neural Networks |
PV056
|
Machine Learning and Data Mining |
PV211
|
Introduction to Information Retrieval |
PV251
|
Visualization |
SOBHA
|
Defence of Thesis |
SZMGR
|
State Exam (MSc degree) |
Specialization: Machine Learning and Artificial Intelligence
Machine Learning and Artificial Intelligence specialization leads graduates to gain in-depth knowledge of machine learning and artificial intelligence techniques and to gain experience with their practical application.
Compulsory courses of the specialization
IV111
|
Probability in Computer Science |
---|---|
IA008
|
Computational Logic |
PA163
|
Constraint programming |
Optimizations and Numeric Computing Pass at least 1 course of the following list | |
PV027
|
Optimization |
MA018
|
Numerical Methods |
PřF:M7PNM1
|
Advanced numerical methods I |
Applications of Machine Learning I Pass at least 2 courses of the following list | |
PA153
|
Natural Language Processing |
PA228
|
Machine Learning in Image Processing |
PA230
|
Reinforcement Learning |
Applications of Machine Learning II Pass at least 1 course of the following list | |
IA267
|
Scheduling |
PA212
|
Advanced Search Techniques for Large Scale Data Analytics |
PA128
|
Similarity Searching in Multimedia Data |
PV254
|
Recommender Systems |
PA164
|
Machine learning and natural language processing |
IA168
|
Algorithmic game theory |
Projects and Laboratory Obtain at least 4 credits by passing courses of the following list | |
PA026
|
Artificial Intelligence Project |
PV115
|
Laboratory of Knowledge Discovery |
IV127
|
Adaptive Learning Seminar |
IV125
|
Formela lab seminar |
PV253
|
Seminar of DISA Laboratory |
PV212
|
Seminar on Machine Learning, Information Retrieval, and Scientific Visualization |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
-
PV056
Machine Learning and Data Mining -
PA152
Efficient Use of Database Systems -
PA234
Infrastuctural and Cloud Systems -
PV211
Introduction to Information Retrieval -
IA008
Computational Logic - Choice: Any course from Optimizations and Numeric Computing secion
- Choice: Any course from Applications of Machine Learning I secion
Fall 2025 (3. term)
- Choice: Any course from Optimizations and Numeric Computing secion
- Choice: Any course from Applications of Machine Learning I secion
- Choice: Any course from Applications of Machine Learning II secion
- Choice: Any course from Projects and Laboratory secion
-
SDIPR
Diploma Thesis
Specialization: Processing and Analysis of Large-scale Data
Processing and analysis of large-scale data specialization focuses on data science, which creates value from big data by collecting, exploring, interpreting, and presenting data from different viewpoints with the goal of so called business intelligence.
Compulsory courses of the specialization
PA017
|
Information Systems Management |
---|---|
PA128
|
Similarity Searching in Multimedia Data |
PA195
|
NoSQL Databases |
PA200
|
Cloud Computing |
PA212
|
Advanced Search Techniques for Large Scale Data Analytics |
PA220
|
Database systems for data analytics |
Data Algorithms Obtain at least 4 credits by passing courses of the following list | |
PA228
|
Machine Learning in Image Processing |
PV079
|
Applied Cryptography |
IA267
|
Scheduling |
PV254
|
Recommender Systems |
MA015
|
Graph Algorithms |
Projects and Laboratory Obtain at least 4 credits by passing courses of the following list | |
PV253
|
Seminar of DISA Laboratory |
PV115
|
Laboratory of Knowledge Discovery |
PV229
|
Multimedia Similarity Searching in Practice |
PA036
|
Database System Project |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Natural Language Processing
Natural Language Processing specialization prepares graduates to work with natural languages (eg. Czech, English) in written and spoken form from the perspective of computer science.
Compulsory courses of the specialization
IA161
|
Natural Language Processing in Practice |
---|---|
IV111
|
Probability in Computer Science |
PA153
|
Natural Language Processing |
PA154
|
Language Modeling |
IA008
|
Computational Logic |
Math Pass at least 2 courses of the following list | |
MA007
|
Mathematical Logic |
MA010
|
Graph Theory |
MA015
|
Graph Algorithms |
MV008
|
Algebra I |
MA018
|
Numerical Methods |
PřF:M7130
|
Computational geometry |
Natural Language Processing Pass at least 1 course of the following list | |
PA164
|
Machine learning and natural language processing |
PV061
|
Machine Translation |
IV029
|
Introduction to Transparent Intensional Logic |
Seminar or Project Obtain at least 2 credits by passing courses of the following list | |
PV173
|
Natural Language Processing Seminar |
PV277
|
Programming Applications for Social Robots |
PB106
|
Corpus Linguistic Project I |
PA107
|
Corpus Tools Project |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Bioinformatics and System Biology
Specialization Bioinformatics and System Biology is intended for students who want to acquire, besides the general knowledge of informatics, the latest knowledge in dynamically developing fields at the border of informatics and biology. By selecting this specialization, the student acquires deep knowledge about the processing, storage, and analysis of biological data or the use of formal methods for analysis and prediction of the behavior of biological systems.
Compulsory courses of the specialization
IV106
|
Bioinformatics seminar |
---|---|
IV108
|
Bioinformatics II |
IV110
|
Project in Sequence Analysis |
IV120
|
Continuous and Hybrid Systems |
PA054
|
Formal Methods in Systems Biology |
PA183
|
Project in Systems Biology |
PB050
|
Modelling and Prediction in Systems Biology |
PB172
|
Systems Biology Seminar |
PV225
|
Laboratory of Systems Biology |
PV290
|
Chemoinformatics |
Applications Pass at least 1 course of the following list | |
PV269
|
Advanced methods in bioinformatics |
PV270
|
Biocomputing |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
follow-up master's program (Czech) with specializations
The study program develops unique competence profile of the student based on the intersection of multiple areas of knowledge that are relevant for managing the development of software systems and services, as well as cybersecurity management. A specific feature is a focus on strategic and operational management related to the targeting, design, implementation, and operation of software systems and services within the context of organizations and different types with a possible focus on their safe operation or IT services. In addition to developing basic theoretical and technological knowledge and practical developmental skills acquired in the bachelor's study, the content of the follow-up study is extended by other dimensions such as theories and practices of team, project and process management, communication, soft skills and knowledge essential to functioning in economic relations - the basics of marketing, law and others, which especially (but not only) concerns the specialization of service development. The cybersecurity study takes into account aspects of overlapping computer data processing outside of tightly defined system perimeters (e.g. impacting on critical infrastructure), thus enabling a specific multidisciplinary overlap of technical, social and legal aspects in this area.
The graduates find employment in companies and organizations of different sizes and orientation, but they also get the motivation and the possibility of basic preparation for their own innovative business. The strong competitive advantage of the program graduates is the ability to solve complex management-related problems of the development of systems and services for which they can use the acquired skills by the study. Their potential is predestined to hold managerial positions, such as the Chief Information Officer (CIO), project manager, and risk manager. Graduates of the cybersecurity management specialization will find application primarily in companies and institutions that need specialists able to work with relevant coordinating institutions and ensure the management of cybersecurity processes. These are positions as a cybersecurity manager and Chief Information Security Officer (CISO).
Requirements for successful graduation
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR course and successfully defend Master's Thesis. See more details.
- Pass all the compulsory and elective courses of the program and selected specialization with the highest possible graduation form (unless explicitly stated otherwise).
- Fulfil requirements of at least one specialization.
Compulsory courses of the program
PA017
|
Information Systems Management |
---|---|
PV206
|
Communication and Soft Skills |
MV013
|
Statistics for Computer Science |
PA152
|
Efficient Use of Database Systems |
PA179
|
Project Management |
PV215
|
Management by Competencies |
SOBHA
|
Defence of Thesis |
SZMGR
|
State Exam (MSc degree) |
SA100Reg
|
Registration for SA100 |
SA100
|
Internship - Management |
Security Pass at least 1 course of the following list | |
PV079
|
Applied Cryptography |
PV080
|
Information security and cryptography |
Management Pass at least 1 course of the following list | |
PA182
|
Managing in Reality |
PV214
|
IT Service Management based on ITIL |
PV237
|
Strategy and Leadership |
PV271
|
Risk Management in IT |
PV203
|
IT Services Management |
Specialization: Service Development Management
Services Development Management specialization follows the current large shift from the traditional paradigm of IT design to IT as a service and from product-oriented economy to service-oriented one. Problems and tasks in IT are becoming more complex and the knowledge of IT technology is not sufficient for solving them. A multidisciplinary view is the core of this specialization. Students will gain not only sound IT knowledge (programming, databases, computer security, networks, etc.), but also the skills necessary to understand problems in their complexity (marketing, management, finance or law) as well as necessary communication competencies.
Compulsory courses of the specialization
IV124
|
Complex Networks |
---|---|
PA116
|
Domain Understanding and Modeling |
PA194
|
Introduction to Service Science |
PA181
|
Services - Systems, Modeling and Execution |
PV207
|
Business Process Management |
Economy Pass at least 1 course of the following list | |
PV028
|
Applied Information Systems |
PV241
|
Enterprise and Financial Management |
Soft skills Pass at least 1 course of the following list | |
ESF:MPV_RKMD
|
Communication and Managerial Skills training |
ESF:MPV_COMA
|
Communication and Managerial Skills Training |
ESF:MPP_CEIT
|
Czech and European Law of Information Technologies |
PV236
|
Time Management and Effectiveness |
PV209
|
Person Centered Communication |
IV064
|
Information Society |
PA212
|
Advanced Search Techniques for Large Scale Data Analytics |
PV263
|
Intercultural Management |
Marketing Pass at least 1 course of the following list | |
PV216
|
Marketing Strategy in Service Business |
PV240
|
Introduction to service marketing |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Specialization: Cybersecurity Management
Cybersecurity Management specialization takes into account the aspects of computer data processing beyond the well-defined system perimeters (e.g., critical infrastructure impact), reflected in the area of cybersecurity and allowing a specific multi-disciplinary overlap of both technical and social and legal aspects of cybersecurity.
Compulsory courses of the specialization
PrF:BVV14K
|
Theory and Method of ICT Law |
---|---|
IA174
|
Fundaments of Cryptography |
PrF:BI301K
|
ICT Law II |
PA197
|
Secure Network Design |
PA211
|
Cybersecurity Operations |
PV079
|
Applied Cryptography |
PA018
|
Advanced Topics in Information Technology Security |
PrF:BVV03K
|
Cybercriminality |
IV128
|
Online Communication from Social Science Perspective |
Cybersecurity Pass at least 1 course of the following list | |
PV204
|
Security Technologies |
PV210
|
Cybersecurity in an Organization |
PV297
|
Cybersecurity Training |
Recommended course of study
Fall 2024 (1. term)
-
PA017
Information Systems Management -
PV206
Communication and Soft Skills -
PV079
Applied Cryptography -
PrF:BVV14K
Theory and Method of ICT Law -
IA174
Fundaments of Cryptography -
PrF:BI301K
ICT Law II
Spring 2025 (2. term)
Fall 2025 (3. term)
Spring 2026 (4. term)
- Choice: Any course from Management secion
-
PrF:BVV03K
Cybercrime and Cybersecurity -
IV128
Online Communication from Social Science Perspective -
SDIPR
Diploma Thesis -
SOBHA
Defence of Thesis -
SZMGR
State Exam (MSc degree)
follow-up master's program (Czech) with specializations
The study program Visual Informatics prepares students to work with image information and spatial scene models that involve or touch areas such as computer graphics, image processing, visualisation, computer vision, virtual and expanded reality, video processing, pattern recognition, human-computer communication, 3D modeling, animation, graphic design, and machine learning.
The graduate will find application in various fields, such as the development of graphics applications, simulators, computer games, applications for multimedia processing and analysis, visualisation of data, virtual and enhanced reality or creation of the professional-level graphic design. For example, a graduate may be an analyst, graphic designer, application programmer, research or development team leader. The acquired theoretical knowledge and practical skills allow them to thoroughly understand the problems solved and will make it possible in practice to use a wide range of modern technologies - from common mobile devices to dedicated systems with high computing power.
Requirements for successful graduation
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR course and successfully defend Master's Thesis. See more details.
- Pass all the compulsory and elective courses of the program and selected specialization with the highest possible graduation form (unless explicitly stated otherwise).
- Fulfil requirements of at least one specialization.
Compulsory courses of the program
IV003
|
Algorithms and Data Structures II |
---|---|
MA018
|
Numerical Methods |
MV013
|
Statistics for Computer Science |
PA103
|
Object-oriented Methods for Design of Information Systems |
PA010
|
Intermediate Computer Graphics |
PV021
|
Neural Networks |
PV182
|
Human-Computer Interaction |
PV189
|
Mathematics for Computer Graphics |
VV035
|
3D Modeling |
SOBHA
|
Defence of Thesis |
SZMGR
|
State Exam (MSc degree) |
Specialization: Computer Graphics and Visualisation
Computer Graphics and Visualisation specialization offers a set of courses about basic principles, as well as the latest achievements in computer graphics and data visualisation. These are accompanied by courses providing the students with the necessary basic background in informatics. We are particularly focusing on the applicability of the presented topics and their utilization in other disciplines and research areas. Students will learn about basic principles and algorithms, forming the building blocks of final visual outputs. These can be, for example, in a form of real-time rendering or large scenes or visualisation design of complex multidimensional datasets. In seminars and projects, students will enrich this knowledge by implementational tasks on selected topics.
Compulsory courses of the specialization
MA017
|
Geometric Algorithms |
---|---|
PA213
|
Advanced Computer Graphics |
PA093
|
Computational Geometry Project |
PA157
|
Seminar on Computer Graphics Research |
PA166
|
Advanced Methods of Digital Image Processing |
PA214
|
Visualization II |
PV160
|
Laboratory of Human-Computer Interaction |
PV227
|
GPU Rendering |
PV251
|
Visualization |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Image Processing and Analysis
Image Processing and Analysis specialization provides a comprehensive view of getting and processing image information, starting with simple image editing using point transformations or linear filters, and ending with sophisticated tools such as mathematical morphology or deformable models. Graduates will find their place in the development and deployment of imaging systems in a variety of fields, for example in medicine, biology, meteorological and geographic data processing, biometric applications, etc.
Compulsory courses of the specialization
MA017
|
Geometric Algorithms |
---|---|
PA093
|
Computational Geometry Project |
PA166
|
Advanced Methods of Digital Image Processing |
PA170
|
Digital Geometry |
PA229
|
Digital Image Processing |
PA172
|
Image Acquisition |
PA173
|
Mathematical Morphology |
PV187
|
Seminar of digital image processing |
PV197
|
GPU Programming |
PA228
|
Machine Learning in Image Processing |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Computer Game Development
Computer Games Development specialization gives students insight into the multidisciplinary process of digital games development. Students will get acquainted with the principles of game design as well as with modern tools and techniques for the implementation of games and other applications based on game technologies, including the use of augmented and virtual reality. Emphasis is also placed on the visual aspects of game development – from the authoring of 3D models up to the programming of modern graphics cards. In addition to lectures covering theoretical principles, the study also includes several project-oriented seminars that will enable students to gain experience in the area of the game development and expand their professional portfolio. A mandatory part of the studies is also an internship in a game studio lasting 480 hours.
Compulsory courses of the specialization
PA213
|
Advanced Computer Graphics |
---|---|
PA215
|
Game Design I |
PA216
|
Game Design II |
PA217
|
Artificial Intelligence for Computer Games |
SA300Reg
|
Registration for SA300 |
SA300
|
Internship - Computer Games |
PV227
|
GPU Rendering |
PV255
|
Game Development I |
PV266
|
Game Development II |
VV036
|
3D Character Modeling |
Game Development Pass at least 1 course of the following list | |
PA199
|
Game Engine Development |
PV283
|
Games User Research Lab |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Graphic Design
Graphic Design Specialization offers the study of graphic design and related disciplines in cooperation with the Graphic Design and Multimedia Studio (AGD + M). The studio focuses primarily on digital media, which nowadays replaces most of the printed forms. In terms of mastering high-quality graphic design, this is an identical problem, but digital media opens up new opportunities in communicating with the consumer. For these media, concurrent informatic education of students is necessary and is developed in the course of this specialization. Students work on topics such as game making, interactive information graphics, creating interactive media applications, generative programming, animation, video, 3D digital modeling and 3D printing, e-publishing, web-design, font creation, and more.
Compulsory courses of the specialization
PV067
|
Typography II |
---|---|
PV083
|
Graphic Design II |
PV085
|
Type Design II |
PV257
|
Graphic Design and Multimedia Project |
PV259
|
Generative Design Programming |
PV268
|
Digital Design |
VV051
|
Animation |
Gr.Design I Pass at least 1 course of the following list | |
PV112
|
Computer Graphics API |
PV239
|
Mobile Application Development |
VV036
|
3D Character Modeling |
Gr.Design II Pass at least 3 courses of the following list | |
PV156
|
Digital Photography |
VV067
|
Concept and Intermedia |
VV050
|
Motion Design |
PV110
|
Basics of Film Narratives |
PV101
|
Type Design III |
PV251
|
Visualization |
VV034
|
Photography - artificial effects |
PV097
|
Visual Creativity Informatics |
PV113
|
Production of Audiovisual Artefacts |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
follow-up master's program (Czech) with specializations
The study program Computer Systems, Communications and Security provides a solid understanding of architectures, principles, design methods and operations of secure computer systems, respecting both hardware and software aspects, including network communications. The graduate will also gain deeper knowledge in of the selected specializations of the programme.
Program graduate will be prepared to design and maintain operations of secure computer systems with respect to both hardware and software aspects, including network communications. Graduate in the specialization Hardware Systems will be prepared to design solutions to practical problems with the use of computer hardware, to creatively adjust hardware systems and to deploy them, working in positions such as Embedded systems developer; Hardware systems designer and analyst; Onechip controllers programmer. Graduate in the specialization Software Systems will be ready to take various roles (e.g., System software developer; Enterprise system developer or Cloud system engineer) in the IT departments taking part in the development and operations of information systems and in the use of IT for support of organizations. Graduates of the specialization Information Security will be able to work in organizations developing or providing systems respecting security requirements, but also in advanced management and operations of such systems, in positions like Security software or hardware developer; Systems security and vulnerability analyst; Systems security testing and evaluation specialist or Security incident response specialist. Graduate on the specialization Computer Networks and Communications will be able to work, for example, as Network analyst; Network engineer or Network applications engineer.
Requirements for successful graduation
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR course and successfully defend Master's Thesis. See more details.
- Pass all the compulsory and elective courses of the program and selected specialization with the highest possible graduation form (unless explicitly stated otherwise).
- Fulfil requirements of at least one specialization.
Compulsory courses of the program
IA174
|
Fundaments of Cryptography |
---|---|
MV013
|
Statistics for Computer Science |
PA191
|
Advanced Computer Networking |
PV079
|
Applied Cryptography |
SOBHA
|
Defence of Thesis |
SZMGR
|
State Exam (MSc degree) |
Math Pass at least 2 courses of the following list | |
IV111
|
Probability in Computer Science |
MA007
|
Mathematical Logic |
MA010
|
Graph Theory |
MA012
|
Statistics II |
MA015
|
Graph Algorithms |
MA018
|
Numerical Methods |
MA026
|
Advanced Combinatorics |
Theory of Informatics Pass at least 1 course of the following list | |
IA008
|
Computational Logic |
IA101
|
Algorithmics for Hard Problems |
IV003
|
Algorithms and Data Structures II |
IA159
|
Formal Methods for Software Analysis |
IA169
|
Model Checking |
IA267
|
Scheduling |
PV021
|
Neural Networks |
Hardware Systems Pass at least 2 courses of the following list | |
PA174
|
Design of Digital Systems II |
PA175
|
Digital Systems Diagnostics II |
PA176
|
Architecture of Digital Systems II |
PA190
|
Digital Signal Processing |
PA192
|
Secure hardware-based system design |
PA221
|
Hardware description languages |
PV191
|
Embedded systems seminar |
PV193
|
Accelerating Algorithms at Circuit Level |
PV194
|
External Environments of Digital Systems |
PV198
|
Onechip Controllers |
PV200
|
Introduction to hardware description languages |
PV286
|
Secure coding principles and practices |
Specialization: Hardware Systems
Specialization Hardware Systems provides specific knowledge to work with programmable structures extending into parallel and distributed systems, computer networks and cryptography. Teaching emphasizes the balance of courses providing the necessary theoretical basis and courses focusing on practical skills that are involved in the design, implementation, analysis, testing and operation of embedded systems. An integral part of the study is also working on a project with a small team and oriented towards experimental and prototype solutions to interesting problems associated with the solution of practical problems arising from research and development activities of the faculty.
Compulsory courses of the specialization
IA267
|
Scheduling |
---|---|
PB170
|
Seminar on Digital System Design |
PB171
|
Seminar on Digital System Architecture |
PA175
|
Digital Systems Diagnostics II |
PA176
|
Architecture of Digital Systems II |
PV191
|
Embedded systems seminar |
PV198
|
Onechip Controllers |
PV200
|
Introduction to hardware description languages |
Programming Obtain at least 4 credits by passing courses of the following list | |
PA164
|
Machine learning and natural language processing |
PA165
|
Enterprise Applications in Java |
PA228
|
Machine Learning in Image Processing |
PV179
|
System Development in C#/.NET |
PV197
|
GPU Programming |
PV248
|
Python Seminar |
PV249
|
Development in Ruby |
PV260
|
Software Quality |
PV275
|
Introduction to Quantum Computer Programming |
PV284
|
Introduction to IoT |
PV288
|
Python |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Software Systems
Specialization Software Systems will lead the graduate to knowledge and skills necessary in all stages of development and changes in extensive software systems, especially information systems. Emphasis is set on knowledge necessary at the design and development of systems with on deployed modern software technologies.
Compulsory courses of the specialization
PA017
|
Information Systems Management |
---|---|
PA103
|
Object-oriented Methods for Design of Information Systems |
PA152
|
Efficient Use of Database Systems |
PA160
|
Net-Centric Computing II |
PA165
|
Enterprise Applications in Java |
PV217
|
Service Oriented Architecture |
PV258
|
Software Requirements Engineering |
PV260
|
Software Quality |
Computational Infrastructures Pass at least 1 course of the following list | |
PA039
|
Supercomputer Architecture and Intensive Computations |
PA234
|
Infrastuctural and Cloud Systems |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Information Security
Specialization Information Security focuses on areas of security in computer systems and networks, cryptography and its applications. The aim is to prepare such a graduate who will be able to work in a variety of roles critical to ensure security of ICTs – specific profiling (e.g., toward cryptography, technological aspects or security management) beyond a common basis of field of study is left to the choice of the student.
Compulsory courses of the specialization
PV181
|
Laboratory of security and applied cryptography |
---|---|
PV204
|
Security Technologies |
PA197
|
Secure Network Design |
PA193
|
Seminar on secure coding principles and practices |
PV286
|
Secure coding principles and practices |
PA018
|
Advanced Topics in Information Technology Security |
PA168
|
Postgraduate seminar on IT security and cryptography |
Programming Obtain at least 4 credits by passing courses of the following list | |
PA164
|
Machine learning and natural language processing |
PA165
|
Enterprise Applications in Java |
PA228
|
Machine Learning in Image Processing |
PV179
|
System Development in C#/.NET |
PV197
|
GPU Programming |
PV248
|
Python Seminar |
PV249
|
Development in Ruby |
PV260
|
Software Quality |
PV275
|
Introduction to Quantum Computer Programming |
PV284
|
Introduction to IoT |
PV288
|
Python |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Computer Networks and Communications
Computer Networks and Communications specialization focuses on acquiring advanced knowledge of architectures, operation principles, and principles of operation of computer networks. The field is conceived to satisfy both those interested in practically oriented advanced information and knowledge in the field of computer networks and their applications, as well as those interested in deeper acquaintance with the theoretical fundaments of the field and the study of computer networks as a special case of distributed systems. In addition to knowledge of computer networks, the student acquires knowledge of security, principles of working with multimedia data, basic knowledge of parallel systems and necessary theoretical background.
Compulsory courses of the specialization
PA053
|
Distributed Systems and Middleware |
---|---|
PA151
|
Wireless Networks |
PA160
|
Net-Centric Computing II |
PV169
|
Communication Systems Basics |
PV188
|
Principles of Multimedia Processing and Transport |
PV233
|
Switching, Routing and Wireless Essentials |
PV234
|
Enterprise Networking, Security, and Automation |
Computational Infrastructures Pass at least 1 course of the following list | |
PA039
|
Supercomputer Architecture and Intensive Computations |
PA234
|
Infrastuctural and Cloud Systems |
Programming Obtain at least 4 credits by passing courses of the following list | |
PA164
|
Machine learning and natural language processing |
PA165
|
Enterprise Applications in Java |
PA228
|
Machine Learning in Image Processing |
PV179
|
System Development in C#/.NET |
PV197
|
GPU Programming |
PV248
|
Python Seminar |
PV249
|
Development in Ruby |
PV260
|
Software Quality |
PV275
|
Introduction to Quantum Computer Programming |
PV284
|
Introduction to IoT |
PV288
|
Python |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
follow-up master's program (Czech) without specializations supporting Major/Minor study
The aim of this program is to prepare graduates with a range of competencies necessary for the teaching profession. They have both knowledge and skills regarding pupil education, classroom management, and addressing specific learning situations and pupils. The knowledge of individual subjects and the didactic competence ensure a high level of knowledge of the given discipline, which is in accordance to the expected requirements of the secondary schools and the ability of the graduates to mediate the knowledge of the given discipline using a wide range of didactic methods. Graduates are also equipped with the skills and abilities to lead pedagogical communication with students, their parents, colleagues and other subjects (social and communication competencies), educate and motivate pupils, manage classes, participate in school activities and solve specific situations associated with teaching pedagogical-psychological competencies). In addition, graduates are equipped with diagnostic and special pedagogical competencies that enable them to recognize the individual educational and other needs of students, to prepare individual plans for students, to work with counseling specialists, and to apply a wide range of support measures within an inclusive approach. In addition to pedagogical abilities, this program intends to prepare graduates also for the position of school information system manager and administrator.
Graduates of this master degree study program will primarily act as teachers of relevant subjects at secondary schools (grammar schools and secondary technical schools) with accordance of the accredited fields and their focus. In the case the IT administration study plan, graduates will be able to operate in positions of IT administrators at secondary schools.
Requirements for successful graduation
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR course and successfully defend Master's Thesis. See more details.
- Fulfil requirements of IT Teacher and Administrator study option or Major study option.
- Pass all the compulsory and elective courses of the program, selected study option with the highest possible graduation form (unless explicitly stated otherwise).
Compulsory courses of the program
PV094
|
PC Hardware |
---|---|
PV175
|
MS Windows Systems Management I |
PV004
|
UNIX |
UA104
|
Didactics for Informatics I |
UA105
|
Didactics for Informatics II |
UA442
|
Exercises in Practical Education I |
UA542
|
Exercises in Practical Education II |
UA642
|
Exercises in Practical Education III |
SOBHA
|
Defence of Thesis |
SZMGR
|
State Exam (MSc degree) |
PřF:XS080
|
Special pedagogy |
PřF:XS092
|
School management |
PřF:XS093
|
Educational activity with gifted learners |
PřF:XS100
|
Teacher and school administration |
PřF:XS130
|
Personality psychology |
PřF:XS150
|
Educational Psychology |
PřF:XS021
|
Inspiratorium for teachers 2 |
PřF:XS350
|
Group dynamic workshop |
Study option: Teacher of Informatics and IT administrator
Study option The Informatics Teacher and Network Administrator prepares students for professional positioning as a Network Administrator at a secondary school in parallel with the pedagogical training necessary to obtain secondary school approbation in Informatics.
Compulsory courses and other obligations of the study option
Pass all obligatory courses of the program. | |
PA159
|
Net-Centric Computing I |
---|---|
Informatics teching Pass at least 1 course of the following list | |
DUCIT
|
Teaching Lab |
UB001
|
Assesment of teaching in Informatics |
UA742
|
Exercises in Practical Education IV |
UA842
|
Exercises in Practical Education V |
PřF:XS020
|
Inspiratorium for teachers |
PřF:XS050
|
School pedagogy |
PřF:XS060
|
General didactics |
PřF:XS140
|
Foundations of Psychology |
PřF:XS090
|
Initial teacher training |
PřF:XS220
|
Reflective seminar |
Collect at least 36 credits from courses taught at FI with prefixes I or P. |
Recommended course of study
Fall 2024 (1. term)
-
PA159
Net-Centric Computing I -
PV094
PC Hardware -
PřF:XS080
Special pedagogy -
PřF:XS150
Educational Psychology - Choice: Any course from Informatics teching secion
-
PřF:XS020
Inspiratorium for teachers -
PřF:XS050
School pedagogy -
PřF:XS093
Educational activity with gifted learners -
PřF:XS092
School management
Spring 2025 (2. term)
Fall 2025 (3. term)
Study option: Minor
This study option leads students in cooperation with the Faculty of Science of Masaryk University to obtain two secondary school approbations.
Compulsory courses and other obligations of the study option
PV004
|
UNIX |
---|---|
PV175
|
MS Windows Systems Management I |
PV094
|
PC Hardware |
UA104
|
Didactics for Informatics I |
UA105
|
Didactics for Informatics II |
UA442
|
Exercises in Practical Education I |
UA542
|
Exercises in Practical Education II |
UA642
|
Exercises in Practical Education III |
SZMGR
|
State Exam (MSc degree) |
Collect at least 22 credits from courses taught at FI with prefixes I or P. |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
follow-up master's program (Czech) without specializations supporting Major/Minor study
The Joint Master Programme in Digital Linguistics will train highly qualified interdisciplinar profile combining knowledge and competencies from the field of computer science, information technology (IT), linguistics and humanities. Holders of the master’s degree in Digital Linguistics will have a broad set of applied IT skills and will be trained for programming, using and compiling language resources, using and adapting language technologies and autonomously conducting language data analyses. In addition, they will have a high level of competence in communication in at least two languages, will be able to recognise and adjust themselves to all types of written, spoken and digital texts as well as understand the principles of interlingual communication in all forms.
Holder of the master's degree in Digital Linguistics will be employable in various professional environments where technology-assisted language services are developed, offered or used.
Requirements for successful graduation
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR course and successfully defend Master's Thesis. See more details.
- Pass all the compulsory and elective courses of the program and selected specialization with the highest possible graduation form (unless explicitly stated otherwise).
- To enroll in the 3rd semester, i.e. before starting the internship abroad, students must have completed at least 54 credits. In exceptional cases, students can apply for an exemption upon completing at least 51 credits.
Compulsory courses of the program
FF:CJBB105
|
Introduction in Corpus Linguistics – Lecture |
---|---|
MV013
|
Statistics for Computer Science |
PA153
|
Natural Language Processing |
FF:PLIN063
|
Alghoritmic Descript. of Morphology |
SA400
|
Foreign Studies - Digital Linguistics |
Foundations Pass at least 2 courses of the following list | |
FF:CJJ15
|
Czech Comparative Grammar |
FF:PLIN041
|
History of Computational Linguistics |
IB000
|
Mathematical Foundations of Computer Science |
IV029
|
Introduction to Transparent Intensional Logic |
Introduction to programming Pass at least 1 course of the following list | |
IB111
|
Foundations of Programming |
IB113
|
Introduction to Programming and Algorithms |
Application Oriented Electives I Pass at least 1 course of the following list | |
FF:PLIN045
|
Introduction to development of multiplatform applications |
FF:PLIN055
|
Corpus and computational linguistics project |
PV061
|
Machine Translation |
PV251
|
Visualization |
Application Oriented Electives II Pass at least 1 course of the following list | |
FF:PLIN078
|
Quantitative analysis |
PA107
|
Corpus Tools Project |
PB138
|
Basics of web development and markup languages |
PV211
|
Introduction to Information Retrieval |
Methods and Tools I Pass at least 1 course of the following list | |
FF:PLIN032
|
Grammar and Corpus |
FF:PLIN033
|
Algorithmic Description of Word Formation |
FF:CJBB184
|
Language Typology |
PB095
|
Introduction to Speech Processing |
IA161
|
Natural Language Processing in Practice |
Methods and Tools II Pass at least 2 courses of the following list | |
FF:PLIN037
|
Semantic Computing |
FF:PLIN077
|
Stylometry |
IB047
|
Introduction to Corpus Linguistics and Computer Lexicography |
PV004
|
UNIX |
PV056
|
Machine Learning and Data Mining |
PV080
|
Information security and cryptography |
PA152
|
Efficient Use of Database Systems |
Advanced Topics Pass at least 2 courses of the following list | |
FF:CJJ45
|
Topics in semantics |
FF:PLIN065
|
Tools for theories |
FF:PLIN068
|
Applied Machine Learning |
FF:PLIN069
|
Applied Machine Learning Project |
IV003
|
Algorithms and Data Structures II |
PA128
|
Similarity Searching in Multimedia Data |
PA154
|
Language Modeling |
SDIPR
|
Diploma Thesis |
SOBHA
|
Defence of Thesis |
SZMGR
|
State Exam (MSc degree) |
Study option: Study plan for local students
Compulsory courses and other obligations of the study option
Internshipe abroad equal to 30 credits is expected in the third term. |
Recommended course of study
Fall 2024 (1. term)
-
PA153
Natural Language Processing - Choice: Any course from Foundations secion
- Choice: Any course from Introduction to programming secion
- Choice: Any course from Methods and Tools I secion
- Choice: Any course from Application Oriented Electives I secion
Spring 2025 (2. term)
-
MV013
Statistics for Computer Science -
FF:CJBB105
Introduction in Corpus Linguistics - Lecture -
FF:PLIN063
Alghoritmic Descript. of Morphology - Choice: Any course from Methods and Tools II secion
- Choice: Any course from Application Oriented Electives II secion
-
SDIPR
Diploma Thesis
Fall 2025 (3. term)
- Internship abroad
-
SA400
Foreign Studies - Digital Linguistics
Study option: Study plan for students from abroad
Students are expected to collect 30 credits within the term.
Compulsory courses and other obligations of the study option
IA161
|
Natural Language Processing in Practice |
---|---|
FF:PLIN055
|
Corpus and computational linguistics project |
Selected Topics in Digital Linguistics Pass at least 3 courses of the following list | |
FF:CJBB184
|
Language Typology |
FF:PLIN035
|
Computational Lexicography |
FF:PLIN064
|
Introduction to Digital Humanities |
FF:PLIN075
|
Linguistic Webinar |
PA164
|
Machine learning and natural language processing |
PA220
|
Database systems for data analytics |
PV021
|
Neural Networks |
PV061
|
Machine Translation |
PV251
|
Visualization |
IV111
|
Probability in Computer Science |
Projects Obtain at least 4 credits by passing courses of the following list | |
FF:PLIN034
|
Algorithmic Description of Syntax |
FF:PLIN053
|
Mobile application programming project |
PB106
|
Corpus Linguistic Project I |
PV277
|
Programming Applications for Social Robots |
Recommended course of study
Fall 2025 (3. term)
-
IA161
Natural Language Processing in Practice -
FF:PLIN055
Corpus and computational linguistics project - Choice: Any course from Selected Topics in Digital Linguistics secion
- Choice: Any course from Selected Topics in Digital Linguistics secion
- Choice: Any course from Selected Topics in Digital Linguistics secion
- Choice: Any course from Projects secion
Follow-up Master's Degree Programs (English)
follow-up master's program (English) with specializations
- English
- prof. RNDr. Tomáš Pitner, Ph.D.
The study program develops unique competence profile of the student based on the intersection of multiple areas of knowledge that are relevant for managing the development of software systems and services, as well as cybersecurity management. A specific feature is a focus on strategic and operational management related to the targeting, design, implementation, and operation of software systems and services within the context of organizations and different types with a possible focus on their safe operation or IT services. In addition to developing basic theoretical and technological knowledge and practical developmental skills acquired in the bachelor's study, the content of the follow-up study is extended by other dimensions such as theories and practices of team, project and process management, communication, soft skills and knowledge essential to functioning in economic relations - the basics of marketing, law and others, which especially (but not only) concerns the specialization of service development. The cybersecurity study takes into account aspects of overlapping computer data processing outside of tightly defined system perimeters (e.g. impacting on critical infrastructure), thus enabling a specific multidisciplinary overlap of technical, social and legal aspects in this area.
The graduates find employment in companies and organizations of different sizes and orientation, but they also get the motivation and the possibility of basic preparation for their own innovative business. The strong competitive advantage of the program graduates is the ability to solve complex management-related problems of the development of systems and services for which they can use the acquired skills by the study. Their potential is predestined to hold managerial positions, such as the Chief Information Officer (CIO), project manager, and risk manager. Graduates of the cybersecurity management specialization will find application primarily in companies and institutions that need specialists able to work with relevant coordinating institutions and ensure the management of cybersecurity processes. These are positions as a cybersecurity manager and Chief Information Security Officer (CISO).
Requirements for successful graduation
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR course and successfully defend Master's Thesis. See more details.
- Pass all the compulsory and elective courses of the program and selected specialization with the highest possible graduation form (unless explicitly stated otherwise).
- Fulfil requirements of at least one specialization.
Compulsory courses of the program
PA017
|
Information Systems Management |
---|---|
PV206
|
Communication and Soft Skills |
MV013
|
Statistics for Computer Science |
PA152
|
Efficient Use of Database Systems |
PA179
|
Project Management |
PV215
|
Management by Competencies |
SOBHA
|
Defence of Thesis |
SZMGR
|
State Exam (MSc degree) |
SA100Reg
|
Registration for SA100 |
SA100
|
Internship - Management |
Security Pass at least 1 course of the following list | |
PV079
|
Applied Cryptography |
PV080
|
Information security and cryptography |
Management Pass at least 1 course of the following list | |
PA182
|
Managing in Reality |
PV214
|
IT Service Management based on ITIL |
PV237
|
Strategy and Leadership |
PV271
|
Risk Management in IT |
PV203
|
IT Services Management |
Specialization: Service Development Management
Services Development Management specialization follows the current large shift from the traditional paradigm of IT design to IT as a service and from product-oriented economy to service-oriented one. Problems and tasks in IT are becoming more complex and the knowledge of IT technology is not sufficient for solving them. A multidisciplinary view is the core of this specialization. Students will gain not only sound IT knowledge (programming, databases, computer security, networks, etc.), but also the skills necessary to understand problems in their complexity (marketing, management, finance or law) as well as necessary communication competencies.
Compulsory courses of the specialization
IV124
|
Complex Networks |
---|---|
PA116
|
Domain Understanding and Modeling |
PA194
|
Introduction to Service Science |
PA181
|
Services - Systems, Modeling and Execution |
PV207
|
Business Process Management |
Economy Pass at least 1 course of the following list | |
PV028
|
Applied Information Systems |
PV241
|
Enterprise and Financial Management |
Soft skills Pass at least 1 course of the following list | |
ESF:MPV_RKMD
|
Communication and Managerial Skills training |
ESF:MPV_COMA
|
Communication and Managerial Skills Training |
ESF:MPP_CEIT
|
Czech and European Law of Information Technologies |
PV236
|
Time Management and Effectiveness |
PV209
|
Person Centered Communication |
IV064
|
Information Society |
PA212
|
Advanced Search Techniques for Large Scale Data Analytics |
PV263
|
Intercultural Management |
Marketing Pass at least 1 course of the following list | |
PV216
|
Marketing Strategy in Service Business |
PV240
|
Introduction to service marketing |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Specialization: Cybersecurity Management
Cybersecurity Management specialization takes into account the aspects of computer data processing beyond the well-defined system perimeters (e.g., critical infrastructure impact), reflected in the area of cybersecurity and allowing a specific multi-disciplinary overlap of both technical and social and legal aspects of cybersecurity.
Compulsory courses of the specialization
IA174
|
Fundaments of Cryptography |
---|---|
PrF:MVV60K
|
Cybersecurity Law |
PA197
|
Secure Network Design |
PA211
|
Cybersecurity Operations |
PV079
|
Applied Cryptography |
PA018
|
Advanced Topics in Information Technology Security |
PrF:SOC022
|
European Cyberlaw |
IV128
|
Online Communication from Social Science Perspective |
Cybersecurity Pass at least 1 course of the following list | |
PV204
|
Security Technologies |
PV210
|
Cybersecurity in an Organization |
PV297
|
Cybersecurity Training |
Recommended course of study
Fall 2024 (1. term)
-
PA017
Information Systems Management -
PV206
Communication and Soft Skills -
PV079
Applied Cryptography -
IA174
Fundaments of Cryptography -
PrF:SOC022
European Cyberlaw
Spring 2025 (2. term)
Fall 2025 (3. term)
Spring 2026 (4. term)
- Choice: Any course from Management secion
-
PrF:MVV60K
Cybersecurity Law -
IV128
Online Communication from Social Science Perspective -
SDIPR
Diploma Thesis -
SOBHA
Defence of Thesis -
SZMGR
State Exam (MSc degree)
follow-up master's program (English) with specializations
- English
- doc. RNDr. Petr Matula, Ph.D.
The study program Visual Informatics prepares students to work with image information and spatial scene models that involve or touch areas such as computer graphics, image processing, visualisation, computer vision, virtual and expanded reality, video processing, pattern recognition, human-computer communication, 3D modeling, animation, graphic design, and machine learning.
The graduate will find application in various fields, such as the development of graphics applications, simulators, computer games, applications for multimedia processing and analysis, visualisation of data, virtual and enhanced reality or creation of the professional-level graphic design. For example, a graduate may be an analyst, graphic designer, application programmer, research or development team leader. The acquired theoretical knowledge and practical skills allow them to thoroughly understand the problems solved and will make it possible in practice to use a wide range of modern technologies - from common mobile devices to dedicated systems with high computing power.
Requirements for successful graduation
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR course and successfully defend Master's Thesis. See more details.
- Pass all the compulsory and elective courses of the program and selected specialization with the highest possible graduation form (unless explicitly stated otherwise).
- Fulfil requirements of at least one specialization.
Compulsory courses of the program
IV003
|
Algorithms and Data Structures II |
---|---|
MA018
|
Numerical Methods |
MV013
|
Statistics for Computer Science |
PA103
|
Object-oriented Methods for Design of Information Systems |
PA010
|
Intermediate Computer Graphics |
PV021
|
Neural Networks |
PV182
|
Human-Computer Interaction |
PV189
|
Mathematics for Computer Graphics |
VV035
|
3D Modeling |
SOBHA
|
Defence of Thesis |
SZMGR
|
State Exam (MSc degree) |
Specialization: Computer Graphics and Visualisation
Computer Graphics and Visualisation specialization offers a set of courses about basic principles, as well as the latest achievements in computer graphics and data visualisation. These are accompanied by courses providing the students with the necessary basic background in informatics. We are particularly focusing on the applicability of the presented topics and their utilization in other disciplines and research areas. Students will learn about basic principles and algorithms, forming the building blocks of final visual outputs. These can be, for example, in a form of real-time rendering or large scenes or visualisation design of complex multidimensional datasets. In seminars and projects, students will enrich this knowledge by implementational tasks on selected topics.
Compulsory courses of the specialization
MA017
|
Geometric Algorithms |
---|---|
PA213
|
Advanced Computer Graphics |
PA093
|
Computational Geometry Project |
PA157
|
Seminar on Computer Graphics Research |
PA166
|
Advanced Methods of Digital Image Processing |
PA214
|
Visualization II |
PV160
|
Laboratory of Human-Computer Interaction |
PV227
|
GPU Rendering |
PV251
|
Visualization |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Image Processing and Analysis
Image Processing and Analysis specialization provides a comprehensive view of getting and processing image information, starting with simple image editing using point transformations or linear filters, and ending with sophisticated tools such as mathematical morphology or deformable models. Graduates will find their place in the development and deployment of imaging systems in a variety of fields, for example in medicine, biology, meteorological and geographic data processing, biometric applications, etc.
Compulsory courses of the specialization
MA017
|
Geometric Algorithms |
---|---|
PA093
|
Computational Geometry Project |
PA166
|
Advanced Methods of Digital Image Processing |
PA170
|
Digital Geometry |
PA229
|
Digital Image Processing |
PA172
|
Image Acquisition |
PA173
|
Mathematical Morphology |
PV187
|
Seminar of digital image processing |
PV197
|
GPU Programming |
PA228
|
Machine Learning in Image Processing |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Computer Game Development
Computer Games Development specialization gives students insight into the multidisciplinary process of digital games development. Students will get acquainted with the principles of game design as well as with modern tools and techniques for the implementation of games and other applications based on game technologies, including the use of augmented and virtual reality. Emphasis is also placed on the visual aspects of game development – from the authoring of 3D models up to the programming of modern graphics cards. In addition to lectures covering theoretical principles, the study also includes several project-oriented seminars that will enable students to gain experience in the area of the game development and expand their professional portfolio. A mandatory part of the studies is also an internship in a game studio lasting 480 hours.
Compulsory courses of the specialization
PA213
|
Advanced Computer Graphics |
---|---|
PA215
|
Game Design I |
PA216
|
Game Design II |
PA217
|
Artificial Intelligence for Computer Games |
SA300Reg
|
Registration for SA300 |
SA300
|
Internship - Computer Games |
PV227
|
GPU Rendering |
PV255
|
Game Development I |
PV266
|
Game Development II |
VV036
|
3D Character Modeling |
Game Development Pass at least 1 course of the following list | |
PA199
|
Game Engine Development |
PV283
|
Games User Research Lab |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Graphic Design
Graphic Design Specialization offers the study of graphic design and related disciplines in cooperation with the Graphic Design and Multimedia Studio (AGD + M). The studio focuses primarily on digital media, which nowadays replaces most of the printed forms. In terms of mastering high-quality graphic design, this is an identical problem, but digital media opens up new opportunities in communicating with the consumer. For these media, concurrent informatic education of students is necessary and is developed in the course of this specialization. Students work on topics such as game making, interactive information graphics, creating interactive media applications, generative programming, animation, video, 3D digital modeling and 3D printing, e-publishing, web-design, font creation, and more.
Compulsory courses of the specialization
PV067
|
Typography II |
---|---|
PV083
|
Graphic Design II |
PV085
|
Type Design II |
PV257
|
Graphic Design and Multimedia Project |
PV259
|
Generative Design Programming |
PV268
|
Digital Design |
VV051
|
Animation |
Gr.Design I Pass at least 1 course of the following list | |
PV112
|
Computer Graphics API |
PV239
|
Mobile Application Development |
VV036
|
3D Character Modeling |
Gr.Design II Pass at least 3 courses of the following list | |
PV156
|
Digital Photography |
VV067
|
Concept and Intermedia |
VV050
|
Motion Design |
PV110
|
Basics of Film Narratives |
PV101
|
Type Design III |
PV251
|
Visualization |
VV034
|
Photography - artificial effects |
PV097
|
Visual Creativity Informatics |
PV113
|
Production of Audiovisual Artefacts |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
follow-up master's program (English) with specializations
The study program Computer Systems, Communications and Security provides a solid understanding of architectures, principles, design methods and operations of secure computer systems, respecting both hardware and software aspects, including network communications. The graduate will also gain deeper knowledge in of the selected specializations of the programme.
Program graduate will be prepared to design and maintain operations of secure computer systems with respect to both hardware and software aspects, including network communications. Graduate in the specialization Hardware Systems will be prepared to design solutions to practical problems with the use of computer hardware, to creatively adjust hardware systems and to deploy them, working in positions such as Embedded systems developer; Hardware systems designer and analyst; Onechip controllers programmer. Graduate in the specialization Software Systems will be ready to take various roles (e.g., System software developer; Enterprise system developer or Cloud system engineer) in the IT departments taking part in the development and operations of information systems and in the use of IT for support of organizations. Graduates of the specialization Information Security will be able to work in organizations developing or providing systems respecting security requirements, but also in advanced management and operations of such systems, in positions like Security software or hardware developer; Systems security and vulnerability analyst; Systems security testing and evaluation specialist or Security incident response specialist.
Requirements for successful graduation
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR course and successfully defend Master's Thesis. See more details.
- Pass all the compulsory and elective courses of the program and selected specialization with the highest possible graduation form (unless explicitly stated otherwise).
- Fulfil requirements of at least one specialization.
Compulsory courses of the program
IA174
|
Fundaments of Cryptography |
---|---|
MV013
|
Statistics for Computer Science |
PA191
|
Advanced Computer Networking |
PV079
|
Applied Cryptography |
SOBHA
|
Defence of Thesis |
SZMGR
|
State Exam (MSc degree) |
Math Pass at least 2 courses of the following list | |
IV111
|
Probability in Computer Science |
MA007
|
Mathematical Logic |
MA010
|
Graph Theory |
MA012
|
Statistics II |
MA015
|
Graph Algorithms |
MA018
|
Numerical Methods |
MA026
|
Advanced Combinatorics |
Theory of Informatics Pass at least 1 course of the following list | |
IA008
|
Computational Logic |
IA101
|
Algorithmics for Hard Problems |
IV003
|
Algorithms and Data Structures II |
IA159
|
Formal Methods for Software Analysis |
IA169
|
Model Checking |
IA267
|
Scheduling |
PV021
|
Neural Networks |
Hardware Systems Pass at least 2 courses of the following list | |
PA174
|
Design of Digital Systems II |
PA175
|
Digital Systems Diagnostics II |
PA176
|
Architecture of Digital Systems II |
PA190
|
Digital Signal Processing |
PA192
|
Secure hardware-based system design |
PA221
|
Hardware description languages |
PV191
|
Embedded systems seminar |
PV193
|
Accelerating Algorithms at Circuit Level |
PV194
|
External Environments of Digital Systems |
PV198
|
Onechip Controllers |
PV200
|
Introduction to hardware description languages |
PV286
|
Secure coding principles and practices |
Specialization: Hardware Systems
Specialization Hardware Systems provides specific knowledge to work with programmable structures extending into parallel and distributed systems, computer networks and cryptography. Teaching emphasizes the balance of courses providing the necessary theoretical basis and courses focusing on practical skills that are involved in the design, implementation, analysis, testing and operation of embedded systems. An integral part of the study is also working on a project with a small team and oriented towards experimental and prototype solutions to interesting problems associated with the solution of practical problems arising from research and development activities of the faculty.
Compulsory courses of the specialization
IA267
|
Scheduling |
---|---|
PB170
|
Seminar on Digital System Design |
PB171
|
Seminar on Digital System Architecture |
PA175
|
Digital Systems Diagnostics II |
PA176
|
Architecture of Digital Systems II |
PV191
|
Embedded systems seminar |
PV198
|
Onechip Controllers |
PV200
|
Introduction to hardware description languages |
Programming Obtain at least 4 credits by passing courses of the following list | |
PA164
|
Machine learning and natural language processing |
PA165
|
Enterprise Applications in Java |
PA228
|
Machine Learning in Image Processing |
PV179
|
System Development in C#/.NET |
PV197
|
GPU Programming |
PV248
|
Python Seminar |
PV249
|
Development in Ruby |
PV260
|
Software Quality |
PV275
|
Introduction to Quantum Computer Programming |
PV284
|
Introduction to IoT |
PV288
|
Python |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Software Systems
Specialization Software Systems will lead the graduate to knowledge and skills necessary in all stages of development and changes in extensive software systems, especially information systems. Emphasis is set on knowledge necessary at the design and development of systems with on deployed modern software technologies.
Compulsory courses of the specialization
PA017
|
Information Systems Management |
---|---|
PA103
|
Object-oriented Methods for Design of Information Systems |
PA152
|
Efficient Use of Database Systems |
PA160
|
Net-Centric Computing II |
PA165
|
Enterprise Applications in Java |
PV217
|
Service Oriented Architecture |
PV258
|
Software Requirements Engineering |
PV260
|
Software Quality |
Computational Infrastructures Pass at least 1 course of the following list | |
PA039
|
Supercomputer Architecture and Intensive Computations |
PA234
|
Infrastuctural and Cloud Systems |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
Specialization: Information Security
Specialization Information Security focuses on areas of security in computer systems and networks, cryptography and its applications. The aim is to prepare such a graduate who will be able to work in a variety of roles critical to ensure security of ICTs – specific profiling (e.g., toward cryptography, technological aspects or security management) beyond a common basis of field of study is left to the choice of the student.
Compulsory courses of the specialization
PV181
|
Laboratory of security and applied cryptography |
---|---|
PV204
|
Security Technologies |
PA197
|
Secure Network Design |
PA193
|
Seminar on secure coding principles and practices |
PV286
|
Secure coding principles and practices |
PA018
|
Advanced Topics in Information Technology Security |
PA168
|
Postgraduate seminar on IT security and cryptography |
Programming Obtain at least 4 credits by passing courses of the following list | |
PA164
|
Machine learning and natural language processing |
PA165
|
Enterprise Applications in Java |
PA228
|
Machine Learning in Image Processing |
PV179
|
System Development in C#/.NET |
PV197
|
GPU Programming |
PV248
|
Python Seminar |
PV249
|
Development in Ruby |
PV260
|
Software Quality |
PV275
|
Introduction to Quantum Computer Programming |
PV284
|
Introduction to IoT |
PV288
|
Python |
Recommended course of study
Fall 2024 (1. term)
Spring 2025 (2. term)
Fall 2025 (3. term)
List of courses open at FI (2024/2025)
This list has been built on 25. 10. 2024. Some minor changes may appear during the year, for the current and most up-to-date details see IS MU.
MB141 Linear algebra and discrete mathematics
zk 2/2 3 kr., jaro
- Mgr. David Kruml, Ph.D.
- Prerequisities:
! NOW ( MB151 ) && ( ! MB151 || ! MB154 )
MB141 is a lightweight version of MB151 and MB154, so it can be replaced by completing both full courses. - Goals: Introduction to linear algebra, analytical geometry and elementary number theory.
- Learning outcomes: At the end of this course, students should be able to: understand basic concepts of linear algebra; apply these concepts to iterated linear processes; solve basic problems in analytical geometry; apply elemntary number theory on kryptography.
- Syllabus:
Obsah kurzu Lineární:
1. Geometry in plane. Complex numbers. 2. Systems of linear equations. Gauss elimination. 3. Operation with matrices. Inverse matrix, determinent. 4. Vector spaces, báses, dimension, coordinates. 5. Linear mappings, eigenvalues and eigenvectors. 6. Afinne geometry. 7. Eukleidian geometr. 8. Elementry number theory. 9. Congruences. 10. Application in kryptography. 11. Linear processes. 12. Linear optimization.
MB142 Applied math analysis
zk 2/2 3 kr., podzim
- doc. RNDr. Michal Veselý, Ph.D.
- Prerequisities:
! MB152 && ! NOW ( MB152 )
High school mathematics. Remark: MB142 is a lightweight version of MB152, so it can be replaced by completing the full course. - Goals: This is a basic course of mathematical analysis. The content is differential and integral calculus and infinite series. Students will understand fundamental methods and will be able to apply these methods to concrete problems.
- Learning outcomes:
At the end of the course students will be able to:
work with the derivative and (indefinite and definite) integral;
analyse the behaviour of functions;
understand the use of infinite number series and power series;
understand selected applications of the calculus;
apply the methods of the calculus to concrete problems. - Syllabus:
Continuous functions and limits
Derivatives of functions with applications
Indefinite integrals
Riemann integral and its applications
Series
MB143 Design and analysis of statistical experiments
zk 2/2 3 kr., jaro
- doc. Mgr. David Kraus, Ph.D.
- Prerequisities:
( MB141 || MB142 || MB151 || MB152 ) && ! MB153 && ! NOW ( MB153 )
MB143 is a lightweight version of MB153, so it can be replaced by completing the full course. - Goals: The course presents principles and methods of statistical analysis, and explains what types of data are suitable for answering questions of interest.
- Learning outcomes:
After the course the students:
- are able to formulate questions of interest in terms of statistical inference (parameter estimation or hypothesis test within a suitable model);
- are able to choose a suitable model for basic types of data, choose a suitable method of inference to answer most common questions, implement the method in the statistical software R, and correctly interpret the results;
- are able to judge which questions and with what accuracy/certainty can be answered based on available data, or suggest what data should be collected in order to answer given questions with a desired level of accuracy/certainty. - Syllabus:
Basic principles of Probability.
Random variables, their characteristics and mutual relationships.
Properties of functions of random variables.
Data as realisations of random variables.
Descriptive statistics and the choice of a suitable model.
Point and interval estimation: the framework and most common methods.
Hypotheses testing: the framework and most common methods.
Linear regression, Analysis of variance, Analysis of covariance.
Methods of data collection, their purpose, scope and limitations.
Design of experiment.
MB151 Linear models
zk 2/2 3 kr., jaro
- doc. Mgr. Ondřej Klíma, Ph.D.
- Prerequisities:
! NOW ( MB141 )
We recommend that students have completed the course IB000, even if we do not directly follow it in terms of content. MB141 is a lightweight version of courses MB151 and MB154. - Goals: Introduction to linear algebra and analytical geometry.
- Learning outcomes: At the end of this course, students should be able to: understand basic concepts of linear algebra; apply these concepts to iterated linear processes; solve basic problems in analytical geometry.
- Syllabus:
The course is the first part of the four semester block of Mathematics. In the entire course, the fundamentals
of general algebra and number theory, linear algebra, mathematical analysis, numerical methods, combinatorics, as well as probability and statistics are presented. Content of the course Linear models:
1. Introduction (3 weeks) -- motivating examples, real and complex numbers, roots of real polynomials, matrix multiplication, recurrence relations (incl. recurrence in combinatorics), geometry in two dimensions.
2. Vector spaces (4 weeks) -- systems of linear equalities, matrix calculus (determinant and inverse matrix), vector spaces (formal definition and examples), linear independence, basis, coordinates, scalar product, length of vector, orthogonality, explicit formulas for recurrence relations.
3. Linear mappings (2 weeks) -- representation of linear mappings, eigenvalues and eigenvectors; linear transformations in three dimensions, iterated linear processes (population models and discrete Markov chains).
4. Analytical geometry (4 weeks) -- affine and Euclidean spaces (line, plane descriptions, angle, length, volume); systems of linear (in)equalities - linear programming problem; elementary classification of quadrics.
MB152 Differential and Integral Calculus
zk 2/2 3 kr., podzim
- doc. RNDr. Michal Veselý, Ph.D.
- Prerequisities:
! NOW ( MB142 )
High school mathematics. Note that MB142 is a lightweight version of MB152. - Goals: This is a basic course of the mathematical analysis. The content is the differential and integral calculus and the theory of infinite series. Students will understand theoretical and practical methods and will be able to apply these methods to concrete problems.
- Learning outcomes:
At the end of the course students will be able to:
work both practically and theoretically with the derivative and (indefinite and definite) integral;
analyse the behaviour of functions of one real variable.
understand the theory and use of infinite number series and power series;
understand the selected applications of the calculus;
apply the methods of the calculus to concrete problems. - Syllabus:
Continuous functions and limits
Derivative and its applications
Elementary functions
Indefinite integral
Riemann integral and its applications (including an introduction to basic differential equations)
Introduction to differential (and integral) calculus of functions of several variables
Infinite series
MB153 Statistics I
zk 2/2 3 kr., jaro
- doc. Mgr. Jan Koláček, Ph.D.
- Prerequisities:
( MB151 || MB152 || PřF:M1110 || PřF:M1100 ) && ! NOW ( MB143 )
Prerequisites: calculus in one and several variables, basics of linear algebra. MB143 is a lightweight version of MB153. - Goals: Introductory course to educate students in descriptive statistics, theory of probability, random values and probabilistic distributions, including the theory of hypothesis testing.
- Learning outcomes: Upon completing this course, students will be able to perform basic computer aided statistical data set analysis in R language, resulting in tables, graphs and numerical characteristics; will understand basic probability concepts; will be able to solve probability tasks related to explained theory (in some cases using statistical software); will be able to generate realizations of selected types random variables using statistical software; has basic knowledge of statistical hypothesis testing, will be able carry out tests in statistical software and interpret the results.
- Syllabus:
Introduction to the probability theory.
Random variables and vectors. Probability distribution and distribution function.
Discrete and continuous random variables and vectors. Typical distribution laws. Simultaneous and marginal distributions.
Stochastic independence of random variables and vectors. The sequence of independent trials.
Quantiles, expectation, variance, covariance, correlation coefficient and their properties.
Weak law of large number and central limit theorem.
Data files, empirical characteristics and graphs, numerical characteristics. Descriptive statistics in R language.
Random sample, point and interval estimators, maximal likelihood estimators.
Basics of testing hypothesis. Testing hypothesis in R language.
Regression analysis in R language.
MB154 Discrete mathematics
zk 2/2 3 kr., podzim
- doc. Mgr. Josef Šilhan, Ph.D. - doc. Lukáš Vokřínek, PhD.
- Prerequisities:
MB151 || MB152 || PřF:M1110 || PřF:M1100
High school mathematics. Elementary knowledge of algebraic and combinatorial tasks. - Goals: Tho goal of this course is to introduce the basics of theory of numbers with its applications to cryptography, and also the basics of coding and more advanced combinatorial methods.
- Learning outcomes: At the end of this course, students should be able to: understand and use methods of number theory to solve simple tasks; understand approximately how results of number theory are applied in cryptography: understand basic computational context; model and solve simple combinatorial problems.
- Syllabus:
Number theory:
divisiblity (gcd, extended Euclid algorithm, Bezout); numerics of big numbers (gcd, modular exponential); prime numbers (properties, basic theorems of arithmetics, factorization, prime number testing (Rabin-Miller, Mersenneho prime numbers); congruences (basic properties, small Fermat theorem; Euler theorem; linear congruences; binomial congruences a primitiv roots; discrete logarithm;
Number theory applications:
short introduction to asymetric cryptography (RSA, DH, ElGamal, DSA, ECC); basic coding theory (linear and polynomial codes);
Combinatorics:
reminder of basics of combinatorics; generalized binomial theorem; combinatorial identities; Catalan numbers; formal power series; (ordinary) generating functions; exponential generating functions; probabilistic generating functions; solving combinatorial problems with the help of generating functions; solving basic reccurences (Fibonacci).
MA007 Mathematical Logic
zk 2/1 4 kr., podzim
- prof. RNDr. Antonín Kučera, Ph.D.
- Prerequisities:
IB000 || PřF:M1120 || PřF:M1125
Students should have passed the course IB000 Mathematical Foundations of Computer Science or a course covering the foundations of mathematics at the Faculty of Science. - Goals: The course covers basic results about propositional and first order logic, including Gödel's completeness and incompleteness theorems.
- Learning outcomes:
At the end of this course, students should be able to:
understand the difference between formal notions and notions defined at a meta-level;
understand the difference between validity and provability;
understand the syntax and semantics of first-order logic;
understand and appreciate the fundamental ideas in the proofs of Gödel's completeness and incompleteness theorems. - Syllabus:
Propositional calculus: propositional formulas, truth, provability,
completeness.
First-order logic: syntax, semantics.
A deductive system for first-order logic. Provability, correctness.
Completeness theorem: theories, models, Gödel's completeness theorem
Basic model theory, Löwenheim-Skolem theorem
Gödel's incompleteness theorem.
MA010 Graph Theory
zk 2/1 3 kr., podzim
- prof. RNDr. Daniel Kráľ, Ph.D., DSc. - Igor Balla, PhD
- Prerequisities:
! PřF:M5140 &&! NOW ( PřF:M5140 )
Discrete mathematics. IB000 (or equivalent from other schools) is recommended. - Goals: This is a standard introductory course in graph theory, assuming no prior knowledge of graphs. The course aims to present basic graph theory concepts and statements with a particular focus on those relevant in algorithms and computer science in general. Selected advanced graph theory topics will also be covered. Although the content of this course is primarily targeted at computer science students, it should be accessible to all students.
- Learning outcomes: At the end of the course, students shall understand basic concenpts in graph theory; be able to reproduce the proofs of some fundamental statements in graph theory; be able to solve unseen simple graph theory problems; and be ready to apply their knowledge particularly in computer science.
- Syllabus:
Basic graph theory notions: graphs, subgraph, graph isomorphism, vertex degree, paths, cycles, connected components, directed graphs.
Trees, Hamilton cycles, Dirac’s and Ore’s conditions.
Planar graphs, duality of planar graphs, Euler's formula and its applications.
Graph coloring, Five Color Theorem, Brooks’ Theorem, Vizing’s Theorem.
Interval graphs, chordal graphs, and their chromatic properties.
Vertex and edge connectivity.
Matchings in graphs, Hall’s Theorem.
Ramsey's Theorem.
Selected advanced topics (to be chosen from): Graph minors, graph embeddings on surfaces, planarity testing, list coloring, Tutte’s Theorem, Cayley’s formula.
MA012 Statistics II
zk 2/2 3 kr., podzim
- Mgr. Ondřej Pokora, Ph.D.
- Prerequisities:
Basic knowledge of calculus: function, derivative, definite integral.
Basic knowledge of linear algebra: matrix, determinant, eigenavlues, eigenvectors.
Knowledge of probability a and statistics and practice with statistical language R within the scope of course MB153 Statistics I or MB143 Design and analysis of statistical experiments. Students without these knowledges and without practice with R are adviced to complete the course MB153 first. - Goals: This is an advanced course which introduces students to more complex methods of mathematical statistics. It expands the knowledge from a basic course of statistics and add further methods. The lectures explains the mathematical background, algorithms, computational procedures and conditions, seminars lead to practical use of the methods for the analysis of datasets in statistical software R and to interprete the results. After completing the course, the student will understand advanced statistical methods and inferential principles (estimations, hypothesis testing). The student will be able to use this methods in analyzing datasets and will be able to statistically interpret the achieved results.
- Learning outcomes:
After completing the course the student will be able to:
- explain the principles and algorithms of advanced methods of mathematical statistics;
- perform a statistical analysis of a real dataset using tidyverse packages in software R;
- interpret the results obtained by the statistical analysis. - Syllabus:
Analysis of variance (ANOVA).
Nonparametric tests – rank tests.
Goodness-of-fit tests.
Correlation analysis, correlation coefficients.
Multiple regression.
Regression diagnostics.
Autocorrelation and multicollinearity.
Principal component Analysis (PCA).
Logistic regression and other generalized linear models (GLM).
Contingency tables and independence testing.
Bootstrapping.
MA015 Graph Algorithms
zk 2/1 3 kr., podzim
- doc. Mgr. Jan Obdržálek, PhD.
- Prerequisities:
IB002 ||( typ_studia ( N )&& fakulta ( FI ))
Knowledge of basic datastructures (e.g priority queues, heaps, graph representations), graph algorithms (e.g. DFS, BFS) and their correctness. Basic complexity theory (e.g. O-notation, classes P/NP/PSPACE, hardness and completeness). - Goals: The course surveys important graph algorithms beyond those typically covered in basic algorithms and data structures courses. Chosen algorithms span most of the important application areas of graphs algorithms.
- Learning outcomes:
At the end of the course students will:
- know and understand efficient algorithms for various graph problems, including: minimum spanning trees, network flows, (globally) minimum cuts, matchings (including the assignment problem);
- be able to prove correctness and complexity of these algorithms;
- be able to use dynamic programming to solve problems on tree-like graphs;
- learn a range of techniques useful for designing efficient algorithms and deriving their complexity. - Syllabus:
Minimum Spanning Trees.
Quick overview of basic algorithms (Kruskal, Jarník [Prim], Borůvka) and their modifications. Advanced algorithms: Fredman-Tarjan, Gabow et al. Randomized algorithms: Karger-Klein-Tarjan. Arborescenses of directed graphs, Edmond's branching algorithm.
Flows in Networks. Revision - Ford-Fulkerson. Edmonds-Karp, Dinic's algorithm (and its variants), MPM (three Indians) algorithm. Modifications for restricted networks.
Minimum Cuts in Undirected Graphs. All pairs flows/cuts: Gomory-Hu trees. Global minimum cut: node identification algorithm (Nagamochi-Ibaraki), random algorithms (Karger, Karger-Stein)
Matchings in General Graphs. Basic algorithm using augmenting paths. Perfect matchings: Edmond's blossom algorithm. Maximum matchings. Min-cost perfect matching: Hungarian algorithm.
Dynamic Algorithms for Hard Problems. Dynamic programming on trees and circular-arc graphs. Tree-width; dynamic programming on tree-decompositions.
Graph Isomorphism. Colour refinement. Individualisation-refinement algorithms. Tractable classes of graphs.
MA017 Geometric Algorithms
zk 2/0 2 kr., podzim
- doc. John Denis Bourke, PhD - doc. RNDr. Martin Čadek, CSc.
- Prerequisities: Basic course on algorithms, high school geometry.
- Goals: The aim of the course is to introduce the principles of basic algorithms in computational geometry. This course can be followed by the PA093 Computational Geometry Project where the students are implemented selected algorithms in practice.
- Learning outcomes: Students will gain knowledge about state-of-the-art algorithmic methods in this field, along with their complexity and underlying data and searching structures.
- Syllabus: 1. Algorithms for construction of convex hulls in two-dimensional space 2. Line segment intersections 3. Triangulations 4. Linear programming in two-dimensional space 5. Range searching (kd-trees, range trees) 6. Point localization 7. Voronoi diagrams 8. Duality and arrangements 9. Delaunay triangulation 10. Convex hulls in in three-dimensional space
MA018 Numerical Methods
zk 2/2 3 kr., podzim
- RNDr. Veronika Eclerová, Ph.D.
- Prerequisities: Differential and integral calculus of functions of one and more variables. Basic knowledge of linear algebra, theory of matrices and solving systems of linear equations. Basics of programing.
- Goals: This course provides explanation of numerical mathematics as the separate scientific discipline. The emphasis is given to the algorithmization and computer implementation. Examples with graphical outputs help to explain even some difficult parts.
- Learning outcomes: At the end of course students should be able to apply numerical methods for solving practical problems and use these methods in other disciplines.
- Syllabus:
1. Linear algebra recapitulation, Error analysis, Matrix decomposition
2. Least Square method, Interpolation (polynomial, linear and multilinear, radial base, spline)
3. Systems of nonlinear equations (Newton method and its generalizations, convergence analysis)
4. Iterative methods for solving of systems of linear equations (Jacobi method, Gauss-Seidel method, relaxation methods, two-grid method)
5. Optimization in R (bisection, golden ratio, quadratic interpolation, and Newton methods)
6. Optimization in R^n (Nelder–Mead, gradient descend, Newton, quasi-Newton, and conjugate gradient methods)
7. Numerical integration (Newton-Cotes formulae, Gaussian quadrature formulae, Monte-Carlo integration)
8. Numerical differentiation and solving ODEs (numerical estimation of derivative, solving intial value problems for ODEs and boundary value problems ODEs and PDEs)
MA026 Advanced Combinatorics
zk 2/1 3 kr., jaro
- prof. RNDr. Petr Hliněný, Ph.D. - Mgr. Jan Grebík, Ph.D.
- Prerequisities:
MA010
The subject *strictly requires* solid theoretical background in combinatorics, at least on the level of MA010 or equivalent courses. - Goals: The goal is to introduce students into selected advanced areas of combinatorics, also refering to combinatorial algorithms and computational complexity of the studied problems.
- Learning outcomes: After finishing the course, the students will understand selected advanced principles of combinatorics and graph theory; will be able to conduct research work in areas of combinatorics.
- Syllabus:
Advanced structural graph theory:
graph minors and well-quasi-ordering, width parameters, matching in general graphs, list coloring, intersection graphs
Topological graph theory: planarity testing and SPQR trees, MAXCUT algorithm in planar graphs, graphs on surfaces of higher genus, crossing numbers
Probabilistic method: review of tools - linearity of expectation and concentration bounds, lower bounds on Ramsey number, crossing number, and list chromatic number, Lovász Local Lemma
Regularity method: regularity decompositions, removal lemma, property testing algorithms
Extremal Combinatorics: Hales-Jewett Theorem, Van der Waerden Theorem, Gallai-Witt Theorem
MV008 Algebra I
zk 2/2 3 kr., podzim
- doc. Mgr. Michal Kunc, Ph.D.
- Prerequisities:
MB151
Knowledge of basics of number theory within the scope of MB154 Discrete mathematics. - Goals: The aim of the course is to become familiar with basic algebraic terminology, demonstrated on monoids, groups and rings, and with its usage for instance in modular arithmetics or for calculations with permutations and numbers.
- Learning outcomes: After passing the course, students will be able to: use the basic notions of the theory of monoids, groups and rings; define and understand basic properties of these structures; verify simple algebraic statements; apply theoretical results to algorithmic calculations with numbers, mappings and polynomials.
- Syllabus:
Semigroups: monoids, subsemigroups and submonoids, homomorphisms and isomorphisms, Cayley's representation, transition monoids of automata, direct products of semigroups, invertible elements.
Groups: basic properties, subgroups, homomorphisms and isomorphisms, cyclic groups, Cayley's representation, direct products of groups, cosets of a subgroup, Lagrange's theorem, normal subgroups, quotient groups.
Polynomials: polynomials over complex, real, rational and integer numbers, polynomials over residue classes, divisibility, irreducible polynomials, roots, minimal polynomials of numbers.
Rings: basic properties, subrings, homomorphisms and isomorphisms, direct products of rings, integral domains, fields, fields of fractions, divisibility, polynomials over a field, ideals, quotient rings, field extensions, finite fields.
MV013 Statistics for Computer Science
zk 2/2 3 kr., jaro
- prof. Mgr. Petr Hasil, Ph.D. - RNDr. Radim Navrátil, Ph.D.
- Prerequisities:
Basic knowledge of mathematical analysis: functions, limits of sequences and functions, derivatives and integrals of real and multidimensional functions.
Basic knowledge of linear algebra: matrices and determinants, eigenvalues and eigenvectors.
Basic knowledge of probability theory: probability, random variables and vectors, limit theorems. - Goals: The main goal of the course is to become familiar with some basic principles of statistics, with writing about numbers (presenting data using basic characteristics and statistical graphics), some basic principles of likelihood and statistical inference; to understand basic probabilistic and statistical models; to understand and explain basic principles of parametric statistical inference for continuous and categorical data; to implement these techniques to R language; to be able to apply them to real data.
- Learning outcomes:
Student will be able:
- to understand principles of likelihood and statistical inference for continuous and discrete data;
- to select suitable probabilistic and statistical model for continous and discrete data;
- to use suitable basic characteristics and statistical graphics for continous and discrete data;
- to build up and explain suitable statistical test for continuous and discrete data;
- to apply statistical inference on real continuous and discrete data;
- to apply simple linear regression model including ANOVA on real continuous data;
- to implement statistical methods of continuous and discrete data to R. - Syllabus:
What is statistics? Motivation and examples.
Exploratory data analysis
Revision of probability theory
Parametric models - methods for parameter estimation
Confidence intervals and hypothesis testing
Testing hypotheses about one-sample
Testing hypotheses about two-samples
ANOVA
Testing for independence
Nonparametric tests
Linear regression models
IB000 Mathematical Foundations of Computer Science
zk 2/2 4 kr., podzim
- prof. RNDr. Petr Hliněný, Ph.D.
- Prerequisities:
!( IB000ext || NOW ( IB000ext ))
The course is intended primarily for students of Bachelor's degree programs at the Faculty of Informatics. Students with a minor plan in Informatics enroll in IB000ext. - Goals: This course is focused on understanding basic mathematical concepts necessary for study of computer science. This is essential for building up a set of basic concepts and formalisms needed for other theoretical courses in computer science. At the end of this course the successful students should: know the basic mathematical notions; understand the logical structure of mathematical statements and mathematical proofs, specially mathematical induction; know discrete mathematical structures such as finite sets, relations, functions, and graph; be able to precisely formulate their claims and relevant proofs; and apply acquired knowledge in other CS courses as well as in practice later on.
- Learning outcomes: After finishing the course the student will be able to: understand the logical structure of mathematical statements and mathematical proofs, deal with and explain basic structures of discrete mathematics, precisely formulate their claims and relevant proofs.
- Syllabus:
The course focuses on understanding basic mathematical tools:
Basic formalisms - statements, proofs, and propositional logic.
Introduction to predicate logic, quantifiers.
Sets, relations, and functions.
Proof techniques, mathematical induction.
Recursion, structural induction.
Binary relations, closure, transitivity.
Equivalence and partial orders.
Composition of relations and functions.
Basics of graphs, isomorphism, subgraphs, directed graphs.
Graph connectivity and distance, trees, and spanning trees.
Infinite sets and the halting problem.
IB000ext Mathematical Foundations of Computer Science
zk 2/2 4 kr., podzim
- prof. RNDr. Petr Hliněný, Ph.D.
- Prerequisities:
!( IB000 || NOW ( IB000 ))
This course is primarily intended for students who have Informatics as a minor plan. Students in the Bachelor's degree programs of the Faculty of Informatics enroll in IB000. IB000 graduates can have IB000ext recognized. - Goals: This course is focused on understanding basic mathematical concepts necessary for study of computer science. This is essential for building up a set of basic concepts and formalisms needed for other theoretical courses in computer science. At the end of this course the successful students should: know the basic mathematical notions; understand the logical structure of mathematical statements and mathematical proofs, specially mathematical induction; know discrete mathematical structures such as finite sets, relations, functions, and graph; be able to precisely formulate their claims and relevant proofs; and apply acquired knowledge in other CS courses as well as in practice later on.
- Learning outcomes: After finishing the course the student will be able to: understand the logical structure of mathematical statements and mathematical proofs, deal with and explain basic structures of discrete mathematics, precisely formulate their claims and relevant proofs.
- Syllabus:
The course focuses on understanding basic mathematical tools:
Basic formalisms - statements, proofs, and propositional logic.
Introduction to predicate logic, quantifiers.
Sets, relations, and functions.
Proof techniques, mathematical induction.
Recursion, structural induction.
Binary relations, closure, transitivity.
Equivalence and partial orders.
Composition of relations and functions.
Basics of graphs, isomorphism, subgraphs, directed graphs.
Graph connectivity and distance, trees, and spanning trees.
Infinite sets and the halting problem.
IB002 Algorithms and data structures I
zk 2/2 4 kr., jaro
- prof. RNDr. Ivana Černá, CSc.
- Prerequisities:
( IB015 || IB111 ) && ! NOW ( IB114 )
The students should comprehend the basic notions on the level of IB111 Introduction to Programming and IB000 Mathematical Foundations of Computer Science Students should be able to: understand and apply basic constructs of programming languages (e.g., conditions, loops, functions, basic data types) in Python, know principles of recursion, and several basic algorithms. Students should know the basic mathematical notions; understand the logical structure of mathematical statements and mathematical proofs, specially mathematical induction; know discrete mathematical structures such as finite sets, relations, functions, and graph including their applications in informatics. IB114 is a similar course designed for a different curriculum. - Goals: The course presents basic techniques of the analysis of algorithms, data structures, and operations. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algorithms. Students implement their algorithms in programming language Python.
- Learning outcomes:
After enrolling the course students are able to:
- actively use and modify basic sorting algorithms and graph algorithms,
- actively used basic techniques for designing algorithms (divide et impera, recursion) and design simple algorithms,
- actively used and modify basic static and dynamic data structures,
- employ time complexity and correctness of algorithms,
- analyze time complexity and prove the correctness of simple iterative and recursive algorithms,
- implement algorithms in the selected programming language (Python). - Syllabus:
Basic analysis of algorithms:
The correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
Algorithm design techniques. Divide et impera and recursive algorithms.
Fundamental data structures: lists, queues. Representation of sets, hash tables. Binary heaps. Binary search trees, balanced trees (B trees, Red-black trees).
Sorting algorithms: quicksort, mergesort, heapsort, lower bound for the time complexity of sorting.
Graphs and their representation. Graph search. Depth-first traversal, topological sort, strongly connected components. Breadth-first traversal, bipartite graphs. Shortest paths, algorithm Bellman-Ford, Dijkstra's algorithm.
IB005 Formal Languages and Automata
zk 2/2 4 kr., jaro
- prof. Dr. rer. nat. RNDr. Mgr. Bc. Jan Křetínský, Ph.D.
- Prerequisities:
IB000
Knowlegde corresponding to the courses IB000 Mathematical Foundations of Computer Science - Goals: Students should be able to understand and explain the rich heritage of models and abstractions that have arisen over the years, and to develop the students' capacity to form abstractions of their own and reason in terms of them.
- Learning outcomes:
At the end of the course students should be able to:
Demonstrate an in-depth understanding of theories, concepts and techniques in automata and their link to computation.
Develop abstract machines that demonstrate the properties of physical/SW systems and be able to specify the possible inputs, processes and outputs of these machines. Analyze the computational strengths and weaknesses of these machines.
Understand the concept of computability by manipulating these machines in order to demonstrate the properties of computational processes.
Practice techniques of program design and development by using abstract machines. Apply automata concepts and techniques in designing systems that address real world problems - Syllabus:
Languages and grammars. Chomsky hierarchy.
Finite automata and regular grammars.
Properties of regular languages. Applications.
Context-free grammars and pushdown automata.
Properties of context-free languages.
Turing machines (TM). Computable languages and functions, LBA. Properties of recursive and recursive enumerable languages.
Undecidability, halting problem for TM, Reduction, Post Correspondece Problem, undecidable problems from language theory.
IB015 Non-Imperative Programming
zk 2/1 4 kr., podzim
- prof. RNDr. Jiří Barnat, Ph.D.
- Prerequisities: There are no special prerequisities apart from the basic math skills (on the secondary-school level), and certain aptitude for abstract reasoning.
- Goals: On successful completion of the course, students will understand functional and logic programming paradigms. Programming languages enforcing declarative way of description of an algorithm bring on programming habits that the students will be able to use in practice later on when implementing large applications using even imperative languages.
- Learning outcomes: After graduation students will: - understand fundaments of functional programming, - be able to decompose computational problems to individual functions and apply this ability for design and implementation of programs even in imperative programming languages, - have basic knowledge of Haskell programming language - be able to design and implement recursive functions, - be able to work with recursively defined data structures.
- Syllabus:
Functional computational paradigm and Haskell
Functions in programming;
Lists, Types and Recursion
Functions of higher rank, Lambda functions
Accumulators, Type definitions, Input/Output
Reduction strategy, Infinite lists
Relation of recursion and induction, Recursive data types
Time complexity of computation, Type classes, Modules
Functional solutions od some problems
Logical computational paradigm and Prolog
Non-imperative programming in Prologu
Lists, Arithmetics, Tail rekursion in Prologu
Cuts, Input-Output, All solutions
An Introduction to Constraint Solving Programming
IB016 Seminar on Functional Programming
z 1/1 2 kr., jaro
- RNDr. Martin Jonáš, Ph.D.
- Prerequisities:
IB015
Pre-requisities for enrolling in the course are to be familiar with Haskell in the scope of the IB015 Non-Imperative Programming course and to have a positive attitude towards functional programming. - Goals: Students will significantly extend their knowledge of functional programming. At the end of the course, they should be able to solve non-trivial programming problems using Haskell and be familiar with practical use of this functional language.
- Learning outcomes:
After finishing the course, the student will be able to:
— write a Haskell program with approximatelly 100 to 200 lines;
— perform analysis and functional decompisition of given problem;
— use supportive tools for Haskell developers such as the Cabal package manager, the Hackage package repository, the HLint linter, and the QuickCheck testing framework;
— describe theoretical functional concepts;
— have an idea about some more advanced functional techniques used in practice. - Syllabus:
Advanced syntax, modules, custom type classes, advanced data structures.
Package system (Hackage/Stackage), support tools (Cabal, HLint, Haddock).
Functors, applicative functors, monads.
Automatic generation of tests according to program specification (QuickCheck).
Input and output in Haskell, processing errors and exceptions (Maybe, Either, exceptions, error states).
Semigroups, monoids, the Foldable and Traversable classes.
Evaluation strategies (laziness vs. strictness).
Monadic parsing (Parsec).
Monads for shared writing, shared reading and keeping the state (Writer, Reader, State).
Monad transformers (MaybeT, ErrorT).
Processing strings and other useful GHC extensions.
Haskell in real world projects.
IB030 Introduction to Natural Language Processing
zk 2/0 2 kr., jaro
- doc. RNDr. Aleš Horák, Ph.D.
- Goals: In this course the main principles of natural language processing are presented. The algorithmic description of the main language analysis levels will be discussed - morphology, syntax, semantics and pragmatics. Also the resources of natural language data, corpora, will be presented. The role of knowledge representation, inference and relations to artificial intelligence will be touched as well.
- Learning outcomes:
Students will be able to:
- identify and summarize the main phases of computer natural language analysis;
- describe principles of algorithms used for speech analysis;
- explain the main approaches to analysis at the morphological and syntactic level of language;
- provide an overview of main language resources, their formats and processing;
- understand approaches to computational semantics and its applications. - Syllabus:
Introduction to Computational Linguistics (Natural Language Processing, NLP).
Levels of description: phonetics and phonology, morphology, syntax, semantics and pragmatics.
Representation of morphological and syntactic structures.
Analysis and synthesis: speech, morphological, syntactic, semantic.
Knowledge representation forms with regard to lexical units.
Language understanding: sentence meaning representation, logical inference.
IB031 Introduction to Machine Learning
zk 2/2 3 kr., jaro
- doc. RNDr. Tomáš Brázdil, Ph.D.
- Prerequisities: Recommended courses are MB152 a MB153.
- Goals: By the end of the course, students should know basic methods of machine learning and understand their basic theoretical properties, implementation details, and key practical applications. Also, students should understand the relationship among machine learning and other sub-areas of mathematics and computer science such as linear algebra, statistics, artificial intelligence and optimization.
- Learning outcomes:
By the end of the course, students
- will know basic methods of machine learning;
- will understand their basic theoretical properties, implementation details, and key practical applications;
- will understand the relationship among machine learning and other sub-areas of mathematics and computer science such as linear algebra, statistics, artificial intelligence, and optimization;
- will be able to implement and validate a simple machine learning method. - Syllabus:
Basic machine learning: classification and regression, clustering,
(un)supervised learning, simple examples
Decision trees: learning of decision trees
Evaluation: training and test sets, overfitting, confusion matrix, learning curve, ROC curve
Probabilistic models: Bayes rule, naive Bayes; introduction to Bayes networks
Linear regression (classification): least squares, relationship wih MLE, regression trees
Kernel methods: SVM, kernel transformation, kernel trick
Neural networks: multilayer perceptron, backpropagation, non-linear regression
Lazy learning: nearest neighbor method; Clustering: k-means, hierarchical clustering
Practical machine learning: Data pre-processing: attribute selection and construction, sampling. Ensemble methods. Bagging. Boosting. Tools for machine learning.
IB047 Introduction to Corpus Linguistics and Computer Lexicography
zk 2/0 2 kr., jaro
- doc. Mgr. Pavel Rychlý, Ph.D.
- Goals: A basic introduction to the field of corpus linguistics and computational lexicography. Students will study types of corpora, corpus building and usage, especially in the sake of dictionaries building.
- Learning outcomes: Student will be able to: choose the right korpus type for specific purpose; interpret all layers of corpus annotation; use statistical methods on text corpora; design the structure of a dictionary; use free tools for dictionary writing.
- Syllabus:
Information technologies and language (text) corpora.
Beginning of corpus linguistics, purpose of corpora.
Corpus data, corpus types and their standardization, SGML, XML, TEI, CES. Annotated corpora, tagging on various levels: structural tagging, grammatical tagging -- POS, lemmata, word forms. Syntactic tagging, treebanks, skeleton analysis. Parallel corpora, alignment. Tools for automatic and semi-automatic annotation, disambiguation.
Building corpora, maintenance. Corpus tools: corpus manager. Concordance programmes. Queries, regular expressions and their use. Statistical programmes, absolute and relative frequencies, MI and T-score. Work with corpus attributes and tags.
Working with corpora -- CNC, SUSANNE, Prague Dependency Treebank
Words, constructions, collocations.
Computational lexicography, lexicology.
Descripton of meanings (semantic features).
Types of computer dictionaries. Lexicography standards.
Data for dictionary building -- corpora.
Lexicography Software tools. Lemmatizers.
IB107 Computability and Complexity
zk 2/1 3 kr., podzim
- prof. RNDr. Jan Strejček, Ph.D.
- Prerequisities:
IB005
- Goals:
The course introduces basic approaches and methods for classification of problems with respect to their algorithmic solvability. It explores theoretical and practical limits of the use of computers and the implications that these limitations have for the developent of information technology.
At the end of the course, the students will be able: to understand basic notions of computability and complexity; to understand the main techniques used to classify problems (reductions, diagonalisation, closure properties), and to apply them in some simple cases. - Learning outcomes:
After enrolling the course student will be able to:
- use asymptotic notation, both actively and passively;
- explain difference between complexity of an algorithm and of a problem;
- independently decide to which complexity class a given problem belongs;
- do practical decisions based on a complexity classification of a particular problem;
- explain that some problems are not computable, give examples of such problems;
- explain the difference between various classes of not-computable problems; - Syllabus:
Algorithms and models of computation. Church thesis.
Classification of problems. Decidable, undecidable, and partially decidable problems. Computable functions.
Closure properties. Rice theorems.
Computational complexity. Feasible and unfeasible problems.
Reduction and completeness in problem classes. Many-one reduction and polynomial reduction. Complete problems with respect to decidability, NP-complete problems. Applications.
IB109 Design and Implementation of Parallel Systems
zk 2/0 2 kr., jaro
- prof. RNDr. Jiří Barnat, Ph.D.
- Prerequisities: The knowledge of low-level programming in C is expected at the level PB111.
- Goals: The goal of this course is to introduce to students the principles of design and implementation of parallel systems and get them acquainted with the programmer's means for their development.
- Learning outcomes: On successful completion, students should understand the principles of design and implementation of parallel algorithms and should have limited experience with programmer's means for their development. In particular, students should be able to design and implement their own parallel applications, they should know how to use selected libraries supporting the development of parallel applications, and should be able to explain what is behind the API calls to such libraries.
- Syllabus: Motivation for parallel computing. Parallel algorithm design -- decomposition and communication. Analyzes of parallel algorithms. Parallel algorithms in shared-memory.OpenMP, Intel TBB. POSIX Threads. Lock-free algorithmics. Parallel algorithms in distributed-memory. Message Passing Interface (MPI). Examples of parallel graph algorithms. Parallel algorithms for many-core platforms.
IB110 Introduction to Informatics
zk 2/2 3 kr., jaro
- doc. RNDr. Petr Novotný, Ph.D.
- Prerequisities:
! IB005 || ! IB107
This course is designed for students of the associated programs. Students in the Informatics program enroll in the full courses, IB005 and IB107. Graduates of both full courses may have IB110 recognized. - Goals: The main objective of the course is to acquaint the students with basic abstract computational models and their use in analysis of algorithms and computational problems. At the end of the course, the students will understand fundamental concepts in the theory of finite automata, computability and complexity theory. They will be able to leverage the knowledge of these concepts for deeper understanding of concepts appearing in a practice of programming.
- Learning outcomes:
Successful course graduates will be able to:
- explain the notion of a finite automaton and construct finite automata for simple regular languages
- explain the notion of a regular expression and construct REs for simple regular languages
- explain the concept of non-determinism and use non-determinism to simplify the construction of finite automata
- use the basic algorithms for handling of finite automata (determinisation etc.)
- understand the notion of decidability and explain the existence of undecidable problems
- explain the concept of a Turing machine and construct TMs for simple problems
- understand the concept of reduction between computational problems
- understand the concept of computational complexity, the basic complexity classes and relationships between them - Syllabus:
Finite automata and regular languages. Construction of finite automata.
Non-deterministic automata, the use of non-determinism, determinisation, minimalisation.
Regular expressions and regular grammars. Examples of non-regular languages.
Computational problems and algorithms. Turing machines. Decidable and undecidable problems, diagonalisation.
Reductions between computational problems.
Time and space complexity of algorithms and problems. Classes P and NP. NP-complete problems. Examples of complexity classes and relationships between them.
IB111 Foundations of Programming
zk 2/2 5 kr., podzim
- RNDr. Nikola Beneš, Ph.D.
- Prerequisities:
! IB113 && ! NOW ( IB113 )
- Goals: The course is an introduction to programming and algorithmic style of thinking.
- Learning outcomes: At the end of the course students should be able to: understand and apply basic constructs of programming languages (e.g., conditions, loops, functions, basic data types); write and debug a program in Python; use basic data types and structures (strings, lists, dictionaries); describe several basic algorithms; describe main conventions and recommended programming style.
- Syllabus:
The course shows the basic elements of imperative programming and algorithmic thinking using the high-level programming language Python as an example.
Basic notions of imperative programming languages: variables and their semantics, expressions and statements, branching, cycles; subroutines (functions), passing parameters (calling functions), pure functions, predicates.
Numerical computation, basic data types, using the random generator.
Data structures, ADT, lists, strings, multidimensional arrays, sets, dictionaries, the basic of using objects to create user-defined data structures.
The basics of testing and debugging, preconditions and postconditions, type annotation.
Examples of basic algorithms: greatest common divisor, prime numbers, sorting algorithms, searching.
The efficiency of algorithms, the basics of complexity, the complexity of basic data structures operations.
Recursion and its specifics in the imperative paradigm, tail recursion; using recursion to work with tree data structures and to solve constraint satisfaction problems (the basics of the backtracking technique).
Interaction with the environment (I/O), turtle graphics, bitmap graphics, text processing.
Program design, programming styles and conventions, readability and maintainability of code, documentation and comments.
IB113 Introduction to Programming and Algorithms
zk 2/2 4 kr., podzim
- doc. Mgr. Radek Pelánek, Ph.D.
- Prerequisities:
! NOW ( IB111 ) && ! IB111 && ! PB162 && ! PB161 && ! PB071 && ! IB001 && ! program ( B - INF ) && ! program ( B - PVA ) && ! program ( B - CS )
The course is intended for students of non-IT programs. Students of Informatics, Programming and Development, and Cybersecurity enroll in IB111. IB111 graduates can have IB113 recognized. - Goals: The course is an introduction to programming and algorithmic style of thinking. At the end of the course students should be able to: understand and apply basic constructs of programming languages (e.g., conditions, loops, functions, basic data types) and know several basic algorithms.
- Learning outcomes:
After finishing this course, a student should be able to:
- use basic tools of structured imperative programming languages (variables, conditions, loops, functions, record data types);
- write and debug a simple Python program and adhere to recommended principles of programming style;
- use basic data types and structures (strings, lists, dictionaries);
- explain several classical algorithms. - Syllabus:
Basic constructions of imperative programming languages: conditions, loops, data types, functions, input, output.
Number types, randomness, algorithms with numbers.
Data types, lists, dictionaries, objects.
Basic algorithms: prime numbers, sorting, searching. Complexity of algorithms (basics).
Turtle graphics, bitmap graphics, regular expressions, text processing.
IB114 Introduction to Programming and Algorithms II
zk 2/1 3 kr., jaro
- prof. RNDr. Ivana Černá, CSc.
- Prerequisities:
( IB111 || IB113 ) && ! IB002 && ! NOW ( IB002 )
This course is intended for the study program Cybersecurity. Students enrolled in programs Informatics and Programming and Application Development are recommended IB002 instead. IB002 graduates can have IB114 recognized. - Goals: The course presents basic data structures and algorithms. Students should correctly apply the basic data structures and algorithms as well as apply the algorithm design and analysis techniques when designing new algorithms. Students implement their algorithms in programming language Python.
- Learning outcomes:
After enrolling the course students are able to:
- actively use basic sorting algorithms and graph algorithms,
- actively design simple algorithms,
- actively used basic static and dynamic data structures,
- employ time complexity and correctness of algorithms,
- implement simple algorithms in the selected programming language (Python). - Syllabus:
Basic analysis of algorithms.
The correctness of algorithms, input and output conditions, partial correctness, convergence, verification.
Length of computation, algorithm complexity, problem complexity. Asymptotical analysis of time and space complexity, growth of functions.
Fundamental data structures. Lists, queues. Representation of sets, hash tables. Binary heaps. Binary search trees.
Sorting algorithms. Quicksort, Mergesort, Heapsort.
Graphs and their representation. Graph search. Depth-first traversal and Breadth-first traversal, applications.
IA006 Selected topics on automata theory
zk 2/1 3 kr., podzim
- prof. RNDr. Mojmír Křetínský, CSc.
- Prerequisities: Knowlegde corresponding to the courses IB005 - Formal languages and automata and IB107 - Computability and complexity
- Goals: The main aim is to understand and explain selected advanced parts of automata theory, including parsing techniques for deterministic contex-free languages, relationship between finite-state automata and MSO logic, automata on infinite words, and process specifications. Further, students should be able to make reasoned decisions about computational models appropriate for the respective areas and to understand methods and techniques of their applications.
- Learning outcomes: At the end of the course students should be able to understand and explain selected advanced parts of automata theory, and to make reasoned decisions about computational models appropriate for the respective area and to understand methods and techniques of their applications.
- Syllabus:
Methods of syntactic analyses of detCFLs.
LL(k) grammars and languages, properties and analyzers.
LR(k) grammars and languages, properties and analyzers.
Relationships between LL, LR and detCFL.
Infinite=state transition systems and nondeterminism - bisimulation. Selected decidable problems related to process verification.
Finite-state automata and monadic second-order logic
Automata and infinite words: infinite words, regular (rational) sets of infinite words.
Automata: deterministic and nondeterministic Buchi automata, Muller, Rabin, and Street automata. McNaughton theorem. Relationships.
IA008 Computational Logic
zk 2/2 3 kr., jaro
- Dr. rer. nat. Achim Blumensath
- Prerequisities: some familiarity with basic notions from logic like: formula, model, satisfaction, logical equivalence.
- Goals: The course is about algorithmic problems related to logic. The focus is on model checking and satisfiability algorithms for several logics used in the various fields of computer science, for instance in verification or knowledge representation.
- Learning outcomes: After successfully completing this course students should be familiar with several logics, including propositional logic, first-order logic, and modal logic. They should be familiar with various proof calculi for these logics and be able to use such calculi to test formulae for satisfiability and/or validity. In addition, they should have basic knowledge about automatic theorem provers and they way these work.
- Syllabus:
Resolution for propositional logic.
Resolution for first-order logic.
Prolog.
Fundamentals of database theory.
Tableaux proofs for first-oder logic.
Natural deduction.
Ehrenfeucht-Fraise games.
Induction.
Modal logic.
Many-valued logics.
IA010 Principles of Programming Languages
zk 2/0 2 kr., podzim
- Dr. rer. nat. Achim Blumensath
- Prerequisities: Knowledge of at least one imperative language (e.g. C/C++/Java/...) and one functional one. In particular, familiarity with Haskell is recommended (although not strictly required). Knowledge of additional programming languages is an advantage.
- Goals:
The topic of this course is the design of programming languages. We will take a look at various programming language features and discuss them from a user's perspective. By the end of the course, the students will be able:
to understand the various features of a given programming language , including their advantages and disadvantages;
to choose a programming language and programming paradigm suitable for a given problem domain;
to analyse both strong and weak aspects of a given programming language;
to quickly obtain an in-depth understanding a of new programming language. - Learning outcomes: After successfully completing this course students will be familiar with the most common features of programming languages. They will know how these features can be used. They will be able to discuss which features can be used to solve a given programming problem and the advantages and disadvantages of the various options.
- Syllabus:
A brief history of programming languages.
Expressions and functions. Scoping. Functional programming.
Types and type checking. Polymorphism. Type inference.
State and side effects. Imperative Programming.
Modules. Abstract data types.
Control flow. Continuations. Generators. Exceptions. Algebraic effects.
Declarative Programming. Single assignment variables. Unification. Backtracking.
Object oriented programming. Dynamic Dispatch. Subtyping. Encapsulated state. Inheritance.
Concurrency. Fibres. Message passing. Shared memory.
IA011 Programming Language Semantics
zk 2/1 3 kr., jaro
- prof. RNDr. Antonín Kučera, Ph.D.
- Prerequisities: Students should be familiar with basic notions of set theory and formal logic (validity and provability, correctness and completeness of deductive systems, etc.)
- Goals: An introduction to the theory of formal semantics of programming languages (operational, denotational, and axiomatic semantics).
- Learning outcomes:
After graduation, student will:
understand basic types of formal semantics of programming languages;
be able to reason about properties of programs using formal semantics;
understand basic notions of temporal logics. - Syllabus:
Formal semantics of programming languages, basic paradigms
(operational, denotational, and axiomatic approach).
Structural operational semantics and its variants (small-step and big-step semantics).
Denotational semantics. Complete partial orders, continuous functions. The fixed-point theorem and its applications, semantics of recursion. Equivalence of operational and denotational semantics.
Axiomatic semantics. Hoare's deductive system, its correctness and completeness.
Temporal logics; the semantics of non-terminating and parallel programs.
IA012 Complexity
zk 2/0 3 kr., podzim
- prof. RNDr. Ivana Černá, CSc.
- Prerequisities: The course expands on course IB107 Computability and Complexity.
- Goals: Theory of computational complexity is about quantitative laws and limitations that govern computing. The course explores the structure of the space of of computable problems and develops techniques to reduce the search for efficient methods for the whole class of algorithmic problems to the search for efficient methods for a few key algorithmic problems. The theory classifies problems according to their computational complexity into feasible and unfeasible problems. Finally, the course tries to understand unfeasability can be coped with the help of techniques like randomization, approximation and parallelization. The main goal of the course is to provide a comfortable introduction to moder complexity theory. While choosing the relevant topics, it places premium on choosing topics that have a concrete relationship to algorithmic problems. Students should understand and analyze complexity issues of basic algorithmic problems and compare different computing approaches.
- Learning outcomes:
After enrolling the course students are able to:
- actively work with computational complexity of problems and algorithms,
- analyse upper and lower bounds of computational complexity,
- differentiate between tractable and untractable problems,
- define basic complexity classes and analyze their relationships,
- explain (NP) hardness and prove hardness of computational problems,
- describe limits of determicnistic, nondeterministic, alternating, randomized, and parallel computing paragigms. - Syllabus:
The structure and properties of time complexity classes. Relation
between determinism and nondeterminism.
The structure and properties of space complexity classes. Relation between determinism and nondeterminism. closure properties of space complexity classes.
Unfeasible problems. Hierarchy of complexity classes. Polynomial hierarchy. Relativization. Non-uniform computational complexity.
Randomized complexity classes and their structure. Approximative complexity classes and non-approximability.
Alternation and games. Interactive protocols and interactive proof systems.
Lower bounds techniques. Kolmogorov complexity.
Descriptive complexity.
IA014 Advanced Functional Programming
zk 2/0 2 kr., jaro
- doc. Mgr. Jan Obdržálek, PhD.
- Prerequisities: Previous experience with functional programming, at least to the extent covered by the course IB015 - Non-imperative programming.
- Goals: Introduce the theoretical concepts behind the functional programming paradigm, i.e. lambda-calculus and various type systems. Present some of the modern advanced functional programming concepts (typeclasses, monads, monad transformers, GADTs, dependent types...).
- Learning outcomes:
By the end of the course, students will:
understand the theoretical foundations of functional programming, e, g, lambda calculi and type theory;
understand and be able to efficiently use modern/advanced concepts of functional programming languages (e.g. typeclasses, monads, monad transformers...);
know the limits of the functional programming paradigm;
be able to evaluate and use FP-based concepts in modern mainstream (non-FP) languages. - Syllabus:
History of functional programming languages.
Untyped lambda calculus.
Simply typed lambda calculus.
Polymorphism add type inference (Hindley-Milner, System F)
Type classes.
Functors, Applicatives.
Monads.
Monad tranformers.
GADTs - Generalized Algebraic Data Types
Dependent types.
IA023 Petri Nets
zk 2/0 2 kr., jaro
- prof. RNDr. Antonín Kučera, Ph.D.
- Prerequisities: Students should be familiar with basic notions of computability, complexity, and automata theory.
- Goals: An introduction to Petri nets; the course covers both "classical" results (about boundedness, liveness, reachability, coverability, etc.) and "modern" results (the (un)decidability of equivalence-checking and model-checking, etc.)
- Learning outcomes: At the end of the course, students should be able to: understand the language of Petri nets; model various classes of systems using Petri nets; apply specific analytical techniques developed for Petri nets; prove properties of discrete systems using Petri nets and appropriate specification formalisms.
- Syllabus:
The theory of Petri nets provides a formal basis for modelling,
design, simulation and analysis of complex distributed
(concurrent, parallel) systems, which found its way to
many applications in the area of computer software, communication protocols, flexible manufacturing systems, software engineering, etc.
Principles of modelling with Petri nets.
Classical results for place/transition nets. Boundedness, coverability, Karp-Miler tree, weak Petri computer; reachability and liveness.
(Un)decidability of equivalence-checking and model-checking with place/transition nets.
S-systems, T-systems. Reachability, liveness, S-invariants, T-invariants.
Free-choice Petri nets. Liveness, Commoner's theorem.
IA038 Types and Proofs
zk 2/0 2 kr., podzim
- Dr. rer. nat. Achim Blumensath
- Prerequisities: The course assumes some familiarity with first-order logic. Knowledge of lambda-calculus is useful, but not required.
- Goals: This is a theoretical course examining a correspondence between type systems and certain logic calculi. It can be seen as a companion to the course IA011 Programming Language Semantics. The target audience are students with an interest in proof calculi and the lambda-calculus.
- Learning outcomes: After completing the course, students will understand the basic properties of intuitionistic logic. They will be able to compare proof calculi with typed versions of the lambda-calculus, and to transfer programming language constructs into logic and vice versa.
- Syllabus:
intuitionistic logic
the simply typed lambda-calculus
the Howard-Curry correspondence
combinators
classical logic
first-order logic
second-order logic
dependent types
IA066 Introduction to Quantum Computing
zk 2/1 3 kr., podzim
- prof. RNDr. Antonín Kučera, Ph.D. - RNDr. Vít Musil, Ph.D.
- Prerequisities: Linear algebra in a complex field; No knowledge of quantum physics is assumed.
- Goals: The course introduces students to the core principles of quantum mechanics as applied to computing. Initially, we confront our classical expectations with quantum surprises through experiments to discover fundamental phenomena such as superposition, interference and measurement. We then establish a mathematical framework to underpin these concepts. Students will learn about basic concepts and methods used in quantum computing as well as famous key algorithms that offer advantages over classical computing. The course aims to provide theoretical knowledge and skills, preparing students for advanced studies or careers in quantum technologies. In contrast to popularization lectures, the focus is on understanding the mathematical rigour.
- Learning outcomes:
After completing the course, students will be able to understand:
- the mathematical foundations of quantum computing
- basic principles of quantum algorithm design
- basic quantum circuit design
- basic elements of quantum cryptography
- Grover's search and Shor's period-finding algorithms - Syllabus:
Introduction:
What is quantum computing, and why look at it.
Classical expectations & quantum surprises: Demonstration of experiments with spinning neutrons in a magnetic field; Building a formal model, discussion of measurement, unavoidable complexity.
Superposition: Introducing 'signed' probabilities; Constructive and destructive interference.
Postulates of quantum mechanics: State space; Qbit and its measurement (Born rule); The evolution of a quantum system.
Operations on a Qbit: Properties of unitary transforms; Quantum gates and circuits; I, H, X, Z gates.
Protocols using one Qbit: Quantum key distribution (BB84); Bit commitment.
Composite systems: Tensor product and entanglement; Measurement revisited, Generalized Born rule.
Operations on Qbits: Unitary transforms, Product and entanglement gates, CNOT; Postulates revisited; No cloning theorem;
Dense coding & Teleportation: Bell basis and duality;
Reversible computation of a Boolean function: Unitary implementation of any function; Quantum parallelism; Phase query;
Protocols using a few Qbits: Deutsch's problem'; Bernstein-Vazirani problem; Simon's problem.
Grover's Search algorithm
Shor's factoring algorithm: Discrete Fourier transform; Period finding.
IA067 Informatics Colloquium
z 1/0 1 kr., podzim
- doc. RNDr. Barbora Kozlíková, Ph.D. - doc. RNDr. Petr Švenda, Ph.D.
- Goals: The aim of the colloquium is to present new directions, methods and results in informatics, broadly understood. Talks will cover all areas of informatics and related areas and will be given by well-known specialists, especially outside of Brno and from abroad.
- Learning outcomes: After finishing the course students will have updated information about recent research provided by faculties and also by specialists from other academic instituition, also from abroad. For each presented area student will be able to decide whether its techniques can be used to solve a particular theoretical or application problem.
- Syllabus: The aim of the colloquium is to present new directions, methods and results in informatics, broadly understood. Talks will cover all areas of informatics and related areas and will be given by well-known specialists, especially outside of Brno and from abroad.
IA067 Informatics Colloquium
z 1/0 1 kr., jaro
- doc. RNDr. Barbora Kozlíková, Ph.D. - doc. RNDr. Petr Švenda, Ph.D.
- Goals: The aim of the colloquium is to present new directions, methods and results in informatics, broadly understood. Talks will cover all areas of informatics and related areas and will be given by well-known specialists, especially outside of Brno and from abroad.
- Learning outcomes: After finishing the course students will have updated information about recent research provided by faculties and also by specialists from other academic instituition, also from abroad. For each presented area student will be able to decide whether its techniques can be used to solve a particular theoretical or application problem.
- Syllabus: The aim of the colloquium is to present new directions, methods and results in informatics, broadly understood. Talks will cover all areas of informatics and related areas and will be given by well-known specialists, especially outside of Brno and from abroad.
IA072 Seminar on Verification
z 0/2 2 kr., podzim
- prof. RNDr. Jan Strejček, Ph.D. - Mgr. Marek Trtík, Ph.D.
- Prerequisities:
souhlas
for postgraduate students; undergraduate students interested in formal methods may ask for an exception, especially if they are interested in program analysis or automata theory. - Goals:
The aim of the course is to
introduce students to selected research areas;
check their ability to understand a scientific paper;
check and improve their skill of presenting a scientific paper; - Learning outcomes:
At the end of the course students should be able to:
understand a theoretical scientific text;
make a presentation that explains main ideas of such a text;
potentially apply gathered knowledge in an original research; - Syllabus:
Presentations of results from the following areas:
Analysis and verification of software.
Automata and logics over infinite words.
Satisfiability and theorem proving.
IA072 Seminar on Verification
z 0/2 2 kr., jaro
- prof. RNDr. Jan Strejček, Ph.D. - Mgr. Marek Trtík, Ph.D.
- Prerequisities:
souhlas
for postgraduate students; undergraduate students interested in formal methods may ask for an exception, especially if they are interested in program analysis or automata theory. - Goals:
The aim of the course is to
introduce students to selected research areas;
check their ability to understand a scientific paper;
check and improve their skill of presenting a scientific paper; - Learning outcomes:
At the end of the course students should be able to:
understand a theoretical scientific text;
make a presentation that explains main ideas of such a text;
potentially apply gathered knowledge in an original research; - Syllabus:
Presentations of results from the following areas:
Analysis and verification of software.
Automata and logics over infinite words.
Satisfiability and theorem proving.
IA082 Physical concepts of quantum information processing
zk 2/0 2 kr., jaro
- RNDr. Daniel Reitzner, PhD. - doc. Mgr. Mário Ziman, Ph.D.
- Prerequisities:
PV275 || SOUHLAS
- Goals: Introduction to quantum physics and quantum information theory.
- Learning outcomes:
After this course students should:
understand basic principles of quantum physics;
apply the learned concepts in the subsequent study of quantum information theory;
self-study quantum theory books. - Syllabus:
1. Security and computation with photons
- photon's polarization and polarizers, Vernam cipher, quantum key "distribution" protocol B92, polarizing beam-splitter, √NOT logic gate,
2. Quantum interference and superposition - Mach-Zender interferometer, concept of quantum state, quantum probabilities and amplitudes, Hilbert space and operators,
3. Measuring quantum properties - description of quantum measurement devices (POVM), tomography of polarization, uncertainty relations, no information without disturbance
4. Hydrogen atom - emission spectrum, Bohr's model, position and momentum, quantum solution, Zeeman effects, spin of electron,
5. Schrodinger equation - time and evolution, unitary operators, energy conservation and system's Hamiltonian,
6. Quantum bit - two-level quantum system (polarization and spin-1/2), Stern-Gerlach experiments, Bloch sphere, orthogonality and information, no-cloning theorem, quantum NOT gate, qubit implementations
7. Quantum sources and randomness - mixed states, quantum commpression, von Neumann entropy, capacity of noiseless quantum channel, randomness sources, min-entropy
8. Einstein-Podolski-Rosen paradox - composite quantum systems, tensor product, quantum steering, EPR paradox, local hidden variable model, CHSH inequalities, experiments and loopholes
9. Quantum one-time pad protocols - one-time pad, super-dense coding and teleportation
10. Quantum entanglement - correlated and separable states, definition of entanglement, entanglement distilation,
11. Quantum cryptography - QKD protocols BB84, E91, no-quantum bit commitment theorem, quantum secret sharing protocols,
12. Elementary particles - fermions and bosons and tensor products, standard model, Higg's boson
IA085 Satisfiability and Automated Reasoning
zk 2/1 4 kr., jaro
- RNDr. Martin Jonáš, Ph.D.
- Goals:
At the end of the course, students should:
- have working knowledge of propositional logic and first-order logic,
- be able to express real-world problems in a suitable logical formalism,
- be able to explain principles, algorithms, and underlying theoretical concepts of modern satisfiability solvers and theorem provers,
- be able to assess what kind of tool is relevant for their problem and apply an existing satisfiability solver or theorem prover to the problem,
- understand strengths and weaknesses of existing satisfiability solvers and theorem provers. - Learning outcomes:
At the end of the course, students should:
- have working knowledge of propositional logic and first-order logic,
- be able to express real-world problems in a suitable logical formalism,
- be able to explain principles, algorithms, and underlying theoretical concepts of modern satisfiability solvers and theorem provers,
- be able to assess what kind of tool is relevant for their problem and apply an existing satisfiability solver or theorem prover to the problem,
- understand strengths and weaknesses of existing satisfiability solvers and theorem provers. - Syllabus:
Propositional satisfiability: syntax and semantics of propositional logic
, encoding of real-world problems, historical and modern satisfiability decision procedures, design and usage of modern satisfiability solvers, preprocessing techniques, proofs of unsatisfiability.
Satisfiability Modulo Theories: syntax and semantics of first-order logic without quantifiers; first-order theories relevant for description of systems, their decidability and complexity; CDCL(T) algorithm and theory solvers for selected first-order theories.
Reasoning with Quantifiers: syntax and semantics of first-order logic with quantifiers; encoding of real-world problems; first-order resolution, superposition, E-matching; implementation of proof search in modern theorem provers; quantifier elimination; quantifier instantiation.
Interactive Theorem Proving: formal foundations; practical usage of a state-of-the art theorem prover.
IA101 Algorithmics for Hard Problems
zk 2/0 2 kr., podzim
- prof. RNDr. Ivana Černá, CSc.
- Prerequisities: Experience with basic techniques for design and analysis of algorithms (recursion, dynamic programming, greedy approach) as well as with basic data structures and algorithms are required.
- Goals: The course expands on courses IB002 Algorithms and Data Structures I and IV003 Algorithms and Data Structures II. It focuses on design of algorithms for hard computing tasks. The course systematically explains, combines, and compares the main possibilities for attacking hard algorithmic problems like randomization, heuristics, approximation and local search.
- Learning outcomes:
After enrolling the course students are able to :
- identify algorithmically hard problems,
- identify applications where pseudopolynomial, approximative, randomized, and heuristic algorithms can be succesfully used,
- actively used published pseudopolynomial, approximative, and randomized algorithms and correctly interpret their outcomes,
- design simple pseudopolynomial, approximative, and randomized, algorithms,
- experimentally evaluate heuristic algorithms. - Syllabus:
Deterministic approaches: pseudo-polynomial-time algorithms,
parametrized complexity, branch-and-bound, lowering worst case
complexity of exponential algorithms.
Approximation approaches: concept of approximation algorithms, classification of optimization problems, stability of approximation, inapproximability, algorithms design. Linear programming as a method for construction of approximative algorithms.
Randomized approaches: classification of randomized algorithms and design paradigms, design of randomized algorithms, derandomization, randomization and approximation.
Heuristics: local search, simulated annealing, genetic algorithms.
IA159 Formal Methods for Software Analysis
zk 2/0 2 kr., podzim
- prof. RNDr. Jan Strejček, Ph.D.
- Prerequisities: Some degree of abstract math reasoning.
- Goals: At the end of this course, students should understand and be able to explain principles and applications of basic and selected advanced formal methods for software analysis. Students should be also able to make reasoned decisions about suitability of various methods for given goals and to apply suitable formal methods or tools.
- Learning outcomes: At the end of this course, students should understand and be able to explain principles and applications of basic and selected advanced formal methods for software analysis. Students should be also able to make reasoned decisions about suitability of various methods for given goals and to apply suitable formal methods or tools.
- Syllabus:
Formal aspects of testing (coverage criteria, software quality metrics).
Automated test generation: greybox fuzzing.
Deductive verification.
Static analysis and abstract interpretation.
Points-to analysis, control and data dependencies, program slicing.
Shape analysis.
Symbolic execution and bounded model checking, concolic execution, whitebox fuzz testing.
Configurable program analysis.
Verification via automata, symbolic execution, and Interpolation.
Verification witnesses.
IA161 Natural Language Processing in Practice
k 1/1 2 kr., podzim
- doc. RNDr. Aleš Horák, Ph.D. - RNDr. Zuzana Nevěřilová, Ph.D. - doc. Mgr. Pavel Rychlý, Ph.D. - RNDr. Miloš Jakubíček, Ph.D. - RNDr. Marek Medveď, Ph.D. - Mgr. Radoslav Sabol - RNDr. Vít Suchomel, Ph.D. - Mgr. Tomáš Foltýnek, Ph.D.
- Prerequisities: All students should have basic practical knowledge of programming in Python. Overview knowledge of the natural language processing field at the level of introductory courses such as IB030 Introduction to Natural Language Processing or PA153 Natural Language Processing is expected. The seminar is given in English. Task solutions can be in English, Czech or Slovak.
- Goals: The course participants will have the opportunity to learn about, test and experiment with advanced techniques of natural language processing (NLP) and to develop an understanding of the limits of those techniques. The course aims to introduce current research issues, and to meet in practice with particular programming techniques used in language technology applications.
- Learning outcomes:
After studying the course, the students will be able to:
- explain a selected NLP problem and list its main aspects;
- implement a basic or intermediate application for complex tasks in language processing, typically for Czech, Slovak, or English;
- create data resources (models, test sets) for a selected NLP problem and evaluate their assets;
- compare selected available tools for complex NLP tasks and apply them to chosen data resources with possible adaptations to particular purposes. - Syllabus:
The presented NLP problems will concentrate on practical problems connected with processing human-produced textual data. Particular topics include:
- Opinion mining, sentiment analysis
- Machine translation
- Parsing of Czech: Between Rules and Statistics
- Named Entity Recognition
- Building Language Resources from the Web (effective crawling, boilerplate removal, tokenisation, near duplicates identification)
- Language modelling
- Topic identification, topic modelling
- Extracting structured information from text
- Automatic relation extraction (hypernyms, synonyms, ...)
- Adaptive electronic dictionaries
- Terminology identification (keywords, key phrases)
- Anaphora resolution
- Stylometry
- Automatic language corrections
IA168 Algorithmic game theory
zk 2/0 3 kr., podzim
- doc. RNDr. Tomáš Brázdil, Ph.D.
- Prerequisities: basic linear algebra, basic probability theory (mostly discrete probability), elementary complexity theory, some calculus
- Goals: In recent years, huge amount of research has been done at the borderline between game theory and computer science, largely motivated by the emergence of the Internet. The aim of the course is to provide students with basic knowledge of fundamental game theoretic notions and results relevant to applications in computer science. The course will cover classical topics, such as general equilibrium theory and mechanism design, together with modern applications to network routing, scheduling, online auctions etc. We will mostly concentrate on computational aspects of game theory such as complexity of computing equilibria and connections with machine learning.
- Learning outcomes: Student knows the basics types of models of games and algorithms for searching winning strategies.
- Syllabus:
Basic definitions: Games in normal form, dominant strategies, Nash
equilibria in pure and mixed strategies, existence of Nash equilibria, basic examples
Computing Nash equilibria: Lemke-Howson algorithm, support enumeration, sampling methods, PPAD-completeness of Nash equilibria,
Quantifying the inefficiency of equilibria and related games: Congestion and potential games, price of anarchy and price of stability, routing games, network formation games, load balancing games
Learning in games: Regret minimization algorithms, correlated equilibria and connection to learning in games, regret minimization in routing games
Auctions and mechanism design: First price auctions, Vickrey auctions, truthfulness, Vickrey-Clark-Groves mechanism, Bayesian games, Bayesian Nash equilibria, formal framework for mechanism design, revelation principle, auctions on Google
Games with multiple moves: Games in extensive form, games on graphs, Markov decision processes, stochastic games
IA169 Model Checking
zk 2/1 3 kr., jaro
- prof. RNDr. Jan Strejček, Ph.D.
- Prerequisities: Some degree of abstract math reasoning.
- Goals: The student will understand the fundamental and currently used model checking algorithms and techniques (except those primarily designed for software). Further, the student will be able to read and write specifications in LTL and CTL, and use relevant formalisms like Büchi automata and binary decision diagrams.
- Learning outcomes:
Students will:
understand traditional model checking algorithms (LTL and CTL model checking) and current approaches (bounded model checking, k-induction, CEGAR, property-driven reachability);
be able to read and write specifications in LTL and CTL;
be aware of potential applications and inherent limitations of model checking algorithms. - Syllabus:
Overview of the model checking area.
Kripke structure, labelled transition system, LTL, CTL, Büchi automata.
Automata-based LTL model checking.
CTL model checking.
Bounded model checking and k-induction.
Reachability in pushdown systems.
Abstraction and CEGAR.
Property directed reachability.
IA174 Fundaments of Cryptography
zk 2/0 3 kr., podzim
- doc. RNDr. Petr Novotný, Ph.D.
- Prerequisities: Grasp of basic concepts from discrete mathematics (e.g. groups, see the MB154 and MV008 courses). Awareness of basic aims and building blocks of cryptography, corresponding to the respective parts of the PV080 course.
- Goals: The course covers theoretical foundations of cryptography. We will learn why are the state-of-the-art cryptographic algorithms constructed in the way they are, and how to reason about their mechanics and security guarantees via the language of mathematics.
- Learning outcomes:
Upon a successful completion of the course, the student will be able to:
*Explain and understand the mechanics of basic primitives of both symmetric and asymmetric cryptography, including the underlying mathematics.
*Explain and understand the function, construction, and the use of cryptographic hash functions.
*Explain and understand cryptographic techniques for ensuring data authenticity and integrity, including digital signature schemes.
*Understand possible weaknesses of cryptosystems and various trade-offs in their design.
*Analyse weaknesses of simple cryptosystems. - Syllabus:
Symmetric cryptography:
*Symmetric block ciphers: design principles and basic notions (boolean functions, random permutations, confusion, diffusion, non-linearity); design of iterated block ciphers, rounds, key schedules; AES; modes of operations of block ciphers.
*Symmetric stream ciphers: General principles, ChaCha cipher, relation to pseudorandom number generators.
Asymmetric cryptography:
*General principles and design elements, "reductions" to hard problems.
*RSA algorithm: math foundations (modular arithmetic, multiplicative Z_n^x groups, Euler's theorem, Chinese remainder theorem, extended Euclidean algorithm); RSA encryption, possible attacks, relationship to integer factorization.
*Cryptography based on discrete logarithm (DL): refresher of basic group theory; DL in (Z_n )^x groups, Diffie-Hellman key exchange, DSA; discrete logarithm on elliptic curve groups, elliptic curve cryptography, ECDSA.
Cryptographic hash functions: Design principles, Merkle–Damgård construction, sponge construction, collision-resistant CHFs, Keccak CHF, attacks against CHFs.
Authentication, signatures:
*Message authentication codes (MACs): integrity, authenticity, construction from block ciphers, construction from hash functions; authenticated encryption, AEAD.
*Digital signatures: non-repudiation, signature schemes (RSA, DSA, Schnorr), attacks against dig. signature schemes, blind signatures.
*Integrity of data structures: hash trees, their use in Bitcoin.
*Basics of post-quantum cryptography.
*Zero-knowledge proofs.
IA175 Algorithms for Quantitative Verification
zk 2/1 4 kr., podzim
- prof. Dr. rer. nat. RNDr. Mgr. Bc. Jan Křetínský, Ph.D.
- Prerequisities:
IB005
acquaintance with basic probability theory - Goals:
The course introduces
(1) several fundamental mathematical structures for modelling dynamic systems, where quantities such as probability, time, or cost are essential, and
(2) algorithms for their analysis, in particular their verification with respect to typical types of correctness requirements.
Besides, the course offers also a more practical experience with modelling and analysis tools. - Learning outcomes:
The student can:
- model systems and their properties in appropriate mathematical formalisms
- can analyze the systems with respect to the properties using the discussed algorithms
- can choose appropriate algorithms for the analysis
- can design modifications of these algorithms and can rigorously argue about their correctness, complexity, and (dis)advantages - Syllabus:
Motivation: verification, temporal logics, quantitative systems
Timed automata: modelling, semantics; reachability, region construction; zones, timed CTL
Markov chains: reachability, rewards, probabilistic LTL and CTL
Markov decision processes: modelling, semantics; reachability (linear programming, value iteration, strategy iteration; interval iteration, bounded real-time dynamic programming), rewards, probabilistic LTL and CTL; reinforcement learning and approximate dynamic programming; multi-objective optimization
Stochastic games: reachability (quadratic programing, value iteration, strategy iteration)
Systems with continuous time and space
IA267 Scheduling
zk 2/0 2 kr., jaro
- doc. Mgr. Hana Rudová, Ph.D.
- Goals: The course provides information about various types of scheduling problems from theoretical and practical perspective. It demonstrates general solution approaches for scheduling problems and the most important approaches for various classes of scheduling problems from practice.
- Learning outcomes:
The graduate will be able to identify and describe various scheduling problems appearing in practice.
The graduate will be knowledgeable of scheduling problems in manufacturing, real-time systems, and services.
The graduate will be aware of algorithms and solution methods for project planning, scheduling in real-time systems, scheduling of flexible assembly systems, or educational timetabling.
The graduate will be able to solve scheduling problems with the help of studied algorithms and approaches. - Syllabus:
Introduction: examples, scheduling problem, Graham classification.
Machine scheduling: dispatching rules, branch&bound, mathematical programming.
Project planning: project representation, critical path, time/cost trade-offs, workforce constraints.
Shop scheduling: job-shop problem, disjunctive graph representation, branch&bound, shifting bottleneck, flexible assembly systems.
Real-time systems: introduction, reference model, off-line scheduling, static priority scheduling, dynamic priority scheduling, real-time operating systems.
Reservations and timetabling: interval scheduling, reservation with slack, workforce and tooling constraints, educational timetabling.
IV003 Algorithms and Data Structures II
zk 2/2 3 kr., jaro
- prof. RNDr. Ivana Černá, CSc.
- Prerequisities:
IB002 || program ( PřF:N - MA )
The course expands on courses IB002 Algorithms and Data Structures I. - Goals: The course expands on the introductory course Algortihm Design I. It presents algorithmic concepts without their direct connection to any particular programming language. The aim is to introduce students into design and analysis of advanced algorithms. The course presents advanced techniques of algorithm analysis and a wide spectrum of strategies together with algorithms built up on these strategies. Students are introduced into new data structures which are displayed in a row with algorithms based on them.
- Learning outcomes:
After enrolling the course students are able to:
- actively use and modify advanced graph and string algorithms,
- actively used advanced techniques for designing algorithms (dynamic programming, greedy techniques) for designing algorithms, expain their specific properties and limits,
- actively used and modify advanced dynamic data structures and use them for designing effective algorithsm,
- analyze time complexity and prove correctness of algorithms. - Syllabus:
Advanced design and analysis techniques: dynamic programming, greedy strategies,backtracking. Amortized analysis.
Advanced data structures: binomial and Fibonacci heaps, data structures for disjoint sets.
Graph algorithms: Single-Source Shortest Paths (The Bellman-Ford algorithm). All-Pairs Shortest Paths (Shortest paths and matrix multiplication, The Floyd-Warshall algorithm, Johnson's algorithm for sparse graphs). Maximum Flow (The Ford-Fulkerson method, The Push-Relabel method). Maximum bipartite matching.
String matching: the naive string-matching algorithm, Karp-Rabin algorithm, string matching with finite automata. The Knuth-Morris-Pratt algorithm.
IV074 Laboratory of Parallel and Distributed Systems
z 0/0 2 kr., podzim
- prof. RNDr. Jiří Barnat, Ph.D. - prof. RNDr. Ivana Černá, CSc.
- Prerequisities:
souhlas
Applicants should 1) be able to work independently 2) have interest in long-term projects (several semesters) 3) have working knowledge of English 4) be able to work in a team. The enrollment must be approved by the laboratory head (J. Barnat). - Goals: The goal of this course is to let students participate on research activities.
- Learning outcomes: On successful completion of the course students - will have practical experience with active research - should be able to read and understand scientific papers - should be able to employ gathered information to formulate and prove their own hypotheses within the relevant context.
- Syllabus: Laboratory of Parallel and Distributed Systems (ParaDiSe) is a team project focused on the development of parallel methods and tools for the design and analysis of complex systems. Students meet regularly with senior researchers to discuss research problems related to their research topics.
IV074 Laboratory for Parallel and Distributed Systems
z 0/0 2 kr., jaro
- prof. RNDr. Jiří Barnat, Ph.D. - prof. RNDr. Ivana Černá, CSc.
- Prerequisities:
souhlas
Applicants should 1) be able to work independently 2) have interest in long-term projects (several semesters) 3) have working knowledge of English 4) be able to work in a team. The enrollment must be approved by the laboratory head (J. Barnat). - Goals: The goal of this course is to let students participate on research activities.
- Learning outcomes: On successful completion of the course students - will have practical experience with active research - should be able to read and understand scientific papers - should be able to employ gathered information to formulate and prove their own hypotheses within the relevant context.
- Syllabus: Laboratory of Parallel and Distributed Systems (ParaDiSe) is a team project focused on the development of parallel methods and tools for the design and analysis of complex systems. Students meet regularly with senior researchers to discuss research problems related to their research topics.
IV100 Parallel and distributed computations
zk 2/0 2 kr., podzim
- prof. RNDr. Ivana Černá, CSc. - prof. RNDr. Rastislav Královič, Ph.D.
- Prerequisities:
IB002
IB002 (Design of algorithms), required. PB152 (Operating systems) recommended. - Goals: The aim of the course is to introduce students into the field of distributed computation. It presents the basic concepts, problems and solutions. Algorithms for selected group of problems give the insight into the techniques used in the field and show how the various environments influence the quality and (un)solvability of the problem.
- Learning outcomes: Students will know particular algorithms for distributed routing, leader election and termination.
- Syllabus:
Distributed systems and distributed algorithms.
Communication protocols. Alternating-bit protocol, sliding-window protocol.
Routing algorithms. Routing tables and algorithms for their constructions. Floyd-Warshallův algorithm, shortest-path algorithm.
Distributed mutual exclusion. Distributed election algorithms. Ring networks and a general topology. Impact of synchrony. Impact of sense of direction.
Termination detection. Dijkstra-Scholten algorithm.
The problem of Byzantine generals and its (un)solvability in various environments.
IV104 Programming Seminar
z 0/2 2 kr., podzim
- Mgr. Daniel Iľkovič
- Prerequisities:
SOUHLAS
- Goals: After the end of the course students should have practical experience with programming problems, particularly with focus on solving algorithmically difficult problems and training of problem-solving skills.
- Learning outcomes: After the end of the course students should have practical experience with programming problems, particularly with focus on solving algorithmically difficult problems and training of problem-solving skills.
- Syllabus:
Practical programming in any programming language, focus on algorithmic aspects of problems.
Algorithm design, analysis, and programming.
Recursion, dynamic programming, heuristics, greedy techniques.
Implementation of strategies for playing games, puzzle solving, geometric algorithms.
Experimental analysis of algorithms.
CTU Open contest.
IV104 Programming Seminar
z 0/2 2 kr., jaro
- Mgr. Daniel Iľkovič - RNDr. David Klaška - Mgr. Tomáš Macháček
- Prerequisities:
SOUHLAS
- Goals: After the end of the course students should have practical experience with programming problems, particularly with focus on solving algorithmically difficult problems and training of problem-solving skills.
- Learning outcomes: After the end of the course students should have practical experience with programming problems, particularly with focus on solving algorithmically difficult problems and training of problem-solving skills.
- Syllabus:
Practical programming in any programming language, focus on algorithmic aspects of problems.
Algorithm design, analysis, and programming.
Recursion, dynamic programming, heuristics, greedy techniques.
Implementation of strategies for playing games, puzzle solving, geometric algorithms.
Experimental analysis of algorithms.
CTU Open contest.
IV105 Bionformatics seminar
k 0/1 1 kr., podzim
- doc. Ing. Matej Lexa, Ph.D.
- Prerequisities: Those who sign up for this interdisciplinary course should be able to read and comprehend a scientific paper or book chapter written in English. Alternatively computational tools in bioinformatics will be studied (deeper knowledge of algorithm design and programming will allow the particular student to focus more on the biological side of the studied problems or vice versa). Students of non-biological fields should be concurrently enrolled in, or have previously passed IV107 Bioinformatics I. Alternatively they may frequent the course with the consent of the teacher.
- Goals: A bioinformatics course opening up the world of genes and molecules to students via external lecturers and student presentations organized as a journal club.
- Learning outcomes: Students will gain insight into problems studied in bioinformatics; they will practice presentation and discussion techniques in front of an audience.
- Syllabus:
The students will chose publications to study recent methods in genomic sequence analysis (using suggested journal articles or other material approved by the teacher) covering
Nanopore DNA sequencing methods
Tools and algorithms for processing and analysis of long/nanopore reads
Genomic and biological studies based on nanopore sequencing
IV106 Bioinformatics seminar
k 0/1 1 kr., jaro
- doc. Ing. Matej Lexa, Ph.D.
- Prerequisities: Those who sign up for this interdisciplinary course should be able to listen to lectures and to read and comprehend a scientific paper or book chapter written in English. Deeper knowledge of algorithm design and programming will allow the particular student to focus more on the biological side of the studied problems or vice versa. Students of non-biological fields should be concurrently enrolled in, or have previously passed IV107 Bioinformatics I. Alternatively they may frequent the course with the consent of the teacher.
- Goals: Long-term the seminar covers "Biological (molecular) and biomedical data analysis". Individual runs may focus on a specific subtopic.
- Learning outcomes: Students will gain insight into problems studied in bioinformatics; they will practice presentation and discussion techniques in front of an audience.
- Syllabus: - Introduction to deep learning in bioinformatics - Lectures of invited lecturers covering the same topic - Students will chose a publication from this area to present in class in a 'journal club' format
IV107 Bioinformatics I
zk 2/1 2 kr., podzim
- doc. Ing. Matej Lexa, Ph.D.
- Prerequisities: This is an entry course into the area of bioinformatics for students of non-biological disciplines, there are no prerequisites.
- Goals: This course will lead the students into the fascinating world of molecules, genes and proteins. Currently, bioinformatics is going through a period of unusual growth. Abilities to think and act as a bioinformatician (to work with large biological datasets using modern computer science methods) are needed in many areas of science and applied disciplines, especially biology, medicine and chemistry.
- Learning outcomes: After taking the course, the students will understand basic principles of molecular biology; they will be familiar with important biological problems that can be best handled by computers; they will understand and be able to choose basic computational methods for handling molecular data.
- Syllabus:
The history and subject of bioinformatics
Basics of molecular biology
Organization of living matter
DNA structure and function
Protein structure and function
Evolution of genes and proteins
Bioinformatic data
Data sources
Common data types
Public sequence data and their accessibility
DNA sequence analysis
Computer exercises: Data sources, similarity search, visualization of molecules
Protein sequence analysis
Structural and functional data
Similarity searches and scoring
Other types of data and their analysis
Expression data
Protein digests and mass spectra
Literature data analysis
IV108 Bioinformatics II
zk 1/1 2 kr., podzim
- doc. Ing. Matej Lexa, Ph.D.
- Prerequisities: IV107 Bioinformatics I or consent of the teacher (not needed for biology students).
- Goals: Introduction to selected algorithms and methods of analysis used in bioinformatics.
- Learning outcomes:
At the end of the course, the students will:
understand the inner workings of selected algorithms, their advantages and disadvanteges, including knowledge of recent alternatives
be able to work with 3-D models of molecules
be able to evaluate or design methods for solving current problems in bioinformatics
understand the principles of existing DNA sequencing methods and processing sequencing data - Syllabus:
Algorithms for sequence analysis
Algorithms for prediction and analysis of structural data
Biological language
Next-generation DNA sequencing methods and data processing
Understanding protein cleavage and mass spectra
Expression profile and promoter analysis
IV109 Modeling and Simulation
zk 2/1 3 kr., jaro
- doc. Mgr. Radek Pelánek, Ph.D.
- Goals: The course offers a wide overview of computational modeling and gives students a practical experience with computational modeling.
- Learning outcomes: At the end of the course students will be able to: describe main concepts of complex systems (particularly "feedback loops"); explain main principles and applications of computational modeling; compare modeling approaches; describe well-know case studies in computational modeling; create a computational model.
- Syllabus:
Introduction, history, role of modeling and simulation in research,
applications. Computational models.
Complex systems, system thinking, feedback loops.
System dynamics approach, examples (demographics, Limits to growth).
Agent based modeling: basic principles, cellular automata, decentralized systems.
Game theory, models of cooperation. Models of adaptation (genetic algorithms, neural networks).
Modeling of networks: examples of networks and their properties, models of networks.
Analysis and evaluation of models.
Application of modeling from different areas (e.g. economics, traffic, epidemiology, biology).
IV110 Project in Sequence Analysis
k 1/1 2 kr., podzim
- doc. Ing. Matej Lexa, Ph.D.
- Prerequisities: IV107 Bioinformatics I plus elementary programming skills (e.g. UNIX + C/C++/Java + Perl/Python) or teacher's consent
- Goals:
In this course the students will:
be able to select appropriate bioinformatic tools for a given problem
be able to carry out independent analysis of bioinformatic data
present their results to their colleagues - Learning outcomes:
In this course the students will:
be able to select appropriate bioinformatic tools for a given problem
be able to carry out independent analysis of bioinformatic data
present their results to their colleagues - Syllabus:
Discussion of interesting problems to solve
Preparation of student proposals
Programming phase
Student mini-conference
IV111 Probability in Computer Science
zk 2/2 3 kr., podzim
- doc. RNDr. Vojtěch Řehák, Ph.D.
- Prerequisities: Knowledge of basic discrete mathematics (e.g. as presented in the course IB000).
- Goals: At the end of the course student should have a broad knowledge and an ability of independent study of problems based on the probability theory and its computer science applications. Will be able to apply the results of the probability theory in practical examples. Should be able to learn independently new problems requiring knowledge of probability theory. Will be able to characterise basic principles of data compression and error correction. Should be able to apply information theory results in practice.
- Learning outcomes: Student is able: to define basic terms of the mentioned topics (e.g., random variable, expectation, variance, random process, Markov chain, channel capacity, code rate); to explain meaning on the terms on practical examples; to solve simple examples e.g. using linearity o expectation; to provide basic analysis on both discrete- and continuous-time Markov chains; to compute (conditional) expectation, mutual information, and entropy random variables with given probability distribution; to demonstrate basic proof mentioned during lectures.
- Syllabus:
Probability. Discrete probabilistic space.
Random variable and its applications. Expectation and variation.
Markov and Chebyshev inequalities. Chernoff bounds. Weak and strong law of large numbers.
Random processes. Markov processes.
Entropy. Information.
Applications in computer science (information theory, coding theory etc).
IV114 Bioinformatics and Systems Biology Project
k 0/1 2 kr., podzim
- doc. Ing. Matej Lexa, Ph.D.
- Prerequisities: The students should have finished IV107 Bioinformatics I, be acquainted with NGS/sequencing data processing tools and have elementary programming skills in any programming language/environment (optimally UNIX with C/C++/Java and Perl/Python) or consent of the lecturer
- Goals:
In this course the students will:
get acquainted with DNA nanopore sequencing
be able to select appropriate bioinformatic tools for a given problem
be able to carry out independent analysis of bioinformatic data
present their results to their colleagues - Learning outcomes:
In this course the students will:
get acquainted with DNA nanopore sequencing
be able to select appropriate bioinformatic tools for a given problem
be able to carry out independent analysis of bioinformatic data
present their results to their colleagues - Syllabus:
Familiarization with DNA sequencing using minION technology
Preparation of student proposals in pairs (selection of material for sequencing; preparation of bioinformatic tools and pipelines)
Analysis phase (DNA sequencing and data collection; data processing by filtration, mapping and assembly; visualization)
Student mini-conference and optional participation in paper writing (depending on quality of results)
IV115 Parallel and Distributed Laboratory Seminar
z 0/2 2 kr., podzim
- prof. RNDr. Jiří Barnat, Ph.D.
- Prerequisities:
souhlas
Ability of self-education by reading latest scientific papers focused on modeling and verification of complex systems. - Goals: Students acquire experience with preparing presentations of their own research work and should be able to actively participate in research activities of the ParaDiSe laboratory.
- Learning outcomes: Experience with presentation of research results to adequately educated audience.
- Syllabus: Discussion topics and papers to be studied and presented are specified during the first two weeks of semester.
IV115 Parallel and Distributed Laboratory Seminar
z 0/2 2 kr., jaro
- prof. RNDr. Jiří Barnat, Ph.D. - RNDr. Petr Ročkai, Ph.D.
- Prerequisities:
souhlas
Ability of self-education by reading latest scientific papers focused on modeling and verification of complex systems. - Goals: Students acquire experience with preparing presentations of their own research work and should be able to actively participate in research activities of the ParaDiSe laboratory.
- Learning outcomes: Experience with presentation of research results to adequately educated audience.
- Syllabus: Discussion topics and papers to be studied and presented are specified during the first two weeks of semester.
IV119 Seminar on Discrete Mathematical Methods
k 0/2 2 kr., jaro
- prof. RNDr. Petr Hliněný, Ph.D.
- Prerequisities: Basics of undergraduate mathematics (IB000 is enough).
- Goals: The aim of this seminar is to introduce interested students into the beauties of mathematics and of clean mathematical proofs. This will teach students "mathematical thinking" - to understand math definitions, statements, and proofs in their full depth, and to make their own new proofs in all areas of mathematics and theoretical computer science.
- Learning outcomes: After finishing this seminar, successful students should be able to understand presented mathematical proofs in their full depth, and to make their own new proofs in areas of mathematics and theoretical computer science.
- Syllabus:
Selected nice topics from "Proofs from THE BOOK"; TBA each year.
Number theory, Combinatorics, Combinatorial geometry, Graph theory.
IV120 Continuous and Hybrid Systems
zk 2/1 3 kr., podzim
- doc. RNDr. David Šafránek, Ph.D.
- Prerequisities:
SOUHLAS
Elementary mathematical knowledge: linear algebra (matrix, linear map, eigenspace), calculus (continuous function, multi-variable diferential calculus, first-order differential equations).
Elementary knowledge of computer science: finite automata, state-transition system, behavioral equivalence, bisimulation.
General knowledge of modeling and simulation: population model, feedback, simulation. - Goals: Introduction to continuous and hybrid systems that are used to model many natural phenomena.
- Learning outcomes:
At the end of the course students should be able to:
understand elementary notions from the domain of continuous and hybrid systems;
orient themselves in methods for analysis of continuous and hybrid systems, system control and related problems;
characterize complexity of the given system;
apply computational methods to analyze dynamic properties of systems. - Syllabus:
Introduction to general systems theory. System, object, model. Boulding's hierarchy. Dynamical system, causality, state transition function. Dimensionality, state equations. Feedbacks, block diagram.
Continuous, discrete, hybrid system. Trajectories, their existence, simulation. Examples of systems (electronics, economy, chemistry, biology).
System presentation - system matrix and its meaning. Non-linear systems, classes of non-linearity, linearization. Stability, characterization of stability, Lyapunov theorems. Attractors and domains of attraction. Oscillation, multi-stability, chaos. Feinberg's classification of reaction kinetics systems.
Reachability, reachability analysis for hybrid systems. Reachability in continuous systems - piece-wise linear systems, finite quotients.
Controllability. Open-loop and closed-loop control, black-box control, model-based control, controller synthesis. System observability and identifiability.
Parameterization, parameter uncertainty, sensitivity analysis. Tools for parameter estimation, system identification.
Methods for system comparison: system equivalence, bisimulation and approximative bisimulation. Robustness analysis.
Explained methods will be demonstrated in the form of practicals especially from the domain of computational systems biology. Tools from the following set will be employed: MATLAB/Octave, COPASI, GNA, SpaceEx/PHAVer, Ariadne.
IV124 Complex Networks
k 0/2 2 kr., jaro
- RNDr. Josef Spurný, Ph.D. - Ing. Eva Výtvarová - RNDr. Jan Fousek, Ph.D. - doc. RNDr. Eva Hladká, Ph.D.
- Goals: Many complex systems can be viewed as a network of interacting units. This view helps to study and understand important phenomena present in systems such as human brain, internet, economy, social groups and others. The prezence of big data stimulated development of fundamental theories to describe and analyse complex networks in many fields.
- Learning outcomes: The students will be able to describe the local and global network properties. They will understand the principles of generating natural or man-made complex networks. The students will be able to apply the complex network analysis to empirical data sets across the application domains in both humanities and sciences. Given raw data, they will be also capable of designing a network-oriented analysis, formulate relevant hypothesis and interpret correctly the results.
- Syllabus:
Intro
Random graphs
Central nodes
COmunity structure
Application of centrality and modularity
Power law I
power-law II
Small-world networks
Random walks
Robustness and stability
Social-economic networks
Internet as a complex network
Biologic networks
Visualisation
IV125 Formela lab seminar
k 0/2 2 kr., podzim
- prof. RNDr. Antonín Kučera, Ph.D. - doc. RNDr. Tomáš Brázdil, Ph.D. - doc. RNDr. Vojtěch Řehák, Ph.D. - Dr. rer. nat. Achim Blumensath - doc. Mgr. Jan Obdržálek, PhD. - doc. RNDr. Petr Novotný, Ph.D. - RNDr. Martin Jonáš, Ph.D. - RNDr. Vít Musil, Ph.D. - Anselm Paulus
- Prerequisities:
souhlas
The enrollment must be approved by a teacher of a seminar group. - Goals: By passing this course, the student will gain a profound insight into the relevant part of theoretical computer science or mathematics (depending on the selected seminar group), will be able to read and present results formulated in a given scientific literature.
- Learning outcomes: The student has a profound insight into the relevant parts of theoretical computer science or mathematics (depending on the chosen seminar group), is able to present the given specialized substance independently and solve related research problems.
- Syllabus:
Team study or team research project.
At the beginning of the semester the studied topics is selected in a common discussion.
At regular weekly seminars a selected student (or the lecturer) explains the subject.
At the designated seminars students refer to their progress and results, they are given feedback.
At the final seminar an overall assessment is made.
IV125 Formela lab seminar
k 0/2 2 kr., jaro
- Dr. rer. nat. Achim Blumensath - doc. RNDr. Tomáš Brázdil, Ph.D. - prof. RNDr. Antonín Kučera, Ph.D. - doc. RNDr. Petr Novotný, Ph.D. - doc. Mgr. Jan Obdržálek, PhD. - doc. RNDr. Vojtěch Řehák, Ph.D.
- Prerequisities:
souhlas
The enrollment must be approved by a teacher of a seminar group. - Goals: By passing this course, the student will gain a profound insight into the relevant part of theoretical computer science or mathematics (depending on the selected seminar group), will be able to read and present results formulated in a given scientific literature.
- Learning outcomes: The student has a profound insight into the relevant parts of theoretical computer science or mathematics (depending on the chosen seminar group), is able to present the given specialized substance independently and solve related research problems.
- Syllabus:
Team study or team research project.
At the beginning of the semester the studied topics is selected in a common discussion.
At regular weekly seminars a selected student (or the lecturer) explains the subject.
At the designated seminars students refer to their progress and results, they are given feedback.
At the final seminar an overall assessment is made.
IV126 Fundamentals of Artificial Intelligence
zk 2/0 3 kr., podzim
- doc. Mgr. Hana Rudová, Ph.D.
- Prerequisities:
The course is a continuation of the PB016 Introduction to Artificial Intelligence, PB016 completion is not a prerequisite for course completion.
It is presumed knowledge of graphs based on IB002 Algorithms and data structures I, and probability theory corresponding to the course MB153 Statistics I - Goals: The course completes comprehensive introductory knowledge of artificial intelligence following the course PB016 Artificial Intelligence I. The course discusses search algorithms concentrating on metaheuristics and local search, classical planning, uncertain reasoning, and introduction into robotics oriented on robot path planning.
- Learning outcomes:
The graduate will be aware of local search and metaheuristics algorithms and will be able to solve practical problems with their help.
The graduate will understand problematics of the AI planning, will learn how to represent planning problem and how to solve it using base algorithms.
The graduate will gain an overview of how to work with uncertainties in the given problem and will learn to use basic procedures for including uncertainty in problem solving.
The graduate will be aware of the base concepts from robotics which is used for demonstration how the above knowledge can be applied, especially in the planning of robot motion. - Syllabus:
Local search and metaheuristics:
Single-solution based search, principles, and concepts, strategies for improving local search. Population-based search, evolutionary algorithms, swarm intelligence.
Planning: Problem representation. State space planning, forward and backward planning, and domain-specific planning. Plan space planning and partial order planning. Hierarchical task networks.
Uncertain knowledge and reasoning: Probabilistic reasoning, Bayesian networks, exact and approximate inference. Time and uncertainty. Utility theory, decision networks. Sequential decision problems, Markov decision processes.
Robotics: Robot hardware, robotic perception, and robot scheduling in manufacturing. Path planning in robotics, movement.
IV127 Adaptive Learning Seminar
k 0/2 2 kr., podzim
- doc. Mgr. Radek Pelánek, Ph.D.
- Prerequisities:
program ( N - UIZD ) || program ( D - INF ) || SOUHLAS
- Goals: Students gain experience with data analysis and machine learning in the context of educational applications.
- Learning outcomes: At the end of the course, students will be able to apply methods of data analysis and machine learning in the area of educational applications.
- Syllabus: Presentation of research papers from research areas relevant to the Adaptive learning lab - educational data mining, machine learning, cognitive psychology. Development of educational systems, analysis of educational data, presentation and discussion of results.
IV127 Adaptive Learning Seminar
k 0/2 2 kr., jaro
- doc. Mgr. Radek Pelánek, Ph.D.
- Prerequisities:
program ( N - UIZD ) || program ( D - INF ) || SOUHLAS
- Goals: Students gain experience with data analysis and machine learning in the context of educational applications.
- Learning outcomes: At the end of the course, students will be able to apply methods of data analysis and machine learning in the area of educational applications.
- Syllabus: Presentation of research papers from research areas relevant to the Adaptive learning lab - educational data mining, machine learning, cognitive psychology. Development of educational systems, analysis of educational data, presentation and discussion of results.
IV128 Online Communication from Social Science Perspective
z 0/2 4 kr., jaro
- prof. PhDr. David Šmahel, Ph.D.
- Goals: This seminar should introduce basic theories and research of online communication, what will help students of informatics to better understand to specifics of online communication.
- Learning outcomes: - knowledge of basic theories of online communication - knowledge of theories related to experimenting with online identity - knowledge of theories and empirical research related to trust in online information
- Syllabus: 1. Intro 2. Communication theory 3. Reliability of online data 4. Privacy in virtual world 5. Phishing 6. A methodology of online communication 7. Communication in virtual teams. 8. Addiction to online communication 9. Health and internet 10. Mediation of using internet 11. Safe online behavior 12. Research in online security 13. Conclusions
IV129 Sybila Laboratory
z 0/0 2 kr., podzim
- doc. RNDr. David Šafránek, Ph.D. - prof. RNDr. Luboš Brim, CSc.
- Prerequisities:
SOUHLAS
Applicants should 1) be able to work independently 2) have interest in long-term projects (several semesters) 3) have working knowledge of English 4) be able to work in a team. The enrollment must be approved by one of the laboratory researchers (L. Brim, D. Šafránek). - Goals: On successful completion of the course students - will have practical experience with active research - should be able to read and understand scientific papers - should be able to employ gathered information to formulate and prove their own hypotheses within the relevant context - should be able to present the research results in English.
- Learning outcomes:
After the course the student will be able:
- to analyse and discuss pros and cons of computational methods in systems biology;
- to contrast conceptual errors in analysed publications by employing suitable arguments;
- to judge ideas and opinions in front of students and professionals. - Syllabus: Sybila Laboratory is a team project focused on the development of methods and tools for the design and analysis of biological systems and their experimental application. Students meet regularly with senior researchers to discuss research problems related to their research topics. Students are expected to regularly present state-of-the-art results in the relevant fields at the laboratory seminar.
IV129 Sybila Laboratory
z 0/0 2 kr., jaro
- doc. RNDr. David Šafránek, Ph.D. - prof. RNDr. Luboš Brim, CSc.
- Prerequisities:
SOUHLAS
Applicants should 1) be able to work independently 2) have interest in long-term projects (several semesters) 3) have working knowledge of English 4) be able to work in a team. The enrollment must be approved by one of the laboratory researchers (L. Brim, D. Šafránek). - Goals: On successful completion of the course students - will have practical experience with active research - should be able to read and understand scientific papers - should be able to employ gathered information to formulate and prove their own hypotheses within the relevant context - should be able to present the research results in English.
- Learning outcomes:
After the course the student will be able:
- to analyse and discuss pros and cons of computational methods in systems biology;
- to contrast conceptual errors in analysed publications by employing suitable arguments;
- to judge ideas and opinions in front of students and professionals. - Syllabus: Sybila Laboratory is a team project focused on the development of methods and tools for the design and analysis of biological systems and their experimental application. Students meet regularly with senior researchers to discuss research problems related to their research topics. Students are expected to regularly present state-of-the-art results in the relevant fields at the laboratory seminar.
IV130 Pros and Cons of Intelligent Systems
zk 2/0 2 kr., jaro
- prof. RNDr. Jiří Zlatuška, CSc.
- Prerequisities: No formal prerequisities.
- Goals: It is a course with a motivational-methodological-paradigmatic mission to open students' thinking towards the coming era of massive use of artificial intelligence (AI) in all aspects. It is about the link between intelligence in the general sense and the design of general-purpose information processing machines (computers) with implications concerning the replacement of human cognitive activities by intelligently acting machines both in the position of cooperating with humans and as their adversaries, including implications for the cybersecurity of systems deployed so far (in both mentioned positions), but secure systems building on AI and avoiding the conflict between the goals pursued by the machine and the interests corresponding to humans. This includes fundamental ethical issues, including implications for security policies (from local to geopolitical). It broadens the technical-operational perspective of the computer-security expert, in the ability to perceive a forward-looking view and be aware of the threats and opportunities that come with AI in the world of cybersecurity. The ambition of the course is not necessarily to teach the techniques directly used, but rather to provide a mental preparation for a world where opportunities are yet to be born, to see these techniques in the context of their evolution, status, potential, and with them, the definition of the role of AI with the broad implications that will come from these techniques, or techniques that will complement/overlay them..
- Learning outcomes: Upon successful completion, the student will: - Know and be able to describe basic concepts such as cognitive processes, memory functioning, mental and machine processes in decision making, the role of emotions - Know and understand the principles of Bayesian probability, Markov processes - Able to identify and describe the main influences of AI on cybersecurity threats and in turn on protection methods - Can apply techniques using Bayesian networks to describe and solve simple problems relevant to cybersecurity - Be able to describe and explain the concepts of utility, ethical aspects of AI - Be able to describe the main cybersecurity aspects of AI-based systems - To be familiar with the main problems of the relationship between future "real" (strong) AI and humans - Know the framework of legal regulations today and expected future regulating the field of AI - Be able to describe the known grand challenges associated with AI
- Syllabus: - Intelligence in people and machines, intelligence, memory, computation, learning - Possibilities and limits of machines, biology and evolution - Agents, environment, intentions, making and implementing plans - Environmental certainty, uncertainty, probability, game theory - Inference, logical systems, probabilistic languages, Bayesian networks - Intelligent systems development, learning methods, assisted learning, feedback systems, deep learning, explanation-based learning - The prospect of superintelligence, implications, fiction or danger - AI risks, breakthroughs, bugs vs. robust systems, surveillance, mental safety, autonomous weapons, human labor substitution, economic impacts - Impacts of superintelligent AI, the Gorilla problem and the King Midas problem, intelligence explosion, control problem - Coexistence of intelligent systems and humans, principle of beneficial machines, friendly AI - Mathematical principles of beneficial machine formulation, assistive games, machine shutdown problem - Preferences and values, their uncertainty, detection and adaptation, psychology and technology - Implications for future developments, big data policies, privacy, secure development of intelligent applications
IV131 Seminar of Discrete Methods and Algorithms Laboratory
z 0/0 2 kr., podzim
- prof. RNDr. Daniel Kráľ, Ph.D., DSc. - prof. RNDr. Petr Hliněný, Ph.D.
- Prerequisities:
SOUHLAS
The enrollment must be approved by one of the heads of the laboratory. - Goals: After the successful completion of the course students will have - experience with independent work with scientific text - ability to use the acquired knowledge and information to formulate and prove their own statements - skills to present the research results in English.
- Learning outcomes: Upon completion, the student will be have a deep knowledge of a selected topic concerning discrete algorithms or discrete mathematics.
- Syllabus: Self-study of scientific publications and their presentation to other members of the laboratory, analysis of possible approaches to improve the presented results.
IV131 Seminar of Discrete Methods and Algorithms Laboratory
z 0/0 2 kr., jaro
- prof. RNDr. Daniel Kráľ, Ph.D., DSc. - prof. RNDr. Petr Hliněný, Ph.D.
- Prerequisities:
SOUHLAS
The enrollment must be approved by one of the heads of the laboratory. - Goals: After the successful completion of the course students will have - experience with independent work with scientific text - ability to use the acquired knowledge and information to formulate and prove their own statements - skills to present the research results in English.
- Learning outcomes: Upon completion, the student will be have a deep knowledge of a selected topic concerning discrete algorithms or discrete mathematics.
- Syllabus: Self-study of scientific publications and their presentation to other members of the laboratory, analysis of possible approaches to improve the presented results.
IV132 LiVe Lab Seminar
z 0/2 2 kr., podzim
- prof. Dr. rer. nat. RNDr. Mgr. Bc. Jan Křetínský, Ph.D.
- Prerequisities:
SOUHLAS
Applicants should 1) be able to work independently 2) have interest in long-term projects (several semesters) 3) have working knowledge of English 4) be able to work in a team. The enrollment must be approved by one of the laboratory researchers. - Goals: On successful completion of the course students - will have practical experience with active research - should be able to read and understand scientific papers - should be able to employ gathered information to formulate and prove their own hypotheses within the relevant context - should be able to present the research results in English.
- Learning outcomes:
After the course the student will be able:
- to contrast conceptual errors in analysed publications by employing suitable arguments;
- to judge ideas and opinions in front of students and professionals. - Syllabus: Students meet regularly with senior researchers to discuss research problems related to their research topics. Students are expected to regularly present state-of-the-art results in the relevant fields at the laboratory seminar.
IV132 LiVe Lab Seminar
z 0/2 2 kr., jaro
- prof. Dr. rer. nat. RNDr. Mgr. Bc. Jan Křetínský, Ph.D.
- Prerequisities:
SOUHLAS
Applicants should 1) be able to work independently 2) have interest in long-term projects (several semesters) 3) have working knowledge of English 4) be able to work in a team. The enrollment must be approved by one of the laboratory researchers. - Goals: On successful completion of the course students - will have practical experience with active research - should be able to read and understand scientific papers - should be able to employ gathered information to formulate and prove their own hypotheses within the relevant context - should be able to present the research results in English.
- Learning outcomes:
After the course the student will be able:
- to contrast conceptual errors in analysed publications by employing suitable arguments;
- to judge ideas and opinions in front of students and professionals. - Syllabus: Students meet regularly with senior researchers to discuss research problems related to their research topics. Students are expected to regularly present state-of-the-art results in the relevant fields at the laboratory seminar.
IV133 RationAI lab seminar
k 0/2 2 kr., podzim
- doc. RNDr. Tomáš Brázdil, Ph.D. - RNDr. Vít Musil, Ph.D.
- Prerequisities:
souhlas
This is a dedicated laboratory seminar, so please contact the RationAI laboratory manager if you are interested. - Goals: By completing the seminar, the student will gain insight into various advanced parts of artificial intelligence and its explainability, especially in the field of image processing in digital pathology. The student will be able to understand, process and present the research material independently.
- Learning outcomes: The student has insight into various advanced parts of artificial intelligence and its explainability, especially in the field of image processing in digital pathology. The student is able to understand, process and present research material independently.
- Syllabus: Team study or team research project. Students will choose from the topics/projects offered at the beginning of the semester. In regular weekly seminars, the selected student (or the teacher) explains the subject matter. At designated seminars, students report on their progress and results and are given feedback. At the final seminar, an overall evaluation is made.
IV133 RationAI lab seminar
k 0/2 2 kr., jaro
- doc. RNDr. Tomáš Brázdil, Ph.D. - RNDr. Vít Musil, Ph.D.
- Prerequisities:
souhlas
This is a dedicated laboratory seminar, so please contact the RationAI laboratory manager if you are interested. - Goals: By completing the seminar, the student will gain insight into various advanced parts of artificial intelligence and its explainability, especially in the field of image processing in digital pathology. The student will be able to understand, process and present the research material independently.
- Learning outcomes: The student has insight into various advanced parts of artificial intelligence and its explainability, especially in the field of image processing in digital pathology. The student is able to understand, process and present research material independently.
- Syllabus: Team study or team research project. Students will choose from the topics/projects offered at the beginning of the semester. In regular weekly seminars, the selected student (or the teacher) explains the subject matter. At designated seminars, students report on their progress and results and are given feedback. At the final seminar, an overall evaluation is made.
IV134 Limits of formal systems, proofs, and computation
k 2/0 2 kr., podzim
- prof. Dr. rer. nat. RNDr. Mgr. Bc. Jan Křetínský, Ph.D.
- Prerequisities:
souhlas
- Goals: Understanding the essence of formal systems (such as computations of programmable computers or mathematical proofs), their capabilities and limits.
- Syllabus: The lecture is centered around the book "Gödel, Escher, Bach: An Eternal Golden Braid" by Douglas Hofstadter. It deals with fundamentals, essence and limits of computer science and mathematical thinking. In some sense, it is a deliberate introduction to basic notions such as computation, recursion, proof, formal system, consistence and completeness of logic, undecidability, artificial intelligence, on which computer science relies.
PB001 Introduction to Information Technologies
zk 2/0 2 kr., podzim
- prof. RNDr. Luděk Matyska, CSc. - doc. RNDr. Eva Hladká, Ph.D.
- Goals:
To provide basic orientation in the information technology fields is the main goal of this lecture. Not only hardware and software is discussed, but the social extent is covered as well.
The graduate will be able to understand function of simple computer systems.
Graduate will be also able to understand and explain relationship between components of more complex computer systems.
Graduate will be also able to analyze and explain behavior of operating systems, computer networks etc. from the user point of view.
Graduate will be able to analyze and evaluate ethical implications of his own work. - Learning outcomes:
At the end of this course student will have basic orientation in computer and information technologies and their design. Specifically, she will understand basic principles of computer and computer systems design, she will be acquainted with principles of programming and specific constructs like interruption, synchronization, input/output. She will know basic principles of design of operating systems that are used as an example of complex computer systems; she will know what API is.
He will also get basic overview and orientation in computer networks an computer graphics.
The graduate will also get basic orientation in ethics and professional context and she will also be able to comment societal impacts of computer technology. - Syllabus:
Computer and communication system, role of components (architecture,
operating systems, computer networks), applications.
The social and ethical dimension of IT.
Computer architecture, data representation, von Neumann model, basic machine organization.
Role of operating systems, history, functionality of a typical contemporary OS.
Design principles, efficiency, robustness, flexibility, compatibility, ...
Influence of requirements of security, networking, graphical interfaces, ...
OS structure (monolithic, layered, modular, micro-kernel).
Abstraction, processes, resources, and application interfaces.
I/O devices and their management, drivers.
Protection, system and user space, kernel.
Networks, their history, Internet, fundamentals of network architecture, distributed systems.
Social context of IT, Information society, New economics.
Internet, growth, management, international issues.
Professional and ethical responsibility, basic laws (personal data protection, digital signature, ...). Ethical codes, professional bodies, and organizations' "Acceptable use policy".
PB006 Principles of Programming Languages and OOP
zk 2/0 2 kr., podzim
- doc. Mgr. Jan Obdržálek, PhD.
- Prerequisities:
( IB111 || NOW ( IB111 )) && ( PB071 || PB111 )
The course is, due to its synthetic nature, intended for students with some knowledge of a modern imperative programming language (Python), some low-level language (C) and a functional programming language (Haskell). - Goals: The goal of this course is to introduce students to the various concepts present in modern programming languages. The course also serves as an introduction to object-oriented programming.
- Learning outcomes:
By the end of the course, the student will:
know basic concepts present in modern programming languages;
be able to quickly obtain an in-depth understanding a of new programming language and start using it;
understand the principles of object-oriented programming;
able to assess suitability of a given programming language for a particular problem domain;
to analyze both strong and weak aspects of a given programming language, - Syllabus:
Names, bindings, scopes. Block structure. Representing object in memory.
Primitive and composite types. Typechecking. Lists. Pointers and references. Type derivation.
Control flow: expressions, statements, control structures.
Subprograms: local definitions, parameter passing, overloaded and generic functions. Coroutines.
Abstract data types: basic concepts, encapsulation, case studies. Parameterized ADT, generics. Namespaces.
Object oriented programming: principles, inheritance, dynamic binding.
Exceptions: basic concepts, case studies, exceptions in functional programming languages.
Support for name handling and encapsulation in large programs.
PB007 Software Engineering I
zk 2/2 3 kr., podzim
- doc. Ing. RNDr. Barbora Bühnová, Ph.D.
- Prerequisities:
PB160 || PB161 || PB162 || PB174 || PV178 || PB112
Experience with object-oriented programming is expected (can be through self-study). - Goals: The aim of the course is to introduce the students to the lifecycle of the analysis, design, development and operation of complex software systems, respecting various aspects of systems quality and sustainability.
- Learning outcomes:
At the end of the course students should:
know the basic steps and tasks of the IS development process;
have detailed understanding of the techniques of requirements specification, system analysis and design, testing and maintenance;
know the characteristics of object-oriented approach to system analysis and design;
be able to model a medium-size IS in UML. - Syllabus:
Software development, UML Use Case diagram.
Requirements specification, UML Activity diagram.
System analysis and design, structured vs. object-oriented A&D.
Object oriented analysis, UML Class diagram, Object diagram and State diagram.
Data modelling and management, ERD.
High-level design, UML Class diagram in design.
Low-level design and implementation, UML Interaction diagrams.
Architecture design, UML Package, Component and Deployment diagram.
Testing, verification and validation.
Operation, maintenance and system evolution.
Software development management.
Advanced software engineering techniques.
PB009 Principles of Computer Graphics
zk 2/1 3 kr., jaro
- RNDr. Katarína Furmanová, Ph.D.
- Prerequisities: The knowledge of matrix calculus, linear algebra, geometry, and basic programming skills.
- Goals: The aim of the course is to give the students an overview of the basic algorithms and methods for rendering and data representations used in computer graphics. The gained knowledge will enable the students to understand a vast range of computer graphics tasks, including their mathematical background. Within the seminars, students will implement selected basic algorithms explained in the lectures. Therefore, at least basic programming skills are required.
- Learning outcomes:
After finishing the course, the students
- will orient themselves in a broad spectrum of computer graphics problems;
- will understand the underlying math foundations and programming principles in computer graphics;
- gain practical knowledge in programming selected algorithms. - Syllabus:
Introduction to computer graphics and its application areas.
Differences between raster and vector graphics.
Basic graphical primitives and algorithms for their rasterization. Sampling, reconstruction, antialiasing.
Algorithms for closed area filling.
Representation and modeling of 3D objects.
Curves and surfaces.
2D and 3D transformations, projection.
Clipping.
Visibility, scene hierarchy representation.
Color, color models, color perception.
Basic lighting models, shading, texturing.
Ray tracing, basics of photorealistic and physically-based rendering.
PB016 Introduction to Artificial Intelligence
zk 2/2 3 kr., podzim
- doc. RNDr. Aleš Horák, Ph.D.
- Prerequisities: Basic knowledge of the Python programming language is expected, Python is used in the exercises.
- Goals: Introduction to problem solving in the area of artificial intelligence. The main aim of the course is to provide information about fundamental algorithms used in AI.
- Learning outcomes:
After studying the course, the students will be able to:
- identify and summarize tasks related to the field of artificial intelligence;
- compare and describe basic search space algorithms;
- compare and describe main aspects of logical systems;
- understand different approaches to machine learning;
- compare and describe different ways of knowledge representation and reasoning;
- present basic approaches to computer processing of natural languages. - Syllabus:
Artificial intelligence, Turing test, problem solving
Solving problems by searching.
Problem decomposition, AND/OR graphs, Constraint Satisfaction Problems.
Games and basic game strategies.
Logic agents, propositional logic, satisfiability.
Truth and provability. Axiomatic systems.
First order predicate logic, intensional logic.
Resolution in propositional and predicate logic. Introduction to logic programming.
Knowledge representation and reasoning, reasoning with uncertainty.
Natural language processing.
Learning, decision trees, neural networks.
Deep learning
Generative models
PB029 Electronic Document Preparation
zk 2/1 3 kr., podzim
- RNDr. Zuzana Nevěřilová, Ph.D. - doc. RNDr. Petr Sojka, Ph.D.
- Prerequisities: No strict prerequisites are set. Knowledge of basic algorithmic techniques and attention to detail is a plus. Students would benefit from basic knowledge of Unix scripting environment (e.g. from attending PV004 UNIX).
- Goals: Basic principles, algorithms and techniques used in electronic publishing are taught. Point of view is narrowed with respect to the creation of sizable, structured, technical documents like theses or dissertation, and presentations -- it is ideal to enroll before writing first thesis (in TeX). Web publishing is also covered.
- Learning outcomes:
At the end of the course students should be able to apply basic principles, algorithms and technologies of (team) document preparation and production, namely as an author of technical documents (thesis, course presentation materials, program documentation, web presentation or for quality database publication). Students will use typesetting system TeX suite of programs.
Students will be able to pick up and work with appropriate tools and software packages used in the electronic documents' development cycle and preparation of above specified document types. - Syllabus:
From author to the reader: document preparation cycle.
Markup Logical structure of a document; markup languages. LaTeX as a markup language. HTML5, SGML, HTML, XML. Document grammars. DTD, XML Schema.
Design. Principles of book design. Specifics of web design. CSS, XSL(T).
Typesetting. Typesetting, typography. Basic principles, and rules for Czech and English. Terminology.
Typefaces. Classification of type. Formats, rasterization of fonts. Type 1, Multiple master fonts.
Typesetting systems. TeX -- principles, philosophy, macro programming. Microtypography.
Algorithms of line and page breaking, hyphenation.
Page description languages. Post-Script. Bézier curves.
Print and Distribution. Output devices and their characteristics. Phototypesetting, printing, 3D printing, and binding.
Hypertext, hypertext systems. Formats for electronic delivery. Portable Document Format, technology Adobe Acrobat.
Parallel WWW and paper publication. Database publishing. Document format conversion, shared document development in git. Specifics of presentation preparation (beamer). 3D printing. Dynamic documents in Jupyter notebooks, Knitr, scientific visualization techniques.
PB050 Modelling and Prediction in Systems Biology
zk 1/1 2 kr., podzim
- doc. RNDr. David Šafránek, Ph.D.
- Prerequisities: This is an interdisciplinary course that extends the knowledge of bachelor students of all study branches. The course is especially recommended for students of Bioinformatics.
- Goals:
At the end of the course, students will be able to:
understand basic principles of quantitative modeling,
understand dynamic computational models of complex systems in the domain of biological processes;
apply abstract computer-scientific thinking to modeling and analysis of complex systems with special focus to biological systems;
practically use state-of-the-art modeling and analysis software tools;
model and analyze dynamic properties of complex interaction networks. - Learning outcomes:
At the end of the course, students will be able to:
describe basic principles of quantitative modeling,
constract dynamic computational models of complex systems in the domain of biological processes;
apply abstract computer-scientific thinking to modeling and analysis of complex systems with special focus to biological systems;
use state-of-the-art modeling and analysis software tools. - Syllabus:
History and scope of systems biology.
Basic notions: living organism as a system with precisely given structure and functionality, in silico model, abstraction, simulation and prediction, model validation.
Specification of a biological model: biological networks and pathways, languages SBML and SBGN.
Emergent properties of systems dynamics, their specification and encoding.
Modeling and simulation of biological systems dynamics: hypotheses prediction.
Modeling of Escherichia coli bacteria: genetic regulatory network, models of locomotion organ synthesis and chemotaxis, nutritional stress response models.
Notion of stochasticity in biological dynamics, basic principles of stochastic models, chemical master equation, Monte Carlo simulation.
Model parameters, robustness and parameter sensitivity.
PB051 Computational methods in Bioinformatics and Systems Biology
zk 1/1 2 kr., jaro
- doc. Ing. Matej Lexa, Ph.D. - doc. RNDr. David Šafránek, Ph.D. - doc. Mgr. Bc. Vít Nováček, PhD
- Prerequisities: Knowledge of elementary molecular biology and basic problems in bioinformatics and systems biology is expected. Previous undertaking of courses IV107, PA054 and PB050 is welcome, but not required formally.
- Goals: At the end of the course students should be able to: select appropriate methods for a given problem; obtain and prepare necessary data; analyse the data (using their own program or publically available solutions)
- Learning outcomes:
At the end of the course students should be able to:
- select appropriate computational methods for a given problem;
- analyse selected types of experimental data;
- apply software tools to selected problems of data processing;
- construct and modify qualitative models of biological networks. - Syllabus:
The course will be divided into two parts, each will cover 1-2 methods:
Bioinformatics:
operations on genomes
using Markov models
Systems biology:
static analysis of biological networks; Cytoscape, MAVisto tools
genetic regulatory networks reconstruction; Genomica, ARACNE tools
data integration
PB071 Principles of low-level programming
zk 2/2 4 kr., jaro
- doc. RNDr. Petr Švenda, Ph.D.
- Prerequisities:
SOUHLAS
The course is offered only to students repeating the course as a result of failing to complete it. Students are expected to have the basic knowledge of algorithmization in Python or another procedural language. Students are also required to have user experience with Unix/Linux OS, as homework is submitted and tested on a Unix/Linux server. - Goals:
At the end of the course students should be able to:
Understand and use basic C syntax according to ANSI and ISO/IEC norms.
Decompose given problem and perform practical implementation.
Use modern development tools (IDE, debugger, version control...).
Understand basic C functions for POSIX system.
Annotate source code with possibility to automatically generate documentation. Understand and practically use documentation for existing functions.
Use and follow programming best practices.
Compile programs both under Unix/Linux and Windows. - Learning outcomes:
After a course completion, the student will be able to:
- write non-trivial programs in C language;
- use basic development tools including IDE, debugger, versioning system and dynamic analysis of memory use;
- understand code execution on the level of CPU and memory;
- use dynamic allocation and apply correct deallocation where necessary;
- write programs with an application of good programming practices; - Syllabus:
Historical background of the C language. Its relation to the Unix OS.
C compilers under Unix and MS-DOS/MS-Windows, integrated development environment, debugger, version control. Good programming practices, testing.
Data types, constants, declarations, expressions. Assignment expressions and statements.
Basic program structure. Preprocessor statements. Comments. Control structures. Relational expressions. Elementary I/O operations.
Arrays and pointers. Functions. Calling by value, passing arguments by pointer.
User defined data types. Dynamic memory allocation.
I/O in details. Using files. Wide characters.
Strings and string manipulation. Standard C library according to ANSI and ISO/IEC standards. Calling Unix core services. Further Unix libraries for C. POSIX C Library. Implementation on Windows.
Safe and defensive programming.
Automated and manual testing.
PB095 Introduction to Speech Processing
zk 2/0 2 kr., podzim
- Mgr. Luděk Bártek, Ph.D.
- Goals: The course provides an introduction to speech processing oriented to human-computer interaction, i.e. especially to speech synthesis, speech recognition and dialogue systems. Main objectives can be summarized as follows: To understand the basic principles of sound and speech production and perception; To understand basic principles of speech regognition,synthesis and dialogue systems; To obtain an introductory overview in the field.
- Learning outcomes: Student will be able after finishing the course to describe and explain the basic terms, methods and standards in following areas:
- physical acoustics
- physiological acoustics, especially the processes of forming and understanding the human speech
- phonetics and phonology
- signal digitization and basic signal processing in time and frequency domains
- isolated words and commands recognition
- continues speech recognition
- time and frequency domain text-to-speech synthesis
- relation of prosody a emotions to tts and speech recognition
- dialogue communication
- dialogue systems
- user modeling in dialogue systems
- dialogue systems applicaiton.
- Syllabus:
Introduction
Brief history
State of the art
Physical and physiological acoustics
Creation and perception of human speech
Phonetics a phonology
Signal processing
Principles of speech synthesis
Speech segments and concantenative speech synthesis
Prosody, emotions
Principles of speech recognition
Statistical approaches
Modelling by means of HMM
Language modelling
Human-human and human-computer communication
Dialogue
Dialogue Systems - Voice Browser Activity Standards (VoiceXML, SRGS, SISR, etc.)
User modelling
Dialogue systems and applications
PB106 Corpus Linguistic Project I
z 0/2 2 kr., podzim
- doc. Mgr. Pavel Rychlý, Ph.D.
- Goals:
The aim of the seminar is to provide students with a deeper knowledge
concerning a chosen area of corpus linguistics and practical checking
of this knowledge by working on the project. The popularisation of
corpus linguistics and other areas of language engineering is one of
the main goals of Natural Language Processing Centre at the
Faculty of Informatics.
Fundamental information about the Natural Language Processing Centre and corpus linguistics in general can be found at http://nlp.fi.muni.cz/. - Learning outcomes: Student will be able to: create a text corpus from different sources; use automatic tools for corpus annotation or information extraction; evaluate accuracy of automatic tools; present evaluation results.
- Syllabus:
theme introduction: text corpora, parallel corpora, annotation, statistics, user interfaces
project selection
work on a project
presentation of project results and discussion
PB111 Principles of low-level programming
zk 2/2 4 kr., jaro
- RNDr. Petr Ročkai, Ph.D. - Mgr. Adam Matoušek
- Prerequisities:
IB015 || IB111
Ability to apply basic elements of programming – control flow, data definitions, abstraction, decomposition, recursion. - Goals: Familiarize students with computational resource of a computer, learn about their relationship with more abstract notions of computation and, in particular, gain detailed knowledge about key abstractions and their implementation: variables, branching and looping, subroutines and their invocation, parameter passing, return values, layout of data in memory – arrays, records, dynamic allocation. Further expand the ability to decompose computational problems and build more complex abstractions out of the aforementioned building blocks.
- Learning outcomes:
Students will be, after completing this course, able to:
• name and describe basic abstractions used in programming
• describe their implementation using elementary computational machinery
• write simplified versions of standard subroutines for memory and data manipulation
• write a simple program in C. - Syllabus:
Block 1: Model of computation
1. abstract machine,
2. automatic variables, structured control flow,
3. subroutines and their invocation,
4. address of a variable, array, record.
Block 2: Using and Organizing Memory
5. flat memory, sorting and searching,
6. linked lists in flat memory,
7. dynamic allocation, bump allocator, malloc,
8. first-fit allocator, free.
Block 3: Data Structures and Algorithms
9. dynamic array, realloc,
10. binary heap, priority queue,
11. hash tables with fixed and variable-length keys,
12. search trees.
PB112 Foundations of Object Oriented Programming in Java
zk 2/2 3 kr., jaro
- prof. RNDr. Tomáš Pitner, Ph.D.
- Prerequisities:
!( PB162 ) && ! NOW ( PB162 )
Ability to program in one of the common universal languages (C, Python, JavaScript...). PB162 is a similar course designed primarily for single-subject Informatics programs. Graduates of PB162 may have PB112 recognized (if they have also graduated from PB006). - Goals: The aim of the course is to build knowledge of the basic principles of creating object-oriented programs according to current trends. The principles are illustrated in Java with a focus on practical applicability even outside the domain of computer science.
- Learning outcomes:
During the course the student:
- gains basic knowledge of modern object-oriented programming in Java;
- can build a small-scale application in Java based on the given requirements using contemporary development tools;
- can use ready-made libraries designed for solving problems in his/her domain of expertise in programming;
- can read and modify foreign program code of small to medium size; - Syllabus:
Introduction to the Java language, basic development tools, source code, translation, execution.
Basic concepts of object-oriented programming, cooperation between objects.
Interface and its implementation by class.
Unit testing of Java programs.
Inheritance, program architecture.
Primitive and object data types and data structures, arrays.
Working with exceptions, handling non-standard situations at runtime.
Inputs and outputs.
Using Java in application domains - information systems, data processing, scientific computing, modeling.
PB130 Introduction to Digital Image Processing
zk 2/1 3 kr., podzim
- doc. RNDr. Pavel Matula, Ph.D.
- Prerequisities: Knowledge of high-school mathematics and understanding and design of simple algorithms is supposed.
- Goals: The objective of the course is to introduce students to the area of digital image processing in order to get necessary background for studying other courses from the area.
- Learning outcomes: At the end of the course a student should: know the basic terminology related to digital image processing; know about the typical problems from digital image processing; understand the principle of simple algorithms for image processing and know how to use them. The course is intended as an introduction to digital image processing.
- Syllabus:
Human vision, image acquisition and basic image computer representations.
Color images.
Point transforms. Histogram.
Linear image filtering. Convolution.
Non-linear filters.
Mathematical morphology.
Edge detection. Gradient.
Regions in binary images and their description.
Image segmentation.
Applications of digital image processing.
PB138 Basics of web development and markup languages
zk 2/2 3 kr., jaro
- prof. RNDr. Tomáš Pitner, Ph.D. - Mgr. Luděk Bártek, Ph.D. - Ing. Lukáš Grolig - Filip Kaštovský - Bc. Daniel Plakinger - Bc. Tomáš Sedláček - Ing. Petr Wehrenberg
- Prerequisities: 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.
- Goals: 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.
PB150 Computer-Systems Architectures
k 2/0 2 kr., podzim
- doc. Ing. Michal Brandejs, CSc.
- Prerequisities:
! PB151 && ! NOW ( PB151 )
PB151 is a similar course designed primarily for single-subject Informatics programs. Graduates of PB151 may have PB150 recognized. - Goals: At the end of the course student should be able to understand and explain a general technical principles about computer systems operation.
- Learning outcomes: At the end of this course the student will be able to understand basic principles of digital computers; understand the design of numerical systems used in computer technology and convert numbers between systems; will understand the principles of storing information, coding and storing texts. The student will understand the principles of the elementary processor and its programming at the lowest level.
- Syllabus:
Terms, history, computer generations, categories.
Numeral systems, differences between systems, integer, arithmetics.
Codes, internal, external, ECC.
Electronic circuits, memories: parameters, architecture.
Processor, programming, microprogramming.
Architectures: RISC/CISC, cache memories.
PB151 Computer Systems
zk 3/0 3 kr., podzim
- doc. Ing. Michal Brandejs, CSc.
- Prerequisities:
! NOW ( PB150 )
PB150 is a similar course designed primarily for multidisciplinary study in Computer Science. - Goals: At the end of the course student should be able to understand and explain a general technical principles about computer systems operation.
- Learning outcomes: At the end of this course the student will be able to understand basic principles of digital computers; understand the design of numerical systems used in computer technology and convert numbers between systems; will understand the principles of storing information, coding and storing texts. The student will understand the principles of the elementary processor and its programming at the lowest level. Student general principles compare with a specific implementation on Intel x86 processors and will be able to understand the implemented technologies of paging, caching and some others.
- Syllabus:
Terms, history, computer generations, categories.
Numeral systems, differences between systems, integer, arithmetics.
Codes, internal, external, ECC.
Electronic circuits, memories: parameters, architecture.
Processor, programming, microprogramming.
Processor architecture, memory addresses, operational modes, register structures.
Architectures: RISC/CISC, cache memories.
IEEE 754.
I/O devices and its connections.
PB152 Operating Systems
z 2/0 2 kr., jaro
- RNDr. Petr Ročkai, Ph.D.
- Prerequisities:
! PB153 &&! NOW ( PB153 )
Understanding of computer system architectures to the extent covered in the subject PB150 or PB151. PB153 is a similar course designed primarily for multidisciplinary study in Computer Science. - Goals: The subject gives a high-level overview of operating systems and their architectures and key abstractions. Students will learn about the basic components that make up an operating system and how they fit together. Students should also gain a basic understanding of design considerations and internal working of the individual components. Finally, the subject will cover services that the OS provides to user-level programs and to users directly.
- Learning outcomes:
By the end of the course, the student should be able to:
- explain key abstractions provided by operating systems
- name and describe what makes up an operating system
- explain how the individual components work
- explain basics of resource virtualization: memory, cpu, etc.
- explain principles and problems of concurrency - Syllabus:
Part 1: Virtualization
1. Memory Virtualization & Processes
2. CPU Virtualization & Threads
3. Storage Virtualization & File Systems
4. Peripheral Virtualization
Part 2: Concurrency and communication
5. Concurrency
6. Synchronisation
7. Communication
8. Interrupts
Part 3: Implementation
9. OS API, POSIX
10. Files and Networks
11. Inside a Kernel
12. Machine Virtualization
PB152cv Operating Systems - practicals
k 0/2 3 kr., podzim
- RNDr. Petr Ročkai, Ph.D.
- Prerequisities:
( PB153 || PB152 ) && ( PB111 || PB071 || SOUHLAS )
- Consider supplementing with the lecture PV065 UNIX – Advanced Course I.
- Having achieved 150 points in the previous semester is accepted as an alternative to the PB111 or PB071 requirement.
- Goals: The course extends the material covered in PB152 Operating Systems,t in the form of practical exercises. The main goal is to learn how to use operating system services when writing programs.
- Learning outcomes:
The student, after completing this course, should know how to:
• use the basic POSIX interfaces in C programs
• work with files and directories
• program a simple multi-process service - Syllabus:
Blok 1:
1. basic operations on files
2. datagrams
3. waiting for I/O
4. memory-mapped I/O
Blok 2:
5. strings and paths
6. directories
7. addresses and network
8. executable files
Blok 3:
9. concurrency
10. processes
11. threads
12. synchronization
PB152zk Operating Systems - Exam
zk 0/0 0 kr., jaro
- RNDr. Petr Ročkai, Ph.D.
- Prerequisities:
NOW ( PB152 )
Concurrent or previous enrollment in PB152. - Goals: Demonstration of theoretical understanding of the concepts introduced in PB152 Operating Systems.
- Learning outcomes: Exam only.
- Syllabus: Exam only.
PB153 Operating Systems and their Interfaces
zk 2/0 2 kr., jaro
- RNDr. Jaroslav Ráček, Ph.D.
- Prerequisities:
! PB152 &&! NOW ( PB152 )
Basic knowledge of architectures and principles of computing systems. (at least on the level of PB150 or PB151). PB152 is a similar course designed primarily for single-subject Informatics programs. Graduates of PB153 may have PB150 recognized. - Goals: The course introduces basics of operating systems ant heir interfaces.
- Learning outcomes: At the end of the course students will be able to understand and explain the basics of operating systems architectures, processes, memory and I/O management, filesystems. Based on the acquired knowledge student will be able to use services (API) offered by common OS types (Unix, Linux, Windows).
- Syllabus:
Operating systems architectures, kernel, interfaces, services
Process management, processes, threads, scheduling, process synchronization
Memory management
IO Management, File systems
Interfaces and services of Unix, Linux and Windows.
PB154 Database Systems
zk 2/1 3 kr., podzim
- prof. Ing. Pavel Zezula, CSc.
- Prerequisities:
! NOW ( PB168 )
Knowledge of basic technical English is assumed in this course. PB168 is a similar course designed primarily for career-oriented or multidisciplinary study in Computer Science. - Goals: The goal of the course is to teach students principles of database systems.
- Learning outcomes:
On successful completion of the course the student will be able:
to formulate reasons for using database systems;
to understand basic principles of database systems;
to describe ways of indexing data;
to design a database schema;
to create queries for retrieving data. - Syllabus:
Introduction, terminology
Entity-relationship model
Relational model
Query language SQL
Integrity constraints
Relational database design
Storage and file structures
Indexing and hashing
Query processing
Transaction management
New trends in database systems
PB156 Computer Networks
zk 2/0 2 kr., jaro
- doc. RNDr. Eva Hladká, Ph.D.
- Goals: The main goal of this course is to provide the students with basic understanding of behaviour and principles of computer networks, with special emphasis on network architecture and protocols forming contemporary Internet. The course mainly focuses on general principles rather than the technologies currently used.
- Learning outcomes:
Graduate will understand the standardized network architecture model (ISO/OSI model) and its modification used in contemporary computer networks (TCP/IP model).
Graduate will have a good orientation in basic network protocols used in contemporary computer networks.
Graduate will understand basic principles of addressing, routing and switching in IP networks, he or she will be able to design a simple computer network.
Graduate will understand the behavior of UDP and TCP protocols in IP networks.
Graduate will understand requirements of individual applications and application classes, which they have on the computer network and its quality. He or she will also obtain a basic orientation in parameters defining quality of service. - Syllabus:
Computer networks' architecture, connection-oriented and connectionless networks, network models (ISO/OSI, TCP/IP) and network examples. Internet as a network of networks. Network protocols, standardization.
Overview of physical and data link layers' services -- signals, transport media, media access control, building L2 networks.
Network layer -- services, interaction with L2 layer, addressing, Internet protocols IPv4 and IPv6, local (LAN) and wide area (WAN) networks. Routing mechanisms, common routing protocols (RIP, OSPF, BGP), autonomous systems, multicast.
Transport layer -- services, UDP and TCP protocols, mechanisms of ensuring transmissions' reliability. Quality of service.
Application layer -- kinds of network applications (client-server vs. peer-to-peer model), applications' requirements on computer networks. Examples of selected applications (e.g., DNS, HTTP/WWW, multimedia applications).
PB156cv Computer Networks - practicals
z 0/2 2 kr., jaro
- doc. RNDr. Eva Hladká, Ph.D.
- Prerequisities: Runs in parallel with PB156
- Goals: The goal of the exercise si to give students enrolled to the PB156 Computer Networks course an opportunity to get direct hands-on experience with network protocols and their use.
- Learning outcomes: The primary output follows those of PB156, but extending the presentations with direct use of the presented materials. The graduates will get practical experience with building simply networks, analysis the traffic, understanding most of the protocols presented in lectures through actually building them and-or following them over the built network.
- Syllabus: Introduction, getting acquainted with Wireshark, the packet sniffing suite. Practical experience with HTTP, differences between protocols, simple get, put, retrieval of longer protocols, simple authentication DNS, dns lookup, ipconfig, dns tracing TCP protocol, analysis of TCP packets, TCP congestion control UDP protocol, analysis of UDP packets IP protocol, analysis of IP packets, packet fragmentation, ICMP Ethernet and ARP, Ethernet frames, ARP caching DHCP protocol, packets analysis, setting up a DHCP server (The structure is inspired and to large extent follows the Wireshark Laboratory of Kurose and Ross)
PB161 C++ Programming
zk 2/2 3 kr., jaro
- RNDr. Nikola Beneš, Ph.D. - RNDr. Petr Ročkai, Ph.D.
- Prerequisities:
PB006
Basic knowledge of programming and algorithmics (to the extent covered by the courses IB111, IB002), low-level programming (PB111), programming language principles and OOP (PB006). Students are also required to have user experience with Unix OS or similar, as homework is submitted and tested on a Unix server. - Goals: The goals of the course are to make the students familiar with the basics of the C++ programming language as defined by ISO C++20. The course focuses on the languages's semantics, user-defined data types (classes), basic work with the standard library.
- Learning outcomes:
After finishing this course, a student should be able to:
- write simple C++ programs utilizing the tools of modern C++ as defined by ISO C++20;
- use the standard C++ library on a basic level;
- create user-defined data types (classes) in C++;
- understand the value semantics of C++ and explain the difference between this semantics and other popular languages' semantics;
- understand the principles behind resource management (incl. memory management) in modern C++;
- understand how the principles of object-oriented programming are realised in C++;
- use exceptions in an efficient and reasonable way;
- follow best practice guidelines for C++ programming. - Syllabus:
Introduction to the syntax and semantics of C++, value semantics, references, const.
Compound values and types, records (struct), basic compound types in the standard library.
Extending types with methods and operators, overloading.
The lifecycle of a value, ownership, constructors, destructors.
Raw pointers, smart pointers, ownership via pointers.
Inheritance, late binding, OOP polymorphism, virtual destructors.
Exception handling, the RAII principle, resource management.
Closures (“lambda functions”).
Sum types in the standard library.
Algorithms, both classic and new (the “ranges” part of the library).
String manipulation.
Formatting, input/output.
PB162 Java
zk 2/2 3 kr., jaro
- doc. RNDr. Radek Ošlejšek, Ph.D.
- Prerequisities:
PB006 && ! PB112 && ! NOW ( PB112 )
This course builds on the knowledge of PB006 Principles of Programming Languages and OOP and is primarily intended for Bachelor's degree programs in Informatics (INF) and Programming and Development (PD). For students of other programs, students from other faculties, and students of minor versions of INF and PD, a new PB112 course has been created. - Goals:
During this course, students:
gain the basic knowledge of object oriented programming in Java;
become familiar with the basic Java and OO terminology, as well as necessary language syntax and semantics rules;
be able to analyze, design and implement simple software solutions with the appropriate tools. - Learning outcomes:
At the end of the course, students should be able to:
explain and use principles of object paradigm in practice;
use basic principles of object-oriented design for coding;
create programs on the Java SE platform;
use development tools efficiently, e.g., IDE, unit tests, git, etc.; - Syllabus:
Basic Java features, constructors; collaboration and communication between objects
Static variables and methods, immutable objects, nested classes
Interfaces
Inheritance, polymorphism, class hierarchy, program architecture; abstract classes
Object identity and comparison; hash functions; collections and maps
Records, lambda expressions, anonymous classes
Data streams
Defensive programming, atomic failure, exceptions
Input/output; principles of Decorator and Bridge design patterns.
Unit testing; basic design patterns Introduction to Java - principles, history. Java development lifecycle, basic development tools.
PB168 Introduction to DB and IS
zk 2/2 3 kr., podzim
- doc. RNDr. Vlastislav Dohnal, Ph.D. - RNDr. Jaroslav Ráček, Ph.D.
- Prerequisities:
! PB154 && ! NOW ( PB154 )
The course assumes knowledge of basic technical English. PB154 is a similar course designed primarily for single-subject Informatics programs. Graduates of PB154 may have PB168 recognized if they have also graduated from PB007. - Goals: The aim of the course is to introduce principles of information and database systems to the students. In detail, issues of creating information systems that use database systems will be tackled. Especially, we focus on the topics of software engineering, database design and data modeling, querying and other functionality including analytical tools. The aim of one-hour seminars is to exercise selected phenomena in practice. The students will get an idea about the overall problem of design and development of information systems and its individual stages. The students will learn principles of database systems from the theoretical and practical points of view. The students will be able to use a relational database system, store and query its data.
- Learning outcomes:
Student will be able to:
- Explain basic principles and procedures in designing software;
- Apply these procedures to create a model of smaller information system;
- Explain the principles of relational database management systems;
- Design and implement relational model for data storage in the information system;
- Formulate basic SQL statements (data updates and querying in particular);
- Be familiar with the issues of analysis and design of data-oriented information systems. - Syllabus:
Introduction to information systems.
What is an information system, what is its purpose, what is its task and how it is useful.
The common structure and components of an information systems, examples.
Modern information systems.
Introduction to database systems. What is a database management system, what is its task and use, examples. Data abstraction, models, examples.
Architecture of database systems. Design of database, querying. Query languages. Architecture of database. Users of database.
Entity-relationship model. Attributes, entity sets. Relationships, cardinality. Definition of key, primary key.
Relational model. Relation, attributes, relationships. Transition to/from entity-relationship model. Referential integrity.
Database design. Functional dependencies. Normal forms. Decomposition.
SQL query language. Introduction, basic statements. Select, joins, aggregation functions. Database updates and deletions. Data definition, views.
Query processing. Basic principles, examples. Indexing. Introduction to query optimization. Transactions. Properties of transaction processing.
Analytical tools. OLAP – Online Analytical Processing. Data mining. Applications of databases.
Specifics of database systems. Technology of accessing databases. Geographical information systems. Multidimensional databases. Temporal databases.
Design and development of information systems. Life-cycle of information system. Analysis, design of systems. Structured analysis. Data Flow Diagram, mini-specification.
Use case diagram. Sequence diagram. Class diagram.
Principles of structured analysis based on YMSA and SSADM. Functional decomposition. Balancing functional and data models.
PB170 Seminar on Digital System Design
k 0/2 2 kr., podzim
- doc. RNDr. Zdeněk Matěj, Ph.D.
- Goals: At the end of the course students should be able to: understand the main concepts of digital system design (combinational and sequential circuits); know the realization of basic design (adders, counters, state automata); create and simulate the simple design.
- Learning outcomes:
At the end of the course, students will be able to:
formally describe a logic circuit composed of combinational or sequential circuits;
design a simple digital system;
simulate the behavior of digital circuits;
the basic design of logic circuits in HDL Verilog - Syllabus:
Fundamentals of digital systems: description of a logic circuit, design methods.
Basic entities: primitives (gates), combinatorial circuits, sequential circuits.
Practical exercises with tools like Hades and Quartus.
A short introduction into HDL, Verilog.
PB171 Seminar on Digital System Architecture
k 0/2 2 kr., jaro
- doc. RNDr. Zdeněk Matěj, Ph.D. - prof. Ing. Václav Přenosil, CSc.
- Goals: The main objectives of the seminar are to verify the knowledge acquired during the Digital computer architecture course. The students will learn about the structure and the design of systems for selected microcomputers or FPGA, they will learn to program them and at the end of the semester, they will create their own project. The lessons will be held in the EmLab - A415.
- Learning outcomes:
At the end of the course, students will be able to:
practically design a digital system;
program using a language assembler and C designed digital system;
to practically assemble and integrate a digital system. - Syllabus:
Architecture of 8-bit controllers (PIC12 family).
Assembly language for target platform.
General purpose I/O.
Timers and interrupt handling.
EEPROM handling.
Applications of the analog-digital converter.
C language compiler for 8-bit platforms.
Using C language for target platform-
Controlling shift register.
Bus drivers: UART, SPI, I2C.
Advanced peripherals.
Semestral project.
PB172 Systems Biology Seminar
k 0/2 2 kr., podzim
- doc. RNDr. David Šafránek, Ph.D.
- Prerequisities:
souhlas
The seminar is focused on studying and presentation of selected scientific articles/book chapters in the field of computational systems biology. Students are assumed to understand elementary notions from biology and chemistry (grammar school level), to know basic principles of the systems biology paradigm, and to be interested in deeper understanding of the field. Previous successful studying of PB050 is welcome. - Goals: At the end of the course students should be able to: understand key results of computational systems biology; work with a scientific paper; extract the information from literature; prepare and give an oral presentation.
- Learning outcomes:
At the end of the course students should be able to:
- analyse a scientific paper;
- combine and infer the information from scientific literature;
- discuss pros and cons of computational methods in systems biology;
- contrast conceptual errors in analysed publications by employing suitable arguments. - Syllabus:
- Overview of elementary notions and paradigms
- Selection of seminar topics (papers) and explanation of their significance
- Studying of the selected topics
- Presentation and discussion
PB172 Systems Biology Seminar
k 0/2 2 kr., jaro
- doc. RNDr. David Šafránek, Ph.D.
- Prerequisities:
souhlas
The seminar is focused on studying and presentation of selected scientific articles/book chapters in the field of computational systems biology. Students are assumed to understand elementary notions from biology and chemistry (grammar school level), to know basic principles of the systems biology paradigm, and to be interested in deeper understanding of the field. Previous successful studying of PB050 is welcome. - Goals: At the end of the course students should be able to: understand key results of computational systems biology; work with a scientific paper; extract the information from literature; prepare and give an oral presentation.
- Learning outcomes:
At the end of the course students should be able to:
- analyse a scientific paper;
- combine and infer the information from scientific literature;
- discuss pros and cons of computational methods in systems biology;
- contrast conceptual errors in analysed publications by employing suitable arguments. - Syllabus:
Overview of elementary notions and paradigms.
Selection of seminar topics (papers) and explanation of their significance.
Studying of the selected topics.
Presentation and discussion.
PB173 Domain specific development
k 0/2 2 kr., podzim
- doc. RNDr. Petr Švenda, Ph.D. - RNDr. Martin Ukrop, Ph.D.
- Prerequisities:
( PB111 || PB071 ) && SOUHLAS
We expect you to have knowledge of appropriate programming language and operating system based on requirements your desired seminar group. A mandatory prerequisite is exemption given by the lecturer based on student response to motivational questions specific to given seminar group (details and process is described in Archived messages).
• PB173/Go (Coding in Go): the student should be proficient in programming fundamentals, comfortable with SQL and have a basic understanding of networking and virtualization (it is sufficient on the level of passing courses IB111, PB154, PB156 and PB152)
• PB173/KDLP (Kernel Learning Development Pipeline): the class will be delivered in English, knowledge of the C language, basic knowledge about operating systems in general, practical skills in Linux operating system (e.g. Fedora, Debian, Slackware), basics of git
• PB173/QT (Multiplatform programming with C++ a QT framework): student shall by the student should be proficient in programming fundamentals of C and C++ language. - Goals:
Enhance your programming capabilities in the language appropriate for the particular selected application domain.
1. PB173/Go (Coding in Go)
• Students will understand the fundamentals of the Go programming language and its common use cases in practice.
• Students will acquire the required knowledge for entry-level Go developer positions while writing idiomatic Go code.
• Students will be capable of applying the acquired knowledge to real-life projects.
2. PB173/KDLP (Kernel Development Learning Pipeline)
• Introduce students to the Linux Kernel development workflow, show them how to create and send kernel modifications to mailing lists.
• Excite students about the wonderful world of Linux kernel community.
• Expose students to major kernel subsystems. - Learning outcomes:
The general goal of this course is extension of programming knowledge in a particular area of expertise based on the particular seminar group. Each seminar group will define its own specific learning gloals.
1. PB173/Go (Coding in Go)
• Write idiomatic Go code.
• Understand the Go concurrency model.
• Profile and optimize Go applications.
• Develop REST API services in Go.
• Containerize and deploy one's applications.
• Implement persistence leveraging SQL databases.
• Instrument applications with various types of telemetry.
2. PB173/KDLP (Kernel Development Learning Pipeline)
• By the end of the course, students should have an understanding of how Linux kernel is architectured.
• Understand the role of each of the major subsystems and how those interact with each other.
• Students will also be able to have a basic understanding on how to write code for the Linux kernel, for its core and for modules, and how to use Linux’s provided generic interfaces (memory allocation, synchronization, generic data structures, etc) in their own kernel code.
• Students will understand how to send patches to specific subsystems and how to review patches. - Syllabus:
The concrete content of the course depends on the individual thematic groups which are listed in Teacher's information areas.
1. PB173/Go (Coding in Go)
• Introduction: introduction to Go, IDEs and editors, installing Go, running Go
• Fundamentals #1: packages & visibility, variables, data types, control flow, functions, pointers, user-defined data types
• Fundamentals #2: interfaces, errors, arrays, slices, maps, range
• Concurrency & parallelism: goroutines, runtime, channels, select, related packages
• Advanced #1: generics, packages, testing
• Advanced #2: benchmarks, optimizations, CGo, unsafe & reflect
• REST APIs: JSON, HTTP, REST API, HTTP package, routers & web frameworks, OpenAPI, templating
• Containers: containerization, Docker, Kubernetes
• Databases: SQL, RDBMSs, migrations, SQL, sqlx, sqlc, GORM
• Infrastructure: CI/CD, infrastructure, Google Cloud Platform
• Observability: health, logs, metrics, traces, OpenTelemetry
2. PB173/KDLP (Kernel Development Learning Pipeline)
• Introduction and development environment setup
• General overview of core kernel concepts
• PC and x86 architecture
• Process management
• Synchronization primitives
• Memory management
• Storage and filesystems
• Networking stack
• Device drivers
• Kernel Debugging methods
• GPG signing party
PB173 Domain specific development
k 0/2 2 kr., jaro
- doc. RNDr. Petr Švenda, Ph.D. - Bc. Kristína Hanicová - Lukasz Michal Chmielewski, PhD - Ing. Michal Prívozník - RNDr. Martin Ukrop, Ph.D.
- Prerequisities:
PB111 || PB071 || SOUHLAS
We expect you to have knowledge of the appropriate programming language and operating system based on your desired seminar group. - Goals:
Enhance your programming capabilities in the language appropriate for the particular selected application domain.
1. PB173/TechWriting (Technical writing)
• Give students an overview of the technical writing industry, acquire knowledge and skills that are required for a technical writer job role.
• Prepare students to work with technical writers if they are working as developers.
• Prepare students to write better documentation for their future projects.
• Train purposeful, minimalist writing and clear communication. - 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.
1. PB173/TechWriting (Technical writing)
• Understand technical writing principles, goals, and audience.
• Participate actively in writing activities. Students will be able to produce a set of documents related to technology.
• Understand how to analyze data from research and incorporate it into assigned writing clearly, concisely, and logically.
• Edit documents with peer exchange according to professional guidelines.
• Get an overview of tools that are used in technical writing and learn more about cross-team collaboration. - Syllabus:
The concrete content of the course depends on the individual thematic groups which are listed in Teacher's information area.
1. PB173/TechWriting (Technical writing):
• Introduction to technical writing (definition and purpose of technical writing, comparison between different writing styles, a day in the life of a technical writer, types of technical documentation and their specifics, target audience)
• Style (accessibility, minimalism, modularity and structure, user focus and information flow, style guides)
• Soft skills (empathy, ethics, cultural awareness, communication skills, curiosity, proactivity, editorial skills, time management)
• Hard skills (definition of hard skills in technical writing, why we need them, product knowledge, engagement with the development team. Understanding user personas, teamwork across QE, product owners, engineers, support teams, planning for tech writing, how to create technical content, content strategy)
• Tools (introducing single sourced and modular documentation, advantages of using markup languages with the ability to set attributes and use conditions, overview of text editors, version control systems, and publishing tools, creating and generating documentation using AsciiDoc and AsciiDoctor)
• Usability (usability of documented products, 10 usability heuristics, usability of documentation deliverables)
2. PB173/Virtualizace (Virtualization, in Czech language):
The main goal is to provide insight into the domain of virtualization, understanding of principles, practical preparation of the virtualized environment, and effective usage.
PB175 Project managment and project
z 1/0 3 kr., jaro
- RNDr. Jaroslav Ráček, Ph.D.
- Prerequisities:
PB006
- Goals: The course aim is to make students experience a real work on a specified complex software, where student's primary task is to program (code) a specified functionality. She will also be responsible for the integration of the programming results into the production version of the software involved
- Learning outcomes: After successful completion student will be able - to understand a complex project specification and orient in a complex code - to program and test (validate) specified function in accordance with the project specification - to integrate results (code) into a production version of the software involved - to document and pass over results of her work in a form that allows taking over by another team member (developer of the same software product)
- Syllabus: Time steps: - Selection of the project from a provided list or accepted student's project specification proposal - Individual (or team) work on the project - Regular consultations with the technical supervisor - Regular consultation with a faculty supervisor (assigned whem the technical supervisor is not a faculty] - Final project report (text and code), formally accepted by the teacher
PB176 Basics of Quality and Managment of Source Code
k 2/0 3 kr., jaro
- RNDr. Lukáš Ručka
- Prerequisities:
PB006 || PB071 || now ( PB071 )
Students are expected to have a previous experience in computer programming, least on the level of IB111. Furthermore, a user-level experience with UNIX/Linux systems and the command prompt is assumed (corresponding to a simultaneous study of PV004). Finally, a parallel study of any computer programming course corresponding to the 2nd semester of any of the associated curriculums is assumed. - Goals: The goal of the course is to teach the student a code versioning and best practices (small, isolated changes, focus on a consistent flow of changes), introduce the build systems and continuous integration and distribution. Establish the importance of consistency and code style, name and label selection. Introduce testing as a crucial component of code quality assurance, in conjunction with bug tracking systems.
- Learning outcomes: After successful submission, the student shall be: Capable of versioning the code through version tracking system (GIT), including the best practices. • Familiar with build systems of medium-sized projects, including the technologies and principles of continuous integration. • Submit sufficiently detailed bug reports, including minimum-broken examples. • Design and implement test suites on the level of small projects.
- Syllabus: GIT versioning system, the principles behind commit, branches, code merge. The decentralized model behind GIT repositories. • Build systems and platforms. • Testing, unit tests, bug reports, integration tests, practical aspects of CI. • Code style, comments and documentation. • Software distribution, containers.
PB177 Cyber Attacks
zk 1/1 3 kr., podzim
- doc. RNDr. Jan Vykopal, Ph.D. - doc. Ing. Pavel Čeleda, Ph.D.
- Prerequisities:
PB156 && PV004 && ! PV276
- Goals: Introduce students to the lifecycle of cyber attacks and typical attack actions within the corporate network environment, including their taxonomies. Practice executing attacks and explore options for their analysis and defense in a secure environment.
- Learning outcomes: Upon completion of the course, students should be able to:
- describe the lifecycle of a cyber attack,
- understand frameworks and taxonomies of attack actions,
- practically execute selected actions, analyze them, and defend against them.
- Syllabus:
- Weakness, vulnerability, threat, event, attack, incident.
- Lifecycle of cyber attacks, MITRE ATT&CK® framework, and Cyber Kill Chain. Advanced Persistent Threat (APT). MITRE D3FEND™ and MITRE ENGAGE™.
- Use cases of the MITRE ATT&CK® framework.
- Typical attack techniques within the MITRE ATT&CK® framework.
- Demonstration of a simple attack utilizing multiple attack techniques.
- Analysis of the attack from a defender's perspective and defense possibilities against a simple host-level and network-level attack. Utilization of the MITRE D3FEND™ framework.
- Attacks and campaigns by organized groups utilizing APT.
- Demonstration of an APT-style attack./
- Analysis of the attack from a defender's perspective and defense possibilities against an APT-style attack. Utilization of the MITRE D3FEND™ framework.
- Penetration testing. Vulnerability management.
PA008 Compiler Construction
zk 3/0 3 kr., jaro
- prof. RNDr. Mojmír Křetínský, CSc.
- Prerequisities: Finite automata and regular languages (see IB005); pushdown automata and context-free languages, especially the parsing methods of deterministic context-free languages (LL and LR techniques) - see IA006.
- Goals: At the end of the course students should be able to understand and explain principles, methods, and techniques used in design and implementation of compilers programming languages and the related systems based on analysis of an input text and synthesis of the corresponding output. Students should be able make reasoned decisions about design of these systems. Based on acquired knowledge, students should employ principles and techniques of compiler writing and program analysis in related areas of computer science and system desing.
- Learning outcomes:
On successful completion of the course students will be able to:
1. Specify and analyse the lexical, syntactic and semantic structures of language features and separate the lexical, syntactic and semantic analyses into phases for a compiler.
2. Implement a scanner, parser, and semantic analyser with/without the aid of automatic SW tools.
3. Write an intermediate (IR) code generator. Turn IR code into machine code. Describe techniques for intermediate code optimisation. - Syllabus:
Tasks of compiling, phases of a compiler, compiler structure.
The role of lexical analysis. Structure, modules and interfaces. Construction.
Parsing. The role of parser, interfaces and imlementation.
Attribute grammars (AG) and syntax directed translation. Description of language properties via AGs.
Semantic analysis, its tasks and implementation. Name and scope analysis, type checking.
Run-time enviroments, storage organization and allocation, stack and heap.
One-pass and multi-pass compiling. Intermediate code generation
Techniques for code generation. register allocation.
Error recovery.
Local optimization. Flow analyses, global optimization.
Compiler generators, techniques and tools.
PA010 Intermediate Computer Graphics
zk 2/0 3 kr., podzim
- RNDr. Katarína Furmanová, Ph.D. - doc. RNDr. Barbora Kozlíková, Ph.D.
- Prerequisities: The knowledge of matrix calculus, linear algebra, geometry, and basic programming skills. Computer graphics fundamentals that are covered in the PB009 course. Basics of image processing covered in course PB130.
- Goals: This course aims to broaden the knowledge of the basics of computer graphics covered in course PB009. Students should get a deeper understanding of the core computer graphics topics, as well as an overview of more advanced techniques in the areas of mesh processing and modeling, shadows, textures, and speed-up rendering techniques.
- Learning outcomes:
At the end of the course students
- will understand the theoretical concepts of modern computer graphics;
- will be able to select suitable solutions for various problems in computer graphics;
- will gain practical knowledge in the programming of selected algorithms; - Syllabus:
Polygon and Triangular meshes: data structures, related tasks, simplification and re-meshing
Subdivision surfaces
Advanced modeling techniques, global and local deformations
Surface reconstruction: triangulation, iso-surface extraction
Point set and image registration
Signal sampling and reconstruction
Image transformations, warping, morphing, matting
Textures: mapping, filtering, synthesis
Shadows: hard shadows, soft shadows
Collision detection, hierarchical representations
Speed-up techniques for real-time rendering
The topics are explained with both mathematical description as well as their algorithmic counterpart. Students will learn the theoretical basis of the above-described concepts, algorithms, and representations.
PA013 Software Testing and Analysis
zk 2/0 3 kr., jaro
- Ing. Jiří Pavela - prof. Ing. Tomáš Vojnar, Ph.D.
PA017 Information Systems Management
zk 2/0 2 kr., podzim
- RNDr. Jaroslav Ráček, Ph.D.
- Goals: The goal of this course is to explain software engineering approached in managing work on large projects.
- Learning outcomes:
At the end of the course students should be able to:
understand and explain problems of measuring effects of information technologies.
make reasoned decisions about the benefits of information technologies;
make reasoned decisions about the support of administration and management in the software life-cycle, together with related social and ergonomic issues. - Syllabus:
SW development process. The main activities in the development process and different approaches.
RUP in terms of development and management activities.
Management of agile development. Scrum.
The issue of testing and test process management, use case driven testing.
Types of tests, automation testing.
Software metrics.
Software maintenance, software reusability.
SW quality and evaluation.
SW Cost calculation.
Soft skills in IS delivery managament.
PA018 Advanced Topics in Information Technology Security
zk 1/1 4 kr., podzim
- prof. RNDr. Václav Matyáš, M.Sc., Ph.D. - Mgr. Kamil Malinka, Ph.D. - prof. RNDr. Tomáš Pitner, Ph.D. - RNDr. Adam Kučera, Ph.D. - RNDr. Daniel Tovarňák, Ph.D. - doc. RNDr. Petr Švenda, Ph.D.
- Prerequisities:
PV017 || PV079 || PV157 || IV054 || IA174 || now ( IA174 )|| souhlas
Knowledge of English (intermediate level). Students shall also pass at least one of the following courses (PV079, PV157, IA174) before registering this course. - Goals:
To teach the students to:
understand advanced concepts in designing, developing, managing and analyzing security systems;
review inter-dependencies between system components and point out major vulnerabilities;
design security mechanisms;
reflect requirements and demands that have to be addressed when solving problems and security issues in common computer systems;
create both written project report and (oral) presentation of the project;
argue for their solution or analysis in the ways implied above. - Learning outcomes:
Graguate of this course shall be able to:
understand advanced concepts in designing, developing, managing and analyzing security systems;
review inter-dependencies between system components and point out major vulnerabilities;
design security mechanisms;
reflect requirements and demands that have to be addressed when solving problems and security issues in common computer systems;
create both written project report and (oral) presentation of the project;
argue for their solution or analysis in the ways implied above. - Syllabus:
This advanced-level course reviews selected topics in IT security in a greater depth. Students are expected to work on several assignments and a term project.
This course is given in English. Assignments and the term project are to be handed in also in English, yet final exam answers are accepted in both Czech and English. Guest lectures of industry experts will complement the core topics lectured. Topics include issues related to the following areas:
Interaction of security and cryptographic mechanisms, namely of public key techniques. Key management and protocols.
Security policies. Risk assessment and analysis. Role of standards and evaluation (criteria).
Authentication, namely issues of biometric authentication.
Security in communications and networks.
Secure hardware, smartcards.
Trust, electronic and/vs. real relations.
Malware.
Security of critical infrastructures.
Processing of big data for security operations.
PA026 Artificial Intelligence Project
k 0/2 2 kr., jaro
- doc. RNDr. Aleš Horák, Ph.D.
- Prerequisities:
PB016 || IV126 || PV021 || PV056
This course is given in English. Presentations and project documentation can be in English, Czech or Slovak. - Goals: The aim of the seminar is to provide students with a deeper knowledge concerning a chosen area of artificial intelligence and practical checking of this knowledge by working on individual project. The choice of programming language for the project is not limited, for recommended topics see PB016 Introduction to Artificial Intelligence.
- Learning outcomes:
Students will be able to:
- design, analyze and elaborate a solution of a selected task in the field of artificial intelligence;
- present the selected step-by-step approach;
- justify the chosen implementation process;
- design an evaluation process of the created application and process its results. - Syllabus:
Study of a chosen area of artificial intelligence
Project implementation.
PA036 Database System Project
z 0/2 2 kr., jaro
- doc. RNDr. Vlastislav Dohnal, Ph.D.
- Prerequisities:
!( semestr ( 1 )|| semestr ( 2 ))|| obor ( SL )
Knowledge of database systems, data modeling and software engineering is expected and positive attitude to programming - Goals: The aim of the course is to analyze a given problem in the field of data processing, implement a solution to the problem, and run performance tests. The implementation requires the use of a contemporary database system, i.e. knowledge of SQL, and any programming language.
- Learning outcomes: Upon completion of the course the student will be able to: - use a database storage system; - study and use advanced data processing techniques; - design and implement application performance tests.
- Syllabus:
A presentation of ideas in the tasks to be solved. Overview of approaches to optimizing SQL queries.
Assignment and solution of specific tasks - typically within two weeks per task.
Continuous evaluation during the solution period (approximately two times) with the possibility of getting extra points in the final solution ranking.
Corrections to solutions based on feedback after the submission deadline - typically within one week.
Consultation on assignments during class time.
Evaluation of all solutions (overall ranking) and announcement of the best ones.
PA037 Compiler Project
z 1/2 4 kr., podzim
- prof. RNDr. Antonín Kučera, Ph.D.
- Prerequisities: PA008 Compiler Construction
- Goals:
The aim of the seminar is to provide students with a deeper
knowledge about the structure of programming languages
and the funcionality of the corresponding compilers.
To pass this seminar, students have to design a simple
programming language and implement its compiler.
It is possible to work in groups of 2-4 members; the
complexity of the project should be proportional to the
number of group members.
Main objectives of the course can be summarized as follows: to understand basic design principles of programming languages and their compilers; to design a simple programming language and implement its compiler. - Learning outcomes: Own experience with implementation of a compiler.
- Syllabus:
The logical structure of a compiler. Formalisms used to
specify the individual modules.
The scanner. Regular expressions. Tokens and their precedence.
The parser. Top-down and bottom-up analysis.
The constrainer. Attribute grammars. Attribute flow. Attribute evaluation.
The code generator, optimisations.
A complete specification of a simple one-pass optimising compiler.
Symbol tables as attributes. Declarations, type checking, scope analysis.
Functions. Stack frames. Passing of parameters. Conventions of C and Pascal.
Input and Output. Unix and the C language.
I386 assembler, conventions of the C language.
PA039 Supercomputer Architecture and Intensive Computations
zk 2/0 2 kr., jaro
- prof. RNDr. Luděk Matyska, CSc.
- Prerequisities: At least elementary knowledge of programming languages FORTRAN, C and eventually C++ is expected.
- Goals: The main goal of this lecture is to provide information about architectures of high-performance computing systems and basic programming methods for vector and parallel computers. The first part focuses on the hardware, during the second part general optimization methods and programming methodology for parallel computers is discussed. The last part of the lecture is aimed at the programming of distributed systems.
- Learning outcomes:
The graduate will be able to understand and explain properties of modern processors.
The graduate will be also able to analyze the program code and propose optimizations for a particular processor.
The graduate will be able to design and implement a simple parallel program to solve a particular problem.
The graduate will be able to design and realize benchmarks of computer systems or applications. - Syllabus:
High-performance vector and superscalar processors.
Uniprocessor computers, computers with a small number of processors, massively parallel computers; distributed systems.
Performance measurements, LINPACK test, TOP 500 list.
High-performance uniprocessor systems, programming languages, the methodology of efficient program writing, basis optimization methods for vector and superscalar computers.
Distributed systems, data and task decomposition, coarse grain parallelism, programming systems (PVM, LINDA, ...). Multiprocessor systems with shared memory, programming languages, decomposition of algorithms, basic optimization methods for a small number of processors.
Massively parallel systems, parallel algorithms, fine grain parallelism.
Shared, distributed, and distributed shared memory; other alternatives. Sdílená, distribuovaná a distribuovaná sdílená paměť.
Scalability of computers and tasks.
PA052 Introduction to Systems Biology
zk 2/0 2 kr., jaro
- doc. RNDr. David Šafránek, Ph.D.
- Goals: Graguate of this course shall be able to: understand the basic concepts of systems biology; understand the role of computer-science in systems biology; employ abstract computer-scientific thinking in the field of biological systems modeling.
- Learning outcomes:
After the course the student will be able:
- to analyse and discuss pros and cons of computational methods in systems biology;
- to interpret the paradigm of systems biology;
- to identify basic tasks employed in systems biology;
- to judge ideas and opinions in front of students and the teacher. - Syllabus:
History and scope of systems biology.
Elementary biological notions.
Elementary notions of systemic paradigm - biological process studied in terms of a complex system.
Model organisms.
Sources of biological data - Databases of biological knowledge.
Research scenario in systems biology, role of computer science.
Models in systems biology, model databases.
Examples of systems biology application.
Design and reconstruction of biological networks - Synthetic Biology.
Information in biology and about biology.
PA053 Distributed Systems and Middleware
zk 2/0 2 kr., jaro
- RNDr. Michal Batko, Ph.D.
- Goals: The goal of the course is to introduce possible solutions to problems related to the design of a robust distributed application.
- Learning outcomes:
At the end of the course students should be able to:
understand and explain the abstractions provided by operating systems and middleware layers in a distributed environment
organize an analysis of the communication, replication, sharing issues,
work with information on the abstractions provided by the distributed operating system kernels,
work with information on the abstractions provided by the middleware layers,
assess specific system studies,
use modern technologies to create distributed applications. - Syllabus:
Distributed system concepts, benefits, problems, typical architectural patterns (single system image, client-server, service oriented).
Technological solutions related to distributed systems (communication, replication, sharing, migration).
Operating systems and middleware for distributed systems, provided abstractions, and specific system studies (CORBA, RMI, JMS, EJB, WS, , and others).
PA054 Formal Methods in Systems Biology
zk 2/0 2 kr., jaro
- doc. RNDr. David Šafránek, Ph.D.
- Prerequisities: The course requires elementary knowledge of formal techniques achieved at bachelor level. This is an interdisciplinary course. The course is recommended especially for students of Bioinformatics. The course is also suitable for students of all other applied and theoretical study branches, namely Parallel and Distributed Systems and Theoretical Computer Science.
- Goals: At the end of this course students should be able to: understand the actual trends and open problems in the domain of formal methods for complex systems modeling; apply formal methods in the modern biological research in systems biology; employ relevant software tools to solve particular problems in modeling and simulation of biological systems.
- Learning outcomes:
At the end of this course students should be able to:
- define the actual problems solved in the domain of formal methods for complex systems modelling and analysis;
- apply formal methods in systems biology;
- use relevant software tools to solve particular problems in modeling and simulation of biological systems. - Syllabus:
Problem definition: Modeling and analysis in systems biology. Motivation for application of formal methods.
Overview of formal methods employed for analysis of biological hypotheses. Model specification. Model size and state explosion problem.
Modeling and simulation: Deterministic vs. non-deterministic models. Continuous vs. discrete models. Models with parameter uncertainty. Approximation and abstraction. Simulation and analysis.
Qualitative models: Boolean networks, Petri nets.
Quantitative models: Timed Boolean networks, Markov chains, Stochastic Petri nets, relations to continuous and hybrid models.
Formal specification of models: Kappa-calculus, Stochastic Petri nets, Stochastic Pi-Calculus and related formalisms.
Model checking: Application in the process of model validation. Properties of in silico models vs. in vivo/in vitro experiments. Model checking tools for biological models.
Models with parameter uncertainty: Parameter estimation. Robustness analysis.
PA093 Computational Geometry Project
z 0/1 2 kr., podzim
- doc. RNDr. Barbora Kozlíková, Ph.D.
- Prerequisities: It is recommended to concurrently attend or finish the M7130 course before attending this course. Moreover, the student should have the knowledge of C++ or Java programming language.
- Goals: The project is focused on solving the tasks from computational geometry area. The aim is programming and visualization of classical 2D and 3D algorithms. Students gain practical experience in implementation and integration of complex algorithms from the field of computer graphics.
- Learning outcomes: After passing this course, the student will be able to: - compare computational geometry algorithms with respect to their complexity, - choose the most appropriate computational geometry algorithms for given problems, according to their complexity and input requirements, - implement computational geometry algorithms described by a pseudocode.
- Syllabus: The purpose of this seminar is to discuss, extend and elaborate the subject area presented in M7130 , especially with respect to its practical applications. Some selected geometric algorithms will be implemented during the course. The aim of the first task is to demonstrate the problems regarding programming of computational geometry algorithms. Then an implementation of an essential and substantially more complicated advanced algorithm follows. Students gain practical experience with the implementation of advanced computational geometry applications.
PA096 Seminar of Dialog Laboratory
k 0/2 2 kr., jaro
- RNDr. Jaromír Plhák, Ph.D. - RNDr. Josef Spurný, Ph.D.
- Prerequisities:
souhlas
- Goals: The aim of the seminar is to create a common platform for discussing issues related to ongoing research projects within the laboratory. The purpose is to present current projects' status to the other lab members and stir up a discussion that leads to new solutions and approaches. The projects are solved within small, usually disjoint, teams but led by lab members.
- Learning outcomes:
After completing this course, student will be able to:
- to present the state of the art of the research projects solved within the laboratory;
- present a research summary on the topics related to the areas of expertise of the laboratory. - Syllabus: The content of the seminar is formed by presentations of current status of ongoing research projects of the laboratory An inherent part of the seminar constitutes presentations of new research trends. The backbone of the seminar is formed by presentations by PhD students.
PA103 Object-oriented Methods for Design of Information Systems
zk 2/0 2 kr., podzim
- doc. RNDr. Radek Ošlejšek, Ph.D.
- Prerequisities: Knowledge of object-oriented programming principles, core knowledge of software engineering, knowledge of UML models.
- Goals:
Understand object-oriented fundamentals that are used across all the levels of OO decomposition;
Ability to select and apply suitable formal models (UML, OCL) in various levels of decomposition;
Ability to select and apply suitable patterns during a system decomposition;
Understand the term "software quality" in the context of code, object-oriented models, and software architectures; Application of tuning tactics for quality improvement; - Learning outcomes:
At the end of the course, a student should be able to:
- explain fundamentals of object-oriented design and development;
- express semantic constraints on object-oriented models by means of Object Constraint Language;
- identify "bad smells" in code and apply suitable refactoring tactics;
- explain properties of analysis, design, and architectural patterns;
- apply analysis, design, and architectural patterns to system decomposition;
- describe properties and processes related to the development of component systems;
- explain qualitative aspects of software and describe their tuning tactics; - Syllabus:
Object-oriented paradigm, object properties, principles
of abstraction and decomposition. Principles of OO analysis and design.
Models of classes, packages, and components. Interface as a contract. IDL, SWDL.
Refinement of UML semantics by means of stereotypes and OCL.
Software reuse, software patterns at various stages of the software life cycle (analysis, design, architecture, coding).
Design patterns in detail.
Analysis patterns, Java patterns, anti-patterns.
Code refactoring („refactoring to patterns“).
Software architectures, architectural patterns.
Component systems. Qualitative attributes and their evaluation.
Object-oriented methods for software development, application of UML models in RUP.
Special methods and architectures: MDD, FDD, SOA, ...
Model-Driven Architecture (MDA), employing OCL in MDA.
PA107 Corpus Tools Project
z 0/2 2 kr., jaro
- doc. Mgr. Pavel Rychlý, Ph.D.
- Goals:
The aim of the seminar is to provide students with a deeper knowledge
concerning a chosen area of corpus linguistics and practical checking
of this knowledge by working on the project. The popularisation of
corpus linguistics and other areas of language engineering is one of
the main goals of Natural Language Processing Laboratory at the
Faculty of Informatics.
Fundamental information about the Natural Language Processing Laboratory and corpus linguistics in general can be found on http://www.fi.muni.cz/nlp/. - Learning outcomes: Student will be able to: create a text corpus from different sources; use automatic tools for corpus annotation; evaluate accuracy of automatic tools; present evaluation results.
- Syllabus:
The aim of the seminar is to provide students with a deeper knowledge
concerning a chosen area of corpus linguistics and practical checking
of this knowledge by working on the project. The popularisation of
corpus linguistics and other areas of language engineering is one of
the main goals of Natural Language Processing Laboratory at the
Faculty of Informatics.
Fundamental information about the Natural Language Processing Laboratory and corpus linguistics in general can be found on http://www.fi.muni.cz/nlp/.
PA116 Domain Understanding and Modeling
zk 2/2 3 kr., podzim
- RNDr. Josef Spurný, Ph.D. - RNDr. Jaroslav Ráček, Ph.D.
- Prerequisities: The knowledge of introductory database and data modeling courses are required.
- Goals: Systematic approach to understanding of the domain in which a service system will operate based on conceptual modeling. Semantics modeling of services underlying structures.
- Learning outcomes:
At the end of this course students should be able to:
understand the step-by-step service system modeling and evaluation;
use analytical patterns in data modeling and perform component consolidation;
manage knowledge and information;
understand conceptual systems, higher-order objects, and their role in service systems design;
work with abstract data types and use OOP and connection oriented paradigm;
design conceptual and behavioral models of a given domain. - Syllabus:
Systematic approach to understanding of the domain in which a service system will operate based on conceptual modeling. Semantics modeling of services underlying structures.
Service systems and how to understand its domain
Transparent intensional logic and natural language analysis
Information, knowledge and their modeling
Concepts and objects, high order objects
HIT-attributes, definability, decomposability. Semantics and information capability
Modeling, modeling tools, modeling capability, universality principle, self-reference, MENTION-USE principle
OO approach, data abstractions, OO software construction and OO analysis. Issues in OO analysis
Connection oriented paradigm (COP). Service system domain understanding and modeling using COP approach and contexts.
PA128 Similarity Searching in Multimedia Data
zk 2/0 2 kr., jaro
- prof. Ing. Pavel Zezula, CSc.
- Goals: The objective of the course is to introduce the idea of similarity search on unstructured data and define basic similarity queries and data partitioning principles. Based on these fundamentals, the current state of the art of centralized, approximate, and distributed index structures is presented.
- Learning outcomes:
Upon successful completion of the course student will be able:
to understand principles of similarity searching;
to apply similarity searching paradigm to multimedia data;
to explain principles of index structures for multimedia data;
to implement an index structure introduced in the course. - Syllabus:
Part I Metric Searching in a Nutshell:
Foundations of Metric Space Searching
Survey of Existing Approaches
Part II Metric Searching in Large Collections of Data:
Centralized Index Structures
Approximate Similarity Search
Parallel and Distributed Indexes.
PA151 Wireless Networks
zk 2/0 2 kr., jaro
- doc. Ing. Václav Oujezský, Ph.D.
- Prerequisities: Networking principles, basic network architectures, data communication basics
- Goals:
At the end of the course students should be able
apply medium access technology for wireless links
describe and explain WPAN, Wireless Personal Area Networks, Bluetooth, Zigbee, ...
describe and explain WLAN, Wireless Local Area Networks, Wi-Fi, 802.11
describe and explain Cellular transmission principles ,GSM, GPRS, EDGE, UMTS, LTE
describe and explain WMAN, Metropolitan Networks (WiMAX/802.16) - Learning outcomes:
Students will be able to understand
medium access technology for wireless links
WPAN, Wireless Personal Area Networks, Bluetooth, Zigbee, ...
LAN, Wireless Local Area Networks, Wi-Fi, 802.11
Cellular transmission principles , GSM, GPRS, EDGE, UMTS, LTE. 5G
WMAN, Metropolitan Networks (WiMAX/802.16) - Syllabus:
Technical Background of Networking: transmission fundamantals, communication networks, protocols and protocol suites
Wireless Communication technology: antenas and propagation, signal encoding, spread spectrum, error control
Wireless Medium Access
WPAN, Wireless Personal Area Networks, Bluetooth, Zigbee, ...
WLAN, Wireless Local Area Networks, Wi-Fi, 802.11
Cellular transmission principles ,GSM, GPRS, EDGE, UMTS, LTE, 5G
WMAN, Metropolitan Networks (WiMAX/802.16)
PA152 Efficient Use of Database Systems
zk 2/0 3 kr., jaro
- doc. RNDr. Vlastislav Dohnal, Ph.D.
- Prerequisities: Knowledge of problems in the extent of course PB154 Database Systems or course PB168 Database and Information Systems.
- Goals: The aim of the course is to become familiar with the capabilities of database systems and their efficient use, namely, ways of optimizing query performance.
- Learning outcomes:
Students will be able to:
- understand the principles of relational database systems;
- analyze the performance of query processing;
- optimize processed queries both by rewriting them and by creating indexes and applying other techniques;
- Explain principles of logging and recovery from failure;
- Design basic replication strategies to achieve high availability;
- Understand the performance benefits of NewSQL systems and their principles. - Syllabus:
Introduction
Data storage: performance properties of secondary storage. Searching: index structures, sequential files, trees, hashing, multidimensional indexes.
Query execution: evaluation plan, algebraic laws, cost estimation. Algorithms implementing operators: sorting and joining relations, and their cooperation during query execution (pipelining).
Query optimization: contribution of indexes, referential integrity, materialized views, table partitioning.
Database optimization: relational schema tuning, index optimization, database monitoring tools.
Transaction management: properties and their implementation, concurrency control, scheduling, data and index locking, logging, and recovery from failures.
Database security: access rights, data security, attacks.
Spatial databases: indexes, operators.
NewSQL databases.
PA153 Natural Language Processing
zk 2/0 2 kr., podzim
- doc. Mgr. Pavel Rychlý, Ph.D.
- Goals: The course offers a deeper knowledge about the natural language processing using statistical algorithms and/or deep learning of neural networks. Working examples and applications are provided to illustrate selected methods.
- Learning outcomes:
The students will learn about practical processing of texts.
The students will be able to:
- understand text processing methods;
- design algorithms for classification of text, documents, sentences;
- understand the structure of question answering and machine translation systems;
- evaluate the quality of the natural language processing applications. - Syllabus:
text processing, tokenization, corpora
word counts, n-grams, language modeling
text classification
information extraction
tagging, parsing
information retrieval, question answering
parallel text, word alignment, machine translation
continues spaces representations
recurent neural networks for language modeling
sequence processing, transformers
neural machine translation
natural language generation, huge language models
PA154 Language Modeling
zk 2/0 2 kr., jaro
- doc. Mgr. Pavel Rychlý, Ph.D.
- Goals:
This course aims at providing the students with state-of-the-art in (mainly statistical) methods, algorithms and tools used for processing of large text corpora when they are created or subject to subsequent information retrieval.
These tools are practically used in many areas of natural language processing (semiautomatic building of text corpora, morphological analysis and desambiguation, syntactic analysis, effective indexation and search in text corpora, statistical machine translation, semantic analysis etc.). - Learning outcomes: At the end of the course students will be able to: use tools containing language models; understand the related theories and algorithms; include probabilistic models in the design of text processing applications; implement selected techniques in own applications.
- Syllabus:
Elements of Probability and Information Theory
Language Modeling in General and the Noisy Channel Model
Smoothing and the Expectation-Maximization algorithm
Markov models, Hidden Markov Models (HMMs)
Viterbi Algorithm
Tagging methods, HMM Tagging, Statistical Transformation Rule-Based Tagging
Statistical Alignment and Machine Translation
Text Categorization and Clustering
Graphical Models
Parallelization, MapReduce
PA157 Seminar on Computer Graphics Research
k 0/2 2 kr., podzim
- doc. RNDr. Barbora Kozlíková, Ph.D.
- Prerequisities: Theoretical and practical knowledge of computer graphics and visualization foundations.
- Goals: The participants of the research seminar discuss classical and current research papers related to computer graphics and visualization. Students are expected to read relevant research papers, prepare and give presentations, and engage actively in discussion during seminar hours. They get acquainted with contemporary computer graphics trends and improve their rhetorical skills.
- Learning outcomes:
At the end of the course students
- will be familiar with current trends in computer graphics and visualization research;
- will be able to prepare a sound presentation;
- will understand the broader context of traditional and new research topics in CG and visualization;
- will improve their rhetorical and presentation skills;
- will enhance their abilities to discuss non-trivial theoretical problems. - Syllabus: The study of classical and current research papers related to computer graphics and visualization. At the beginning of the semester, students are offered the selection of new research papers published at high-rank conferences on computer graphics, visualization, and related areas. The papers are selected from the latest conferences SIGGRAPH, EUROGRAPHICS, IEEE VIS, Eurovis, or similar. Students choose a research paper and then they search for a related "predecessor" paper. They prepare and give 2 presentations of research articles, the predecessor paper followed by the recent paper. Students present the latest research advances and discuss them in a broad context.
PA159 Net-Centric Computing I
zk 2/0 2 kr., podzim
- doc. RNDr. Eva Hladká, Ph.D.
- Prerequisities:
! PA191 && ! NOW ( PA191 )
PA191 is an English variant of PA159, so parallel enrollment in both courses is prohibited. - Goals:
The main goal of this course is to provide a deeper insight into the area of computer networks (behind the level of basic bachelor courses)
and to provide a complex survey of crucial protocols in computer networks (routing, IPv6, quality of service, etc.).
Graduate will learn the basic principles in the area of mobile networks, he or she will obtain an idea about their specific features from the perspective of computer networks.
Graduate will be also able to prepare and lead simple courses targeted in particular areas of computer networks and their applications. - Learning outcomes:
Graduate will be able to analyze the behavior of even complex computer networks and propose their topology as well as solutions to particular problems.
Graduate will also know the features and benefits of the IPv6 network protocol and become able to design and implement an IPv6 network.
Graduate will obtain a survey of mechanisms used for ensuring the quality of service in computer networks.
Graduate will be able to discover bottlenecks in communication systems and will be able to propose their removal/elimination.
Graduate will learn the basic principles in the area of mobile networks, he or she will obtain an idea about their specific features from the perspective of computer networks. - Syllabus:
Architecture of computer networks, ISO/OSI and TCP/IP model, IP protocol, transport protocols (TCP, UDP), basic services of computer networks -- short recapitulation.
Advanced features of IPv6 protocol: mobility and security, ICMPv6, IPv6 support in applications.
Advanced routing mechanisms: distance vector, link state and path vector routing. Router architecture. Traffic Engineering. MPLS, MPLS labels' assignment and distribution, MPLS routing.
Advanced TCP protocol features. Protocols for high bandwidth networks with high latency.
Peer-to-peer networks. Basic architectures, routing in structured and unstructured P2P systems and hybrid P2P networks.
Ad-hoc/sensor networks: history, types, data transmission principles, communication principles, routing, mechanisms for ensuring reliable communication, protocols, actual trends.
Computer networks and multimedia: multimedia applications, application demands, actual trends.
PA160 Net-Centric Computing II
zk 2/0 2 kr., jaro
- prof. RNDr. Luděk Matyska, CSc. - RNDr. Martin Kuba, Ph.D.
- Goals: The main goal of this lecture is to give insight to principles of new generation of Internet protocols at one side and to show how originally network services are becoming part of higher, application-oriented layers. Networks are presented as a basic construction brick of (large) distributed systems. These form the focus of the next part of the lecture, where their function, design, and implementation are discussed. A brief introduction into mobile computing closes the lecture.
- Learning outcomes:
The graduate will understand network protocols and will have an overview of their usability for a particular application.
The graduate will have basic orientation in the area of web and grid services, will be able to implement simple services.
The graduate will understand basics of distributed computing and the underlying network protocols and will be able to design a simple distributed system in a specified environment.
The graduate will understand work with time in the networked environment. - Syllabus:
Computer networks security: cryptography, secure computer networks machinery.Examples of typical protocols. Basic computer network attacks
and basic method of defense.
Computer network management, components, and protocol of network management (SNMP).
Distributed applications: characteristic, properties and architecture. RPC, directory services. Distributed objects principals, COM, RMI, CORBA. Web and grid services.
Distributed systems, splitting, and allocation of distributed tasks, load balancing (static, dynamic). Fault tolerance, recovery. Languages and tools for distributed systems.
Basics of network protocols design, verification.
Experiments in computer networks, simulators, and emulators.
PA163 Constraint programming
zk 2/1 3 kr., podzim
- doc. Mgr. Hana Rudová, Ph.D.
- Goals: The course provides information about constraint programming, problem modeling using constraints generally and practically in a programming language, general propagating algorithms, and main search algorithms for constraint satisfaction problems.
- Learning outcomes:
The graduate will understand how to apply a declarative approach for problem solving with the help of constraint programming.
The graduate will understand which algorithms are used for the implementation of the constraint programming approach to be able to propose a proper declarative model and proper search procedures. To achieve that graduates will learn various constraint propagation algorithms and search methods.
The graduate will be able to implement a solution to the problem using constraint programming. The graduate will be able to program using Optimization Programming Language (OPL) from IBM CPLEX CP Optimizer. - Syllabus:
- Constraint satisfaction problem. Introduction to problem modeling.
- Arc consistency.
- Path consistency.
- Constraint propagation for non-binary constraints.
- Global constraints, Optimization Programming Language OPL.
- Constraint propagation algorithms for scheduling.
- Directional consistency, graph width.
- Look-ahead algorithms, branch & bound.
- Look-back algorithms.
- Incomplete search.
-
Local search.
Seminars: Problem modeling and real-life applications. Programming with programming language OPL in IBM ILOG CP Optimizer.
PA164 Machine learning and natural language processing
zk 2/1 3 kr., podzim
- doc. Mgr. Bc. Vít Nováček, PhD
- Prerequisities: The basics of machine learning (e.g. IB031), computational linguistics (e.g. PA153) and neural networks (e.g. PV021), is assumed. The course is given in English (or in Czech depending on the audience). Task solutions can be in English, Czech or Slovak (exceptionally in another language).
- Goals: Students will obtain knowledge about methods and tools for text mining and natural language learning. At the end of the course students should be able to create systems for text analysis by machine learning methods. Students are able to understand, explain and exploit contents of scientific papers from this area.
- Learning outcomes:
A student will be able
- to pre-process text data for text mining;
- to build a system for analysis of text by means of machine learning;
- to understand research papers from this area;
- to write a technical report. - Syllabus:
Course overview, a sample text (pre)processing pipeline
Quick and dirty intro to ML
Distributional semantics, LSA, word embeddings
Deep neural networks for NLP
Language models and their applications
AutoML for NLP
Student poster session(s), including extensive feedback during the students' work and its presentation
Application example: sentiment analysis
Application example: knowledge extraction from text
Guest lecture(s) from international experts on various ML applications in the NLP field
Final project presentations
PA165 Enterprise Applications in Java
zk 2/2 3 kr., jaro
- Bruno Rossi, PhD - RNDr. Martin Kuba, Ph.D. - Mgr. Martin Štefanko - RNDr. Ing. Pavel Šeda, Ph.D. - Mgr. Petr Beran - Ing. Ivan Straka - Mgr. Tomáš Polešovský - prof. RNDr. Tomáš Pitner, Ph.D.
- Prerequisities: Knowledge of Java at the level of PB162 and PV168 courses. Basic knowledge of databases is also expected.
- Goals: Students will understand selected chapters from advanced Java-based system design and implementation; they will be aware of methodological issues of high-quality program system design and implementation and related topics; they will be able to work with the most important APIs from Java SE and the Spring framework. Students will get acquainted with team work within large enterprise software development and with system design by applying enterprise patterns.
- Learning outcomes:
Student will be able to:
- use advanced development tools for enterprise development in real life;
- apply design and implementation patterns for enterprise applications in own systems;
- write applications using persistence / ORM;
- handle the basic application security (authentication, authorization), be able to identify the basic types of attacks against the main IS;
- apply the Spring framework (AOP, dependency injection, security, transactions, Spring Boot);
- define APIs using the OpenAPI specification by defining REST controllers, using the Spring Boot framework;
- create and deploy microservices using the Spring Boot framework; - Syllabus:
Intro to large (enterprise) Java-based application and systems
Development tools (IntelliJ IDEA, Maven, Git)
Enterprise patterns (e.g., DTO, DAO)
Persistence/ORM (JPA/Hibernate)
Microservices (creation with Spring Boot, deployment in Docker, monitoring and tracing)
Security (OAuth 2, OpenID Connect, JWT)
Spring framework (AOP, dependency injection, security, transactions, Spring Boot)
REpresentational State Transfer (REST), OpenAPI
Continuous Integration / Deployment (GitLab Actions)
PA166 Advanced Methods of Digital Image Processing
zk 2/2 3 kr., jaro
- doc. RNDr. Pavel Matula, Ph.D.
- Prerequisities:
PB130
Knowledge at the level of the lecture PV131 Digital Image Processing is assumed. - Goals: At the end of the course students should be able to: understand the basics of state-of-the-art mathematically well-founded methods of digital image processing; numerically solve basic partial differential equations and variational problems of digital image processing.
- Learning outcomes: At the end of the course students should be able to: understand the basics of state-of-the-art mathematically well-founded methods of digital image processing; numerically solve basic partial differential equations and variational problems of digital image processing.
- Syllabus:
Image as a function, computation of differential operators
Linear diffusion and its relation to Gaussian blurring
Nonlinear isotropic diffusion
Nonlinear anisotropic diffusion
Variational filtering
Mathematical morphology as a solution of PDE (dilation and erosion), shock filtering
Parametric active contours (snakes)
Fast marching algorithm, basics of level set methods
Level-set methods (basic numerical schemes)
Segmentation (geodesic active contours, Mumford-Shah and Chan-Vese funkcionals)
Optical flow
Minimization based on graph-cuts
PA168 Postgraduate seminar on IT security and cryptography
k 0/2 3 kr., podzim
- prof. RNDr. Václav Matyáš, M.Sc., Ph.D. - doc. RNDr. Petr Švenda, Ph.D. - Lukasz Michal Chmielewski, PhD - Mgr. Marek Sýs, Ph.D.
- Prerequisities:
souhlas
Intermediate knowledge of IT security principles, cryptography principles. Explicit approval of the seminar supervisor must be requested in order to register this course. It is strongly suggested that Master students register this course in the last semester of their study - exceptions are approved only in case of Erasmus exchanges or research stay abroad during the last semester of studies. - Goals:
To teach the students to:
analyze security problems and solutions with a critical mind;
review and interpret a security solution or analysis presented in an advanced technical paper from a world-class conference;
evaluate IT system security and relevant functional and ethical requirements and demands;
reflect the above in their proposal for security of IT systems;
create slides and present their own research project;
prepare and present their view of most important developments in the area of security and cryptography during the past 1-2 weeks. - Learning outcomes:
Graduates of this course shall be able to:
analyze security problems and solutions with a critical mind;
review and interpret a security solution or analysis presented in an advanced technical paper from a world-class conference;
evaluate IT system security and relevant functional and ethical requirements and demands;
reflect the above in their proposal for security of IT systems;
create slides and present their own research project;
prepare and present their view of most important developments in the area of security and cryptography during the past 1-2 weeks. - Syllabus: The seminar participants will discuss a broad range of topics in IT security and cryptography in a greater depth. PhD and Master students undertaking research in these and closely related areas are expected to report on their work, on a recent top-level conference paper and on recent developments in the field. Participants from other institutions may also take part in this seminar.
PA168 Postgraduate seminar on IT security and cryptography
k 0/2 3 kr., jaro
- prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
- Prerequisities:
souhlas
Intermediate knowledge of IT security principles, cryptography principles. Explicit approval of the seminar supervisor must be requested in order to register this course. It is strongly suggested that Master students register this course in the last semester of their study - exceptions are approved only in case of Erasmus exchanges or research stay abroad during the last semester of studies. - Goals:
To teach the students to:
analyze security problems and solutions with a critical mind;
review and interpret a security solution or analysis presented in an advanced technical paper from a world-class conference;
evaluate IT system security and relevant functional and ethical requirements and demands;
reflect the above in their proposal for security of IT systems;
create slides and present their own research project;
prepare and present their view of most important developments in the area of security and cryptography during the past 1-2 weeks. - Learning outcomes:
Graduates of this course shall be able to:
analyze security problems and solutions with a critical mind;
review and interpret a security solution or analysis presented in an advanced technical paper from a world-class conference;
evaluate IT system security and relevant functional and ethical requirements and demands;
reflect the above in their proposal for security of IT systems;
create slides and present their own research project;
prepare and present their view of most important developments in the area of security and cryptography during the past 1-2 weeks. - Syllabus: The seminar participants will discuss a broad range of topics in IT security and cryptography in a greater depth. PhD and Master students undertaking research in these and closely related areas are expected to report on their work, on a recent top-level conference paper and on recent developments in the field. Participants from other institutions may also take part in this seminar.
PA172 Image Acquisition
zk 2/0 2 kr., jaro
- prof. RNDr. Michal Kozubek, Ph.D.
- Goals: In this course, the student will learn about theoretical and practical aspects of the acquisition of image data and its transformation into digital form. The focus will be on optical systems that are the most common. Particular attention is paid to the acquisition of multidimensional information. The student will gain the basic understanding of both hardware of specific detectors and transport of the data from these sensors to computer memory and representation in computer memory. Based on the gained knowledge the student will be able to choose appropriate detector for a particular application and set suitable acquisition parameters.
- Learning outcomes:
The student will be able to:
formulate basic principles of digital image acquisition;
describe characteristics of the most common imaging instruments;
describe mutual interdependencies between the essential features of imaging instruments or settings;
suggest suitable configurations for a given image acquisition task; - Syllabus:
Sources and detectors of light and other types of radiation.
Cameras (CMOS, CCD, ICCD, EMCCD) and their properties, automatic focusing.
Signal digitization and related protocols, norms and interfaces.
Sources of noise and methods of its suppression.
Optical system and its components, image formation in optical systems, microscopes and telescopes.
Optical errors and their correction.
Detection of multidimensional image data and principles of acquisition of spatial (3D), spectral and time-dependent information.
Physical and optical cuts through the object, stereo-recording, measurement of topography (elevation) of the object surface, range imaging, tomographic approaches.
Automation of image data acquisition.
PA173 Mathematical Morphology
zk 2/2 3 kr., jaro
- doc. RNDr. Petr Matula, Ph.D.
- Prerequisities: Knowledge at the level of course PB130 Introduction to Digital Image Processing is useful.
- Goals: The objective of the course is to introduce mathematical morphology theory, algorithms, and applications to students interested in digital image processing.
- Learning outcomes: At the end of the course students should be able to: understand and explain the principles of mathematical morphology methods and efficient algorithms for their computation; respect their properties and theoretical limits; demonstrate their usage on typical image analysis problems in various application fields; solve image analysis problems using mathematical morphology.
- Syllabus:
Structuring element and its decomposition
Fundamental morphological operators (erosion, dilation, opening, closing, top-hat)
Hit-or-miss transform, skeletons, thinning, thickening
Geodesic transformations and metrics
Morphological reconstructions
Morphological filters
Segmentation, watershed transform, markers, hierarchical segmentation
Efficient implementation of morphological operators
Granulometry, classification, texture analysis
PA174 Design of Digital Systems II
zk 2/0 2 kr., podzim
- doc. RNDr. Zdeněk Matěj, Ph.D. - prof. Ing. Václav Přenosil, CSc.
- Prerequisities: Course PB170 is recommended.
- Goals:
The main aim of this course is to understand and master fundamental theoretical knowledge and practical virtuosity necessary for description and for design digital systems. The lessons are specialized in particular into the following topics:
- logical algebra and function;
- design of the combination circuits;
- design of the sequential circuits;
- structural components and cores of the digital systems. - Learning outcomes:
At the end of the course, students will be able to:
- analyze the advanced digital system using logical algebra;
- design kernel for digital systems. - Syllabus:
Encoding and data representation
Logic algebra and optimization of the logical terms
Implementation arithmetical and logical operations into computer machines
Basic structural components of the digital systems
Theoretical tools for design of the combination circuits
Design of the combinational circuits
Theoretical tools for design of the sequential circuits
Design of the sequential circuits
Basic operational units of the digital systems
Operational principle and design of the basic digital systems units
Hazards of the digital systems
Digital systems cores
Design systems and simulation of the digital systems
PA175 Digital Systems Diagnostics II
zk 2/0 2 kr., podzim
- prof. Ing. Václav Přenosil, CSc. - doc. RNDr. Zdeněk Matěj, Ph.D.
- Prerequisities: Courses PA174 and PB170 od PB171 are recommended.
- Goals:
The main aim of this course is to understand and master the fundamental theoretical pieces of knowledge of the technical system reliability theory.
The lessons are specialized in particular into the following topics:
- theory of the technical system's reliability,
- theoretical and operative diagnostic of the digital systems,
- reliability of the Man-Machine systems,
- principles, models, and applications of the redundancy. - Learning outcomes: Students will be able to reason about and design solutions relating to the reliability of embedded systems.
- Syllabus:
Theory of the reliability
Hardware and software reliability of the digital systems
Definition of the reliability, classification of the failures
Numerical parameters of the reliability
Reliability evaluation of the electronics devices
Grounding notations of theoretical and technical diagnostics
Failures model of the technical systems
Assembly methods of the combination and sequential logic circuits tests
Fundamental procedures of the easily tested circuits
Fundamental procedures of the fault-tolerant systems - checking of the failure-free activity, relaxation after failure, reconfiguration, depletion of the operation
Methods and models of the redundancy
Fundamental of the technical systems predicting diagnostics
Hardware and software functionality checking tools of the digital system
Hardware and software diagnostics tools of the digital systems
Microprocessors systems testing and ROMBIOS
PA176 Architecture of Digital Systems II
zk 2/0 2 kr., jaro
- doc. RNDr. Zdeněk Matěj, Ph.D. - prof. Ing. Václav Přenosil, CSc. - Ing. Jan Král, Ph.D.
- Prerequisities: Course PV172 is recommended.
- Goals:
The main aim of this course is to understand and master theoretical knowledge and practical virtuosity necessary for design high-performance digital systems. The lessons are specialized in particular into the following topics:
- application of the modern design components;
- the methodology of the modular systems;
- connecting with external devices. - Learning outcomes:
At the end of the course, students will be able to:
explain the principle of assembling powerful and functionally;
reliable digital system structures;
design a reliable digital system using contemporary design elements;
work with external devices connected to digital systems;
work with the MIPS instruction set; - Syllabus:
Digital computer main parts - sequencer
Digital system structure
Operational memory addressing methods
Operational and CACHE memory structure, operation principles
Microprocessor structure, Interruption system principles
Direct memory access principles
Digital processing chain
Digital signal processing methods
Signal spectra estimation methods
Analog – digital converters
Digital- analog converters
Input – output devices
Power supply unit, switch - mode power supply
Primary power supply, battery, accumulators
PA179 Project Management
zk 1/1 2 kr., jaro
- RNDr. Jaroslav Ráček, Ph.D. - RNDr. Josef Spurný, Ph.D.
- Prerequisities: No pre-requisities.
- Goals: The course focuses on:
- pre-project phases and project default settings
- project planning and resource allocation
- project risk management
- quality management
- phase of project termination
- process-oriented and competency-oriented PM techniques
- Learning outcomes: At the end of this course, students should be able to:
- distinguish between good and poor project management practice;
- understand most used PM standards and PM best practices;
- use the principles of selected PM techniques in practice;
- design a simple project and write its documentation;
- Syllabus:
- Introduction to PM
- PM life cycles
- Risk management
- Project modeling (WBS, Gantt)
- Network diagrams techniques (PERT, CPM)
- Project closure Quality assurance
- Testing
- Inspections
- Metrics
- QA standards Project management standards
- Process based (PMI Project Management Body of Knowledge, PRINCE 2)
- Competence based (IPMA Competence Baseline) Examples from project management practice
PA181 Services - Systems, Modeling and Execution
k 0/1 3 kr., jaro
- Ing. Leonard Walletzký, Ph.D. - RNDr. Josef Spurný, Ph.D.
- Prerequisities:
Domain Understanding and Modeling
Introduction to Service Science - Goals: Practical seminars on the design of Service Systems applications. The aim of the course is to present how to design and prepare practical applications that meet requirements of Service Systems in comlex service environment. Course is organized in seminar form and relatively high level of student's team autonomy is expected.
- Learning outcomes: At the end of the course students should be able to: make reasoned decisions about service system design and service system innovation; work with information in given business domain; formulate value propositions.
- Syllabus: Service Systems Basics & Service Systems Engineering & Application as Service System & Application as Part of Service System & Application Domain Understanding & Application Domain Conceptual Modeling & Use Cases Analysis and Design & Application Goals Specification & Business Models Preparation & Service System Assembly, Production and Services Execution & Service system verification and validation & Finding application fields for new technologies & Service system design as a project or program & Service execution as a project within a portfolio
PA182 Managing in Reality
k 2/0 2 kr., podzim
- Ing. Michala Kozinová
- Prerequisities:
SOUHLAS
- Goals: This course will be about 50% ONLINE via Zoom and 50% in the classroom - to be specified for each lecture separately. The course objectives is to offer students different perspectives of a variety of experienced and successful leaders on: - How to start your own business - Where and how to get money for your startup - How to increase your chances for landing your dream job - How to approach money negotiations (possible structures of compensation package) - How to select people for your team - The best approach to product management - How to build relationships with the customers - How to do marketing so it converts into new clients and profit - How to motivate your teams - How to navigate the corporate world - How to maintain a healthy work-life balance And lots insights and inspirational personal stories of highly successful people. This is an interactive course led by Executive Coach and Teacher of Coaches Misa Kozinova who not only has 20 years of leadership experience in IT/Telco, but also coaches and mentors C-level executives in startups and scaleups. Many of her clients, such as VP of Engineering and Head of Product Management in Kiwi.com, Chief Finance Officer at Mews, CEO of Safetica, Head of People at Slido, CTO at Longevity.guide, C-level exec at Rohlik and many others will speak about their career journey, the hurdles they had to overcome and what it means to "manage in reality" from their perspective. You will have a unique chance to steer the discussion by asking questions. The students will identify the essentials for successful business management - the focus needed, and the skills in balancing customer, employee and business in ever changing environment.
- Learning outcomes: At the end of the course students will be able to: - get an insight into what it takes to start and grow the business, - understand the power of networking, how to start and what to watch for when starting the business or joining a company, - be inspired by and get the mindset that is necessary to succeed, - understand the high level picture of what it takes to manage in reality, whether it is creating a start-up from an idea, through getting financing for the idea, pitching, creating an MVP and keys to product management, managing people through growth, or managing people in bigger teams or corporations, - understand how to ask for a promotion or salary raise.
- Syllabus: THE COURSE WILL BE RUN ONLINE and IN CLASS The default set up is online via zoom, the in-class lectures will be announces via university email. The first lesson will be introductory, in the lessons to follow there will be a guest you can interview. We will talk with successful leaders that will guide us through all stages of the company, from solo-prenneurship to startup, scale-up, and corporation. We will have the unique opportunity to talk to the C-level and VP of different companies in various stages of growth. We will talk to the head of product, engineering, finance, HR, ... This course is discussion based and requires critical thinking. It is not "push" presentations and therefore IT IS NOT ultra structured. The students will be exposed to various presentation styles of different speakers. Michala will facilitate and steer the conversation so that the key points get delivered. The students have, however, a unique chance to be the co-authors of the course and get the best of each of the very interesting guests.
PA183 Project in Systems Biology
k 0/0 2 kr., podzim
- doc. RNDr. David Šafránek, Ph.D.
- Prerequisities: The subject requires knowledge of elementary modeling and simulation methods for biological systems dynamics. Previous undertaking of the related subjects PB050 and PA054 is welcome, but not necessary. Students who finished laboratory exercises of PV225 can use the obtained data for development of a related in silico model.
- Goals:
At the end of the course students should be able to:
search in public databases of biological knowledge;
create an in silico model of a biological system;
apply methods of computational systems biology to model analysis;
predict hypotheses regarding emergent properties of the modeled biological system. - Learning outcomes:
At the end of the course students should be able to:
use public databases of biological knowledge;
construct an in silico model of a biological system;
apply methods of computational systems biology to model analysis;
infer hypotheses regarding emergent properties of the modeled biological system. - Syllabus:
Overview of key notions
Setting of project topics
Project realization
Final student presentation
PA187 Project managment and project
z 1/0 3 kr., jaro
- RNDr. Jaroslav Ráček, Ph.D.
- Prerequisities:
( typ_studia ( N ) && ! semestr ( 1 )) || SOUHLAS
These prerequisites can be replaced by a request for an exception stating the extent to which you have knowledge of the courses. - Goals: The course aim is to make students experience a real work on a specified complex software, where student's primary task is to develop a specific functionality. They will also be responsible for the integration of the programming results into the production version of the software involved, and the role of a technical team leader. The teaching of the course will be connected with the teaching of the bachelor's course PB175 Project Management and Project. Unlike PB175, however, PA187 students will be expected to fulfill more senior roles in joint teams.
- Learning outcomes:
After successful completion student will be able:
- to understand a complex project specification and orient in a complex code
- to effectively manage a team to develop and test (validate) specified functionality in accordance with the project specification
- to integrate results (code) into a production version of the software involved
- to document and pass over results of her work in a form that allows taking over by another developer or team (developing the same software product) - Syllabus:
Time steps:
- Selection of the project from a provided list or accepted student's project specification proposal
- Team work on the project
- Regular consultations with the technical supervisor
- Regular consultation with a faculty supervisor (assigned whem the technical supervisor is not a faculty)
- Final project report (text and code), formally accepted by the teacher.
PA190 Digital Signal Processing
zk 2/0 2 kr., jaro
- Ing. Zdeněk Kohl, CSc. - prof. Ing. Václav Přenosil, CSc.
- Goals: To introduce the fundamentals of digital signal processing and related applications. This course will cover linear system analysis, z-transform, discrete Fourier transform (DFT) and its applications, FFT algorithms, digital filter (FIR and IIR) design, and multi-rate signal processing.
- Learning outcomes:
Students will:
understand principles of digital signal processing be able to design algorithms to process signals understand the way Fourier transformation is used to process signals. - Syllabus:
1) An Introduction to digital signal processing (DSP), signals and their types
2) Continuous and discrete-time signals, their spectrum, analog-to-digital and digital-to-analog conversion, sampling theorem
3) Analog signals, analog systems, discrete-time signals, discrete-time systems, analysis of discrete-time LTI systems, correlation of discrete-time signals
4) Z-transform, properties of the Z-transform, rational z-transforms, inversion of the Z-transform, analysis of LTI systems in the z-domain
5) Frequency-analysis of continuous-time signals, frequency analysis of discrete-time signals, properties of the Fourier transform for discrete-time signals, frequency-domain characteristics of LTI systems
6) Frequency-domain sampling: The DFT, properties of the DFT, Linear-filtering methods based on the DFT, frequency analysis of signals using the DFT
7) Efficient computation of the DFT: FFT algorithms
8) Estimating the frequency of the dominant harmonic signal
9) Basic principles of the digital filter realization as a discrete model of analog filtering
10) Structures for the realizations of discrete-time systems, structures for FIR systems, structures for IIR systems, quantization and round-off effects in digital filters
11) Design of digital filters, design of FIR filters, design of IIR filters from analog filters, frequency transformations, design of filters based on least-squares method,
12) Introduction of the MATLAB Signal Processing Toolbox
PA191 Advanced Computer Networking
zk 2/0 2 kr., podzim
- doc. RNDr. Eva Hladká, Ph.D.
- Prerequisities:
! PA159 && ! NOW ( PA159 )
PA159 is a Czech variant of PA191, so parallel enrollment in both courses is prohibited. - Goals: The main goal of this course is to provide a deeper insight into the area of computer networks (behind the level of basic bachelor courses) and to provide a complex survey of crucial protocols in computer networks (routing, IPv6, quality of service, etc.). Graduate will be able to analyze the behavior of even complex computer networks and propose their topology as well as solutions to particular problems. Graduate will also know the features and benefits of the IPv6 network protocol and become able to design and implement an IPv6 network. Graduate will obtain a survey of mechanisms used for ensuring the quality of service in computer networks. Graduate will be able to discover bottlenecks in communication systems and will be able to propose their removal/elimination. Graduate will learn the basic principles in the area of mobile networks, he or she will obtain an idea about their specific features from the perspective of computer networks. Graduate will be also able to prepare and lead simple courses targeted in particular areas of computer networks and their applications.
- Learning outcomes:
Graduate will be able to analyze the behavior of even complex computer networks and propose their topology as well as solutions to particular problems.
Graduate will also know the features and benefits of the IPv6 network protocol and become able to design and implement an IPv6 network.
Graduate will obtain a survey of mechanisms used for ensuring the quality of service in computer networks.
systems and will be able to propose their removal/elimination.
Graduate will learn the basic principles in the area of mobile networks, he or she will obtain an idea about their specific features from the perspective of computer networks. Graduate will be able to discover bottlenecks in communication - Syllabus:
Architecture of computer networks, ISO/OSI and TCP/IP model, IP protocol, transport protocols (TCP, UDP), basic services of computer networks -- short recapitulation.
Advanced features of IPv6 protocol: mobility and security, ICMPv6, IPv6 support in applications.
Advanced routing mechanisms: distance vector, link state and path vector routing. Router architecture. Traffic Engineering. MPLS, MPLS labels' assignment and distribution, MPLS routing.
Advanced TCP protocol features. Protocols for high bandwidth networks with high latency.
Peer-to-peer networks. Basic architectures, routing in structured and unstructured P2P systems and hybrid P2P networks.
Ad-hoc/sensor networks: history, types, data transmission principles, communication principles, routing, mechanisms for ensuring reliable communication, protocols, actual trends.
Computer networks and multimedia: multimedia application demands, actual trends
PA192 Secure hardware-based system design
zk 2/2 5 kr., podzim
- prof. Ing. Václav Přenosil, CSc. - Ing. Jan Král, Ph.D. - doc. RNDr. Zdeněk Matěj, Ph.D.
- Prerequisities:
• Design of digital systems:
- encoding and data representation,
- logic algebra and optimization of the logical terms,
- implementation arithmetical and logical operations into digital systems.
• Architecture of digital systems:
- operational memory addressing methods,
- interruption system principles,
- direct memory access principles,
- input / output devices.
• Digital systems dependability:
- basics of probability theory and statistics. - Goals: The course is focused on architectures of secure digital systems, to ensure reliability, dependability, and security of digital systems, assess and learn how to design safe and reliable digital systems. The course will present common problems and design of secure digital systems on real-world examples.
- Learning outcomes: Upon completion of this course, students will have an overview of the architecture of secure digital systems.
- Syllabus:
1) Design of the Digital Systems:
i) design elements of digital systems,
ii) design of the combinational circuits,
iii) design of the sequential circuits.
2) Design of the Digital Systems:
i) digital systems cores,
ii) design systems and simulation of the digital systems.
3) Architecture of Digital Systems:
i) overview of microcontrollers, programmable arrays and DSP,
ii) a/d and d/a converters,
iii) digital signal processing methods.
4) Digital Systems Dependability:
i) reliability evaluation of the electronics devices,
ii) failures model of the technical systems,
iii) methods and models of the redundancy,
iv) Markov reliability and availability models.
v) fault tolerant systems.
5) Digital Systems Testing:
i) design of test step,
ii) design detection and localization tests,
iii) fault-tolerant systems,
iv) checking methods.
6) Controls to manage the reuse of logic:
i) implementing a state machine to direct data flow in case of more complex variations to the input of a resource.
7) Sharing logic resources:
i) different resources are shared across different functional boundaries.
8) The impact of RESET:
i) an improper reset strategy can create an unnecessarily large design or makes synthesis and optimization tools ineffective,
ii) Design without RESET capability, design without SET capability, design without asynchronous RESET capability,
iii) Impact of RAM RESET,
iv) Optimization using set/reset pins for logic implementation.
9) Protection of HW against reverse engineering.
PA193 Seminar on secure coding principles and practices
z 0/2 3 kr., jaro
- Lukasz Michal Chmielewski, PhD
- Prerequisities:
( PV286 || NOW ( PV286 ) ) && SOUHLAS
Basic knowledge in applied cryptography and IT security, practical experience in programming with C/C++ language, basic knowledge in formal languages and compilers, user-level experience with Windows and Linux OS - Goals: At the end of this course the student will understand what the typical security issues related to secure coding are. The student will also be able to design applications and write programs in C/C++, Java and other languages in a more secure way.
- Learning outcomes:
After a course completion, the student will be able to:
- able to review source code for typical security bugs;
- able to properly check and sanitize check program input data;
- able to use standard tools for static and dynamic code analysis and interpret results;
- able to describe typical bugs from concurrent program execution and write code without it;
- able to apply systematic methods to produce code with better resiliency against bugs;
- understand basic cryptographic primitives and their proper use in source code; - Syllabus: Language level vulnerabilities, secure programming techniques and approaches, input processing, static and dynamic code checking, binary defenses and exploits, security testing, integrity of modules, concurrent issues, random number generation and usage, security primitives, security code review.
PA194 Introduction to Service Science
zk 2/0 2 kr., podzim
- Ing. Leonard Walletzký, Ph.D. - RNDr. Josef Spurný, Ph.D.
- Goals: The course is focused to the presentation of basic elements and contexts of the Service Science field. Withal it’s concept is built to understand the problem of Service Science in higher complex of circumstances – economics, social and particularly IT . The course emphasizes the role of IT in the field of services.
- Learning outcomes:
Students will understand:
- the basic of the Service Dominant Logic concept
- the methodology of Service Thinking and Service Design
- consequences related to assymetric information theory
- examples of the application os service approach in IT domian
- concepts of advanceds service modelling - Syllabus:
Introduction
Goods and Service Dominant Logic
Role of information in in GDL and SDL
Service systems and imperfect information
Service system
Dual service system
Dynamic service system
IT in SDL
Software as a Service
Marketing concepts in SDL
Service Science, Management and Engineering
PA195 NoSQL Databases
k 2/1 3 kr., podzim
- doc. RNDr. Vlastislav Dohnal, Ph.D.
- Prerequisities:
PB154 || PB168
Ability to log in to Linux PCs in the faculty's computer room, and be able to operate text "terminal". - Goals: The course covers: 1) the principles behind the NoSQL databases, such as chapters from modern distributed database theory, P2P indexing or the MapReduce programming model; 2) architectures and common features of the main types of NoSQL databases (key-value stores, document databases, column-family stores, graph databases); 3) detailed description of selected NoSQL database systems including practical experience; 4) other topics related to Big Data and non-relational databases (data analytics, DB in web browser, influence of NoSQL to relational databases, etc.)
- Learning outcomes:
After the course, students will:
- understand the principles behind the NoSQL databases;
- know architectures and common features of the main types of NoSQL databases (key-value stores, document databases, column-family stores, graph databases);
- know in detail several selected NoSQL database systems including practical experience;
- know about other topics related to Big Data and non-relational databases (data analytics, DB in web browser, influence of NoSQL to relational databases, etc.) - Syllabus:
Why NoSQL, Principles, Taxonomy.
Distribution Models, Consistency in Distributed Databases.
MapReduce + Hadoop.
Key-Value Stores, practical experience with Riak & Infinispan.
Document Databases, practical experience with MongoDB & PostgreSQL.
Column-family Stores, practical experience with Cassandra.
Graph Databases, practical experience with Neo4J.
Other topics related to Big Data and non-relational databases (data analytics, DB in web browser, influence of NoSQL to relational databases, etc.).
PA197 Secure Network Design
zk 2/0 3 kr., jaro
- prof. RNDr. Luděk Matyska, CSc. - doc. RNDr. Eva Hladká, Ph.D. - Mgr. Marek Sýs, Ph.D.
- Prerequisities:
PA191 || PA159 || PA151
Basic knowledge of computer networks. Basic knowledge in applied cryptography and IT security. User-level experience with Windows and Linux OS, ability to configure tools and/or interfaces. Practical experience in programming with imperative languages like C/C++ or Java. - Goals: At the end of the course the students will be able to: understand the methods and technologies that are at the base of secure network design; design architecture of network; deploy securely sensor networks.
- Learning outcomes: At the end of the course the students will be able to: understand the methods and technologies that are at the base of secure network design; design architecture of network; deploy securely sensor networks.
- Syllabus: Basic design requirements and principles (basic network architecture and functions, general requirements on the security and reliability). Network specific faults, threats, and attacks. Security architectures (Secure and resilient routing, secure DNS, secure channels, trusted network access, resilient architectures). Operational security management – how to design and manage reliable networks. Network monitoring and defence mechanisms (firewalls, IDS, netflow). Penetration testing. WiFi networks and security. (Wireless) personal area networks. Wireless Sensor Networks (WSN). Cryptographic aspects of WSN.
PA199 Game Engine Development
zk 2/1 3 kr., podzim
- Mgr. Jiří Chmelík, Ph.D. - Mgr. Marek Trtík, Ph.D.
- Prerequisities:
PV255
The knowledge of programming in C++. The basic knowledge of GPU programming in the scope of PV112 Computer Graphics API. The knowledge of computer graphics fundamentals. The interest in the area of computer game development is expected. - Goals: The aim of the course is to extend and deepen students' knowledge and experience in the area of digital games development. Lessons will cover topics such as game engine architecture, physics in games or procedural generation. Practical experience should be gained via a semestral project.
- Learning outcomes:
At the end of the course students will be able to:
demonstrate an understanding of the main mathematical and programming concepts used in computer game development;
design and implement a digital game ``from scratch'' (i.e. not using a game engine), including mathematical and physical model, 3D rendering and a simple user interface; - Syllabus:
Game engine architecture;
Rotations and quaternions;
Particle system dynamics;
Collision detection;
Motion of rigid bodies;
Forward and inverse kinematics;
Fluid simulation;
Virtual environments and interaction techniques;
PA200 Cloud Computing
k 2/0 2 kr., jaro
- RNDr. David Gešvindr, Ph.D.
- Prerequisities:
PA165 || PV179 || PV260
- Goals: The aim of the course is to introduce students to both theoretical and practical aspects of software architecture design of PaaS cloud applications and develop critical thinking that will allow them to estimate impacts of architectural decisions on the overall quality of the designed application early during the development lifecycle. Students will also gain experience with implementing cloud applications using existing cloud services offered by multiple public cloud providers (Microsoft Azure, Amazon Web Services) and automating testing, deployment, and monitoring of cloud applications.
- Learning outcomes:
At the end of the course, students will:
- understand different aspects of software quality relevant to the cloud (quality attributes related to performance, scalability, availability, and costs);
- be familiar with design patterns and software architectures (e.g., microservices, serverless) applicable for the design of PaaS cloud applications;
- be able to design and implement cloud applications that fulfill both functional and non-functional requirements;
- have practical experience with implementation and deployment of PaaS cloud application using various public cloud services - Syllabus:
1. Overview of cloud computing and cloud service delivery models
2. Challenges of cloud application design and related quality concerns
3. Cloud design patterns
4. Microservices in the cloud
5. Serverless applications
6. Compute services
7. Storage services
8. Integration/communication services
9. Monitoring, benchmarking, and troubleshooting cloud applications
10. Building cloud CI/CD pipeline
11. Security and Identity Management in the cloud
12. Data Analytics and AI in the cloud
13. IoT solutions in the cloud
PA211 Cybersecurity Operations
zk 1/2 3 kr., jaro
- doc. Ing. Pavel Čeleda, Ph.D. - doc. RNDr. Jan Vykopal, Ph.D.
- Prerequisities:
PB177 || PV276
The course is offered only to master students. - Goals: The general objective of the course is to introduce topics of cybersecurity operations in an organization. The course covers specific knowledge and skills required for the work role of Cyber Defense Infrastructure Support Specialist (PR-INF-001), Systems Security Analyst (OM-ANA-001), and Vulnerability Assessment Analyst (PR-VAM-001) as defined by the NICE Cybersecurity Workforce Framework (see https://niccs.cisa.gov/workforce-development/cyber-security-workforce-framework/).
- Learning outcomes:
At the end of the course, a student should be able to:
conduct vulnerability scans and recognize vulnerabilities in systems and applications,
conduct authorized penetration testing on enterprise network and applications,
apply selected countermeasures to harden (secure) networks, operating systems, and applications. - Syllabus:
Asset management.
Vulnerability management.
Threat management.
Penetration testing – introduction, process, report and presentation.
Hardening of operating system, and applications.
PA212 Advanced Search Techniques for Large Scale Data Analytics
zk 2/0 2 kr., jaro
- doc. RNDr. Jan Sedmidubský, Ph.D. - prof. Ing. Pavel Zezula, CSc.
- Prerequisities: Knowledge of the basic principles of data processing is assumed.
- Goals: The objective of the course is to explain the problems of information retrieval in large collections of unstructured data, such as text documents or multimedia objects. The main emphasis will be on describing the basic principles of distributed algorithms for processing large volumes of data, e.g., Locality Sensitive Hashing, MapReduce, or PageRank. The algorithms for processing stream data will be introduced as well. The students will also acquire practical experience by applying the presented algorithms to specific tasks.
- Learning outcomes: After completing the course, students are able to:
- Describe algorithmic-based differences between processing offline data collections and online data streams;
- Understand the basic principles of distributed algorithms for processing large volumes of data;
- Evaluate the results of algorithms by several metrics;
- Apply presented algorithms, such as k-Means, Locality Sensitive Hashing, MapReduce, or PageRank, to specific tasks.
- Syllabus:
- Introduction – what is searching, things useful to know
- Support for distributed processing – distributed processing, MapReduce, performance evaluation
- Retrieval operators and metrics – common similarity search operators, retrieval metrics for evaluating search results
- Clustering – clustering in Euclidean and non-Euclidean spaces; hierarchical, k-means, and BFR clustering algorithms
- Finding frequent item sets – counting frequent items; A-Priori and PCY algorithms
- Finding similar items – near-neighbor search, shingling of documents, min-hashing, Locality Sensitive Hashing
- Processing data streams – sampling data from a stream, queries over sliding windows, filtering a stream
- Link analysis – PageRank, topic sensitive PageRank, link spam
- Search applications – advertising on the web, recommender systems
PA213 Advanced Computer Graphics
zk 2/0 2 kr., jaro
- RNDr. Jan Byška, Ph.D. - doc. RNDr. Barbora Kozlíková, Ph.D. - Mgr. Marek Trtík, Ph.D.
- Prerequisities: Understanding algebra and geometry is required, along with proficiency in computer graphics fundamentals (covered in courses PB009 Principles of Computer Graphics and PA010 Intermediate Computer Graphics) and basic GPU programming skills (covered in courses PV112 Computer Graphics API and PV227 GPU Rendering).
- Goals: This course aims to equip students with a thorough understanding of advanced computer graphics techniques. Through a blend of theoretical lectures and hands-on programming projects, students will develop the essential skills to create and deploy diverse computer graphics solutions.
- Learning outcomes:
At the end of the course, students will be able to
- understand the theoretical concepts of modern computer graphics;
- assess the complexity of computer graphics algorithms;
- implement algorithms in various application areas. - Syllabus:
Fluid Simulations
Terrain Rendering
L-Systems and Fractals
Volumetric Rendering
BRDF, BSDF, Monte Carlo Path Tracing
Rational Curves and Surfaces
General-Purpose Programming on GPUs
PA214 Visualization II
zk 2/0 3 kr., jaro
- doc. RNDr. Barbora Kozlíková, Ph.D. - RNDr. Vít Rusňák, Ph.D.
- Prerequisities:
PV251
Knowledge of basic visualization principles and techniques, taught in the PV251 Visualization I course. - Goals:
The course should extend the knowledge of students in visualization and its specific usage in different domains. The students will understand the principles of the main visualization disciplines - information visualization, scientific visualization, and visual analysis. These will be demonstrated on real application scenarios from different fields - medical, molecular, environmental visualization, etc.
By presenting and analyzing the latest papers in this field, the students will obtain a solid overview of the current research topics in visualization. - Learning outcomes:
- Knowledge of the principles of information visualization, scientific visualization, and visual analysis
- Overview of the application domains and domain-specific tasks and problems, capability to analyze these problems
- Understanding research papers in visualization
- Capability to complete own visualization project - from initial data and problem analysis to the design of a solution and final implementation. - Syllabus:
Visualization - main topics and challenges (summarizing the basic information about visualization)
Visualization process - from analysis and design to realization
Information visualization principles and examples
Scientific visualization principles and examples
Visual analysis (VA) principles and examples
Medical and molecular visualization and VA
Environmental and geovisualization and VA
Volumetric visualization and VA
PA215 Game Design I
zk 2/0 2 kr., podzim
- Mgr. et Mgr. Zdeněk Záhora - Mgr. Jiří Chmelík, Ph.D.
- Prerequisities: The course is designed for beginners, although the rich knowledge of (digital) games is considered to be an advantage. The course is taught in English.
- Goals: The aim of the Game Design I. course is to (a) develop the ability to critically analyse digital and board game rules and structure and (b) to teach students practical methods of rapid paper prototyping of gaming systems. These two building blocks support the main objective of the course which is (c) to improve students skill in designing games.
- Learning outcomes:
Student will be able to:
- design simple games
- create paper game prototypes
- analyze and change rules of (digital) games
- understand game design processes in game development environments
- determine the type of target player and perceive the differences between the different experiences that games can stimulate
- design and perform tests to verify game qualities for the target audience
- to describe the creative possibilities of (non) digital games as a unique medium, i.e. as both a technology and a creative instrument.
Course outcome:
- 1x text: analysis of a specific (digital) game and/or game mechanic | solo work
- 1x design: board/digital game design | solo work
- 1x game: board/digital game prototype | teamwork - Syllabus:
-- WORKSHOPs - Board Game Design (once every 3 weeks during the course)
-- DISCUSSION - With A Professional Game Designer (one of the weeks during the course - operationally)
TOPICS:
-- (Digital) Games, Game Design, Game Design Myths
-- Role of a Game Designer, Typology of Players
-- Creative Process, Fundamentals of Game Design
-- Ludemes, Game elements
-- Rules, Goals
-- Game vs. Play vs Gameplay | vs Toy vs Puzzle
-- Gameplay Deconstruction, Game Analysis
-- Playtesting, Focustesting
-- Game Balancing, Difficulty
-- Narrative Game Design
PA216 Game Design II
zk 2/0 2 kr., jaro
- Mgr. et Mgr. Zdeněk Záhora - Mgr. Jiří Chmelík, Ph.D.
- Prerequisities:
PA215
The course builds on the PA215 Game Design I. If needed, permission may be considered but only after prior personal consultation and debate over the content of the previous course. The course is taught in English. - Goals:
The aim of Game Design II. is to (a) enhance the knowledge and applied the use of (digital) games language, (b) analyze complex design techniques and specific features of digital games, and (c) develop the ability to connect individual elements of (digital) games to interrelated dependencies.
The main objective of the course is (d) to train and develop students skills in designing games. - Learning outcomes:
Student will be able to:
- design more complex games
- understand the complex interdependence of game elements
- analyze and change the overall gaming experience of (digital) games
- understand and explain advanced game design practices
- based on design documentation to detect contradictions in the design and to prevent potential production barriers
- better understand player experience and test design hypotheses on a group of players
Course outcome:
- 1x text: review of the game design publication | solo work
- 1x design: digital game design | solo work
- 1x game: polished board/digital game prototype | teamwork - Syllabus:
-- RHYTHM - bi week rhythm talk x workshop
-- DISCUSSION - With A Professional Game Designer (during the course - operationally) 1-3x
TOPICS:
-- Game Design Ontology
-- Game Loops, Game Hooks, Game Anchors
-- Game Design Unit
-- Semiotics, Abstract Analysis in Games
-- Emergent Systems and Gameplay
-- Pleasure, Boredom, Anxiety, Challenge
-- Level Design and Balancing
-- Narrative Design and Production Scaling
-- From cheats to modifications and (fan) communities
PA217 Artificial Intelligence for Computer Games
zk 2/0 2 kr., jaro
- doc. Mgr. Hana Rudová, Ph.D.
- Prerequisities:
PV255 || SOUHLAS
For completion as an examination, the base knowledge of Unity is required. If PV255 is not successfully passed, the student must demonstrate a representative set of projects solved in Unity. Based on that, course enrollment is confirmed or not. The projects should be sent to the teacher by the beginning of the semester (or in the first week of the semester).
For completion as a colloquium, the prerequisite of PV255 is not required for the course enrollment (agreement is guaranteed). - Goals: The course provides information about methods of artificial intelligence used for the development of computer games. Students will learn about data structures and algorithms from artificial intelligence needed for movement, pathfinding, decision making for a single character, strategy, and tactics. Students passing the course using the examination will have practical experience with AI programming.
- Learning outcomes:
The graduate will be able to apply artificial intelligence algorithms and approaches in computer games.
The graduate will learn how to propose and implement the movement of AI characters in games.
The graduate will learn the basics of search algorithms, how to represent worlds in games, and how to process and implement path planning in games.
The graduate will understand principles and approaches for the decision making of a single AI character and will be aware of the principles and ideas behind strategic and tactical behaviors for groups of AI characters.
The graduate will learn what the base algorithms behind board games are.
When passing the course using the examination, the graduate will know how to implement artificial intelligence algorithms in the game engine by coding in Unity. - Syllabus:
Introduction and history.
Movement: kinematic movement, steering behaviors, combining steering behaviors.
Search and pathfinding: introduction to search algorithms, A* data structures and heuristics, world representation, hierarchical pathfinding.
Decision making for a single character: decision trees, state machines, behavior trees, fuzzy logic, Markov systems, goal-oriented behavior, rule-based systems, blackboard architectures, action execution.
Strategy and tactics: tactical waypoints, tactical analyses, tactical pathfinding, coordinated action.
Board games: minimaxing, transposition tables, Monte Carlo search.
Implementation of AI algorithms in Unity.
PA220 Database systems for data analytics
zk 2/0 2 kr., podzim
- doc. RNDr. Vlastislav Dohnal, Ph.D.
- Prerequisities: Knowledge of relational database systems, query and transaction processing and principles of indexing, preferably in the scope of PB154 or PB168 courses or their equivalents from other universities.
- Goals: To get acquainted with the possibilities of database systems and their use for data analytics: design and implementation of data warehouses; query languages and tools for integration with external computing and analytics platforms; analytical databases.
- Learning outcomes: Student will be able to: - understand the principles of data warehouses; - describe typical examples of data warehouse use-cases; - design a data warehouse; - create a solution to analytical tasks.
- Syllabus:
Introduction to data warehouses and business intelligence.
Data modeling for data warehouses: dimensions, facts.
Data warehouse lifecycle.
Data warehouse creation processes: ETL.
Data warehouse applications: sales, CRM.
Analytical databases.
Languages for analytical tasks.
Big data analytics.
PA221 Hardware description languages
k 0/2 3 kr., jaro
- RNDr. Ondřej Herman - doc. RNDr. Zdeněk Matěj, Ph.D.
- Prerequisities: Course PV200 is recommended.
- Goals: Within this course the students will obtain deeper knowledge on the field of programmable structures (e.g. FPGAs) and SoC (System on Chip) and get familiar with advanced methods of hardware design using hardware description languages. VHDL is used to demonstrate most of the principles.
- Learning outcomes:
Graduates of this course will be able to:
- understand advanced FPGA principles;
- understand the programming language VHDL;
- design systems with SoC;
- program application for SoC. - Syllabus:
• VHDL – concepts, basic syntax, abstraction levels, design hierarchy
• desig with SoC FPGA in VHDL or Verilog
• FPGA design - high speed design, best practice
• prefabricated components – IP cores, Megafunctions
• ethernet with FPGA
• sofcore computing – NIOS2 processor system
• PCB design for FPGA
• practical tasks in Quartus II suite.
PA228 Machine Learning in Image Processing
zk 2/2 4 kr., jaro
- doc. RNDr. Petr Matula, Ph.D.
- Prerequisities: It is recommended to have a basic knowledge of image processing (at least at the level of course PB130), the knowledge of neural networks at the level of course PV021, and basic knowledge of Python.
- Goals: The objective of the course is to introduce approaches for solving common image processing problems using machine learning methods.
- Learning outcomes: At the end of the course students should be able to: understand, use, and evaluate machine learning models in the area of image processing; know how to employ pre-trained models using transfer learning; how to deal with big datasets that do not fit available memory; and how to prepare data to get relevant results.
- Syllabus:
Image classification
Object detection
Semantic segmentation
Instance segmentation
Image generation
Style transfer
Image captioning
Image inpainting
Video processing
PA230 Reinforcement Learning
zk 2/0 3 kr., podzim
- doc. RNDr. Petr Novotný, Ph.D.
- Prerequisities:
PV021
Knowledge of basic types of neural networks and of their training. Elementary knowledge of probability and statistics. - Goals: The main aim of the course is to introduce the participants to the field of reinforcement learning and to acquaint them with the major approaches to training of agent policies. This will include both classical, model-based approaches, as well as modern deep-learning and tree search algorithms. The knowledge will be reinforced by a hands-on project in which the participants will train their own agents on selected benchmarks.
- Learning outcomes:
After completing the course the student:
+ will have a formal understanding of the problems solved in the field of reinforcement learning (RL).
+ will be able to formulate core principles of RL algorithms.
+ will be able to describe the most prominent RL algorithms and reason about their performance characteristics and tradeoffs.
+ will have a practical experience with training of a RL agent utilizing state-of-the-art deep learning frameworks.
+ will be able to read scientificic literature from the RL domain. - Syllabus:
Aims of reinforcement learning (RL), neuropsychological connection, brief history.
Problem formalization: Markov decision processes, policies, payoffs).
Exact policy synthesis methods: value iteration, policy iteration, their relevance for RL.
Brief overview of tabular methods: Monte Carlo, SARSA, Q-learning. General principles: temporal difference learning, value bootstrapping.
Deep reinforcement learning: function approximators and issues pertaining to their use, gradient-based optimization.
Value-based Deep RL methods: DQN, DDQN, Rainbow heuristics, deep TD(lambda).
Policy gradient methods: policy gradient theorem, REINFORCE, Actor-Critic methods, SAC, trust region policy optimization (TRPO), proximal policy optimization (PPO).
Monte Carlo tree search (MCTS) methods: conceptual foundations (exploration vs. exploitation, multi-armed bandits, upper confidence bound), UCT-based MCTS, MCTS and deep RL (AlphaZero, MuZero, stochastic MuZero).
Case study: RL with human feedback in fine-tuning of large language models.
Some current topics in RL research: multi-agent learning (AlphaStar), safe and risk-constrained learning, hierarchical learning, transfer learning.
PA234 Infrastuctural and Cloud Systems
zk 2/2 3 kr., jaro
- RNDr. Tomáš Rebok, Ph.D.
- Prerequisities: none
- Goals: This course aims to bridge the gap between the theoretical concepts of infrastructural computing and storage systems (so-called HPC systems, supercomputers) and the possibilities of their application for solving various practical problems related to research and business practice. In addition to theoretical knowledge about the concepts and technologies applied in these systems, students will also gain experience from their practical use, applied to the solution of common, computationally or data-intensive tasks -- related to, for example, the application of machine learning algorithms and artificial intelligence, analysis of BigData, etc. Among others, the course will also introduce possibilities of using (national) e-infrastructures (CERIT-SC, MetaCentrum, IT4Innovations) and the hardware and software resources provided by them, which will be used for the practical implementation of assigned tasks. The course also supports the development of critical thinking and students' ability to analyze, design, and use appropriate infrastructural environments for solving advanced practical problems, emphasizing the effective use of the technologies and resources they provide.
- Learning outcomes:
Upon successful completion of the course, students will be able to:
- understand the concepts and technologies of infrastructure systems - students will have a deep theoretical and practical knowledge of the concepts and technologies used in infrastructure computing and storage systems - container and cloud technologies, job scheduling and batch processing in supercomputing systems, working with data and common storage systems.
- practically use the existing and future infrastructure systems - students will gain hands-on experience using existing infrastructure systems to solve typed, computationally or data-intensive problems. Thanks to the theoretical knowledge, they can use future technologies based on the concepts introduced.
- effectively use the available national e-infrastructure e-INFRA CZ to support science and research - students will gain experience with the effective use of (national) e-infrastructures in CERIT-SC, MetaCentrum, and IT4Innovations, and the resources and services provided by them.
- practically apply the acquired skills in their (future) academic and professional life - the course supports the development of critical analytical thinking and the ability of students to analyse, design and effectively use appropriate infrastructure environments to solve advanced computational and storage problems. - Syllabus:
1. Introduction to HPC infrastructures, national (e-INFRA CZ) and European (EGI.eu) e-infrastructure (approx. 1 lecture)
2. Container technologies (approx. 3 lectures)
- Concept and applied technologies, advantages and disadvantages of container technologies
- Overview of container technologies (Docker, Kubernetes, OpenShift, etc.)
- Basic and advanced Docker techniques - working with images and containers, container builds, networking and storage techniques, image optimization
- Basic and advanced Kubernetes techniques - principles, architecture and components, networking techniques, add-ons (certificates), application configuration and management, security and authentication, HELM charts
- Other container technologies and tools - OpenShift, container orchestration (Docker Swarm vs. Kubernetes), container registries (Docker Hub, Harbor.io, Quay.io, etc.)
- Standardized practices for efficient development and deployment of containerized applications
3. Cloud technologies (approx. 3 lectures)
- Concepts and applied technologies, virtualization, advantages and disadvantages of cloud technologies
- Overview of cloud services (IaaS, PaaS, SaaS) - virtual machine images, configuration of virtual machines in the cloud
- Basic and advanced OpenStack techniques - creating virtual infrastructures in the cloud, deploying and configuring services (EC2-compatible services, orchestration tools - API/CLI, Terraform, Ansible, etc.)
- Principles and architecture of clouds built on the OpenStack platform - overview of the essential operating system (micro)services, their interconnection, security and tuning of deployed virtual machines, load balancing and robustness (high availability of services)
- Strategies for building private cloud services (e.g. beskar.cloud), DevOps and GitOps techniques
- Standardized practices for effective development and deployment of cloud applications and infrastructures
4. Task scheduling and management in computing infrastructure (approx. 2 lectures)
- Concepts, principles and importance of job scheduling and management in distributed infrastructure
- Overview of job scheduling and management technologies (OpenPBS, Slurm, HTCondor, etc.), advantages and disadvantages
- OpenPBS basics - principles of batch computing and jobs (interactive, batch), infrastructure resources and their allocation to jobs, job submission and monitoring, data processing (local and shared scratch, stagein & stageout)
- Advanced OpenPBS techniques - parallel and distributed computing (OpenMP and MPI), specific use cases (job dependencies, checkpointing, job arrays, etc.), PBS and containers (Singularity), job scheduling and policies, workload management and performance optimization, debugging and troubleshooting
- OpenPBS integration with other technologies - such as cloud services (AWS, Google Cloud, Azure, etc.) and container technologies (Docker, Kubernetes, etc.)
- Standardized procedures for scheduling and managing tasks in computing infrastructure and their use in practical applications
5. Storage systems (approx. 1 lecture)
- Concepts and principles, importance of cloud storage systems
- Overview of types of cloud storage systems (block, file, object, etc.) and cloud storage service providers (AWS, Google Cloud, Azure, etc.), advantages and disadvantages of using cloud storage systems
- Cloud storage and security - basics of cloud storage security, secure data sharing and encryption in the cloud, access and identity management in cloud storage systems, working with sensitive data (SensitiveCloud)
- Efficient use of cloud storage systems - data transfers within and to/from cloud systems, S3 API, MinIO and CEPH
- Standardized practices for working with cloud storage systems
6. Efficient calculations (approx. 2 lectures)
- GPU accelerated computing - introduction, efficient use of GPUs in e-infrastructures, GPU allocation options, practical examples
- Pivot Jobs and bulk processing - introduction, bulk processing and dynamic scheduling, efficient processing of large data sets in e-infrastructures, practical examples
- Data processing and workflow - introduction to data pipelines, data processing using workflow principles, workflow automation (orchestrators - AirFlow, Argo Workflows, Galaxy) and their case studies (AFoLab, EnviLab)
- OneData - introduction, unified management and access to data in a distributed environment, case studies (CEITEC), practical examples
- Standardized practices for effective use of e-infrastructures, applied to selected research and professional needs
PV003 Relational Database System Architecture
zk 2/1 3 kr., jaro
- RNDr. Milan Drášil, CSc.
- Goals: The course is focused on an architecture of relational database engines and the SQL query language.
- Learning outcomes: Student will be able to fully comprehend usage of SQL query language.
- Syllabus:
A brief history of relational databases, independent data store, advantages and disadvantages.
Relational algebra, requirements to communication and query language.
Parts of SQL language (definition, manipulation, transaction), lexical conventions of SQL.
Data Definition Language, creation and modification of tables, sequence definition, dropping an object from data scheme.
Integrity constraints, definition in SQL.
An effective approach to table rows, indexes.
Data Manipulation Language, insert, delete, update rows in table, foreign keys context.
Join of tables, outer join, processing techniques of join.
WHERE clause construction, aggregation functions
Hierarchical queries
Set operations.
VIEWs a MATERIALIZED VIEWs.
Object relational database, methods, abstract types, inheritance.
XML data interface to objects.
Execution plan, query tuning, HINT phrase.
Transaction control, isolation levels, SELECT query and transactions, deadlock and its detection.
Procedural languages in relational databases, procedures and functions, packages, deterministic functions, triggers.
Normal forms and data schemes in relational databases.
PV004 UNIX
zk 2/0 2 kr., jaro
- doc. Ing. Michal Brandejs, CSc.
- Goals: The students of this course will be introduced to the general principles of the UNIX operation system. At the end of this course, students should know the Shell and should be able to program shell scripts.
- Learning outcomes: At the end of this course, the student will understand the principles of the UNIX operating system, will be able to control the unix shell line interface on a common user level, program simple shell scripts, and manage manipulation of text files, including understanding the use of regular expressions.
- Syllabus:
UNIX history, main features, system access.
System structure: file systems, processes.
Access rights.
User interface: shell and its programming.
Text processing: regular expressions, editors, text processing commands.
Setting of the user environment.
Multi-user communication, status of the system.
PV005 Computer Network Services
z 2/0 2 kr., podzim
- RNDr. Mgr. Jaroslav Bayer - doc. Ing. Michal Brandejs, CSc. - RNDr. Jan Kasprzak, Ph.D. - Mgr. Roman Lacko - Ing. Peter Michálek - RNDr. Tomáš Obšívač - Mgr. Tomáš Szaniszlo
- Goals: This course provides an introduction to the computer networks questions as far as both technical aspects and software aspects are concerned. The students will be also acquainted with basic provided services.
- Learning outcomes: At the end of this course the student will be able to orientate in technologies available to students at the Faculty of Informatics, will understand basic principles of computer networks and basic network services.
- Syllabus:
TCP/IP Networks: architecture, addressing, routing, BIND.
Network services under TCP/IP: telnet/rlogin, ftp/rcp.
E-mail: RFC 822, MIME, system architecture.
WWW: URL, httpd, clients.
WWW server. http protocol.
Secure communication: ssh, SSL, https etc.
Introduction to JavaScript.
Local area networks media.
PV017 Information Technology Security
zk 1/0 1 kr., podzim
- Mgr. Kamil Malinka, Ph.D. - prof. RNDr. Václav Matyáš, M.Sc., Ph.D. - JUDr. Pavel Loutocký, Ph.D., BA (Hons)
- Prerequisities: PV080 course should be passed before this course.
- Goals:
At the end of the course, students should be able
design a simple information security policy,
assess the adjusted level of information security guaranty,
justify security measures and controls and
explain information security issues to the management of an organisation. - Learning outcomes: Students completing this course will be able to fulfill the role of manager of information security for a small organization.
- Syllabus:
Concepts, definitions.
Anatomy of information security.
Standardization process and basics of relevant legislation.
Information security management in an organization.
Risk management.
Information security policy.
Information security management system, ISMS, ISMS project.
Selected aspects of audit and computer security evaluation.
PV021 Neural Networks
zk 2/0 4 kr., podzim
- doc. RNDr. Tomáš Brázdil, Ph.D.
- Prerequisities: Recommended: knowledge corresponding to the courses IB031, MB152, and MB153.
- Goals: Introduction to neural networks.
- Learning outcomes: At the end of the course student will have a comprehensive knowledge of neural networks and related areas of machine learning. Will be able to independently learn and explain neural networks problems. Will be able to solve practical problems using neural networks techniques, both independently and as a part of a team. Will be able to critically interpret third party neural-networks based solutions.
- Syllabus:
Basics of machine learning and pattern recognition: classification and regression problems; supervised and unsupervised learning; simple examples
Perceptron: biological motivation; geometry
Linear models: least squares (gradient descent, Widrow-Hoff rule); connection with maximum likelihood
Multilayer neural networks: multilayer perceptron; loss functions; backpropagation
Practical considerations: basic data preparation; practical techniques for learning optimization; overfitting & regularization; feature selection; applications
Deep learning: learning in deep neural networks (vanishing gradient, pretraining with autoencoders)
Convolutional networks
Recurrent networks: Elman and Jordan networks, LSTM
Transformer networks
PV027 Optimization
zk 2/1 4 kr., jaro
- doc. RNDr. Tomáš Brázdil, Ph.D.
- Prerequisities: Prerequisites: mathematical analysis MB151 Linear models and linear algebra MB153 Statistics I.
- Goals:
This is a basic course on methods of mathematical
optimization.
Graduate will gain orientation in methods of mathematical optimization. - Learning outcomes:
Graduate will be able to select appropriate optimization method to solve a particular problem.
Graduate will be able to explain principles of optimization methods. - Syllabus:
Unconstrained optimization: Nelder--Mead method, steepest descent,
Newton's method, quasi-Newton methods.
Linear programming, Simplex method. Integer programming, branch and bound method, Gomory cuts.
Nonlinear constrained optimization: Lagrange multipliers, penalty methods, sequential quadratic programming.
PV028 Applied Information Systems
k 2/0 2 kr., podzim
- RNDr. Jaroslav Ráček, Ph.D.
- Goals: The course deals with development of information systems.
- Learning outcomes: At the end of the course students should be able: -understand and explain principles and needs of information systems in medicine, business, manufacturing, and government - analyze the problem and describe a principle of solving it
- Syllabus:
Synopsis Definitions of AIS
Examples of some AIS (medicine, bussiness, industry, goverment)
& Comparison of information systems - analogies and specifics.
& Application of CASE tools.
& Management methods for large-scale projects.
& Design of large-scale information systems.
& Sample design of an information system.
PV043 Enterprise Information Systems
k 2/0 2 kr., podzim
- RNDr. Pavel Hajn
- Prerequisities: PV063
- Goals: The aim of this course is to apprise the students of procedures of analysis, design, implementation, establishing and running of IS in companies. Basic terms: design, analysis, project and project exploitation. Program implementation, team of programmers. System establishing and system running.
- Learning outcomes: Student will be able to estimate the cost related with development, deployment, and maintanance of an information systems.
- Syllabus:
The aim of this course is to apprise the students of procedures of
analysis, design, implementation, establishing and running of IS in
companies.
Basic terms: design, analysis, project and project exploitation.
Program implementation, team of programmers.
System establishing and system running.
The course includes the knowledge and experience of the managers and programmers of IS in the following companies: DOPLA PAP Sušice a.s. and OHLŽS Brno a.s.
PV056 Machine Learning and Data Mining
zk 2/0 3 kr., jaro
- doc. RNDr. Lubomír Popelínský, Ph.D.
- Prerequisities: A student needs to be familiar with basics of machine learning (e.g. IB031 Introduction to machine learning).
- Goals: At the end of the course students should be able to use machine learning and data mining methods. They will be able to built tools for mining in data that employ machine learning methods.
- Learning outcomes:
A student will be able
- to pre-process data for data mining;
- to know advanced method of machine learning and data mining and to use them;
- build and validate an advanced machine learning/data mining method;
- to write a technical report. - Syllabus:
Introduction to the theory of knowledge discovery in databases. Survey of the most important methods, algorithms and systems. A project is as a part of the course.
Knowledge discovery in databases. Data mining.
Basic algorithms of machine learning.
Advanced machine learning methods. Ensemble learning. AutoML, preference learning. Multi-relational learning.
Mining frequent patterns and association rules. Apriori algorithm. Frequent patterns in multi-relational data.
Anomaly analysis.
Preprocessing. Feature selection and construction. Sampling
Active learning. Semi-supervised learning
Temporal data mining.
PV061 Machine Translation
zk 2/0 2 kr., podzim
- doc. Mgr. Pavel Rychlý, Ph.D.
- Goals:
Machine translation is one of the practical applications of natural language processing. On its history, we can well illustrate approaches to text processing and artificial intelligence in general, from rule-based systems to machine learning using neural networks.
The aim of the course is to present: - the principles of machine translation, the techniques used for its solution;
- an overview of the main translation directions in the past;
- the ambiguity problem;
- relations to the representation of knowledge and the representation of meaning;
- data preparation for machine translation learning;
- translation quality evaluation.
For modern deep learning techniques, parts of the code in Python as well as usage examples of existing systems will be presented.
The course also includes experiments with a simple neural-network-based translation system for Czech and English. - Learning outcomes: After completing the course, the student will be able to:
- classify machine translation systems and state their foundations;
- describe the components of a neural machine translation system;
- understand the learning process of neural networks;
- understand data generation methods for learning of MT systems;
- create a simple machine translation system;
- evaluate the quality of the translation.
- Syllabus:
- Introduction, History of the Machine Translation
- Basics in Language and Probability
- Language Models, Phrase-Based Models
- Decoding, Evaluation
- Introduction to Neural Networks, Computation Graphs
- Neural Language Models, Neural Translation Models
- Decoding in Neural Translation Models
- Words and Morphology
- Syntax and Semantics
- Parallel Texts, Corpus Acquisition from the Internet
- Beyond Parallel Data
- Current Challenges
PV063 Database System Applications
zk 2/1 3 kr., jaro
- RNDr. Pavel Hajn
- Goals: The goal of the course is to teach students the principles of information systems and using databases for creation IS.
- Learning outcomes: Student will undestand the concepts of interaction of information systems and databases, and will be able to reason about such concepts as and design them.
- Syllabus:
What is an information system and a DBS?
Transactional and OLAP database.
Tools for IS creation.
Modern information systems.
In-Memory Data Management - introduction
PV065 UNIX -- Programming and System Management I
zk 2/0 2 kr., podzim
- RNDr. Jan Kasprzak, Ph.D.
- Prerequisities: Prequisities: Students should go through the PV004 UNIX, should be able to write programs in C, and to have experiences with UNIX from the user's point of view (it is not recomended to attend this course for students who absloved the PV004 UNIX in last semester).
- Goals: The course introduces the principles of UNIX operationg system and its application interface (system calls, library functions). Students will learn about the UNIX kernel architecture, file system, processes, etc., both from the point of view of the kernel implementation and internals, and from the point of view of the UNIX application interface.
- Learning outcomes:
After attending this coures, students will be able to:
Understand the interaction beween programs in C and the system kernel.
Use the POSIX.1 application interface to create programs in C.
Use files, processes, and other tools, provided by the UNIX kernel to the applications.
Have the basic understanding of the UNIX kernel, device management and memory management inside the kernel, and inner working of processes inside the kernel. - Syllabus:
UNIX development tools: compilers, debuggers, profilers
and some other tools. Libraries, their types and
function.
C-language API standards.
Program in the ANSI C: limits, start and end of program, arguments, environment variables, memory management, long jumps. Dynamic linking.
Kernel: start of the system, architecture of the kernel, memory model of the kernel.
Process: attributes of the process, states of the process, memory from the process' view, access rights of the process. Program on the disk.
I/O operations: descriptor, operations with descriptors.
File system organization: i-node and its attributes, directories and manipulation with directories, special files. Implementation of the FS: FAT, S5FS, FFS/UFS, Ext2FS. Modern file systems.
Interprocess communication: pipes, signals, reliable signals.
Advanced I/O: multiplexing using select() and poll(), file locking, scatter-gather I/O, memory-mapped I/O.
PV066 Typography I
k 1/1 2 kr., jaro
- Daniel Ricardo Echeverri Giraldo, PhD
- Prerequisities:
PV123 && SOUHLAS
Subject "Typography and Graphic Design" pressuposes a creativity as well as respecting the nature of the subject including a manual work depending on a set task. - Goals: This course is an introduction to the basics of typography. Students create typical media such as advertisement or typographic poster. At the end of the course students will know the basic principles of typographic composition, will be able to elaborate designs for basic typographic media, will be able to design advertisement and will be able to design typographic poster.
- Learning outcomes: Student will learn how to compose picture and typographic elements, will be able to think about composition of a graphical design. Part of the output is a set of posters focusing on typography.
- Syllabus:
Typographic composition.
Typographic abstraction.
Typographic illustration.
Typographic poster.
PV067 Typography II
zk 1/1 2 kr., podzim
- Daniel Ricardo Echeverri Giraldo, PhD
- Prerequisities:
PV066 && souhlas
Prerequisite PV066 - Goals: This Graphic Design course follows Typography 1, is focused on books and editorial systems and aims to equip students with a solid foundation in typography, book layout creation, and editorial design principles. Students will learn to apply typography effectively and create visually engaging layouts. The course covers software proficiency, adaptation of design strategies for different content types and digital platforms, and fosters collaboration and presentation skills. Students will gain insights into historical and cultural design contexts while building a portfolio showcasing their expertise in designing publications.
- Learning outcomes: Students will attain a range of essential skills in editorial design upon completing this typography course. They will be able to define key typographic terms, enabling effective communication within the design field. Students will gain competence in typesetting principles and be able to discern between effective and poor typography choices critically. Through practical exercises, they will apply accurate typesetting techniques. Proficiency in Adobe InDesign will be cultivated, enhancing their ability to design efficiently. Exploring Czech typographic rules will provide a unique perspective, enabling informed discussions. Finally, students will develop the capability to present and defend their work confidently.
- Syllabus: This course explores editorial graphic systems and typography through various key themes. It begins by introducing the subject and moves on to principles of design and layout creation. Students will learn about choosing and combining typefaces effectively. They'll also understand how to maintain consistent design elements. Digital tools for design will be covered, along with adapting typography for digital platforms. The course ends by discussing design trends and case studies, giving students a well-rounded understanding of editorial design.
PV072 Humanitarian Computer Applications
k 0/2 2 kr., podzim
- RNDr. Jaromír Plhák, Ph.D.
- Goals:
Ethically motivated computer applications are the main goal of this seminar. The central topic is the computer support of the visually, hearing and mentally impaired people. The main objective is to introduce the field and present the possibilities that assistive technologies provide.
At the end of the course students should be able to:
- to understand use of assistive technologies by handicapped people,
- to understand conventions used in accessible software development,
- to understand how to overcome barriers to communication with handicapped people. - Learning outcomes:
After completing this course, student will be able to:
- describe and summarize the use of assistive technologies by people with disabilities as well as the areas where assistive technologies are used;
- apply the principles of making accessible software;
- write a survey about one specific AT area;
- present the results of their own work in front of the audience. - Syllabus:
1) Introduction to the seminar. Discussion about the seminar content and students’ expectations. Project topics proposal.
2) Presentation of specialist in the field of assistive technologies.
3-12) Students' presentations.
13) Students' presentations evaluation, feedback from students.
PV077 UNIX -- Programming and System Management II
zk 2/0 2 kr., jaro
- RNDr. Jan Kasprzak, Ph.D.
- Prerequisities: Only students who went through PV065 UNIX -- Programming and System Management I course, or those who have excellent knowledge about UNIX file system, kernel, and POSIX.1 API, should enroll to this course.
- Goals: The course gives the basic information about the UNIX system administration, the operation of the UNIX system in the networked environment, network applications programming using the BSD sockets API, information about some networking protocols (SMTP, HTTP, NFS etc), and their usage and administration on the UNIX-like systems.
- Learning outcomes:
After attending this course, students will be able to:
Understand the system of users and groups under UNIX.
Understand the basic configuration of various subsystems under UNIX.
Understand the architecture of the TCP/IP networks, and be able to program UNIX network applications, as well as configure the UNIX networking.
Be able to configure selected UNIX network services. - Syllabus:
System of files and directories. Users and groups.
Other system tables.
Basic system programs: init and the start of the system, syslogd, update.
Printer subsystem.
Disk quotas.
TCP/IP network basics: IP, ARP/RARP, ICMP, UDP and TCP layers; packet formats; principles of TCP/IP operation.
Network programming (BSD sockets API): Socket, socket types; system calls for socket manipulation; connected and unconnected sockets; system tables and function for reading them; examples of applications.
Low-level network administration: Giving an address to the interface; routing table; static and dynamic routing.
TCP/IP over ethernet: ARP/RARP configuration; proxy ARP.
Serial communication basics: Synchrohous and asynchronous communication; modems; point-to-point protocol (PPP); SLIP.
DNS and address translation; Inet-daemon and the TCP-wrapper; services run from the inetd.
Electronic mail: Principles of operation; simple mail transfer protocol (SMTP); sendmail.
WWW: Hypertext transfer protocol (HTTP), http-daemon, national language problems.
Network security and firewalls: Packet filtering; application gateways; network topology; virtual private networks; secure shell.
X Window system.
IPv6 basics.
PV078 Graphic Design I
k 1/1 2 kr., jaro
- MgA. Jana Malíková
- Prerequisities:
PV123 && SOUHLAS
Subject "Graphic Design" presupposes a creativity as well as respecting the nature of the subject including a manual work depending on the given task. - Goals: This course helps students to develop the basic skills in the creation of graphic compositions and work with typography (recommended course PV066: Typography I). In the study process of this course students meet with the basics of pre-press. This course aims to introduce students to the main problems of graphic design: graphic stylization, abstraction, nonverbal communication, interpretation and presentation.
- Learning outcomes: Student will understand the basic terminology, will be able to work with professional software for vector grpahics, will be able to articulate her own drawing concepts and realize a given design. Student will be able to create a pictogram set on a given topic.
- Syllabus:
Graphic poster.
Pictogram and signage system.
Illustrations.
PV079 Applied Cryptography
zk 1/1 4 kr., podzim
- Mgr. Marek Sýs, Ph.D. - prof. RNDr. Václav Matyáš, M.Sc., Ph.D. - Lukasz Michal Chmielewski, PhD
- Prerequisities:
IV054 || PřF:M0170 || IA174 || now ( IA174 ) || souhlas
It is recommended to register this course after a fundamental cryptography course (IA174 or another full-semester cryptography course), and for Master students a parallel registration of this course with such a basic cryptography course will be allowed. - Goals:
To teach the students to:
understand intermediate-level issues of deploying cryptographic mechanisms;
apply a crypto or security standard to fit the solution sought;
judge pros and cons of crypto methods considered for deployment;
independently design and test simple cryptographic solutions;
evaluate common crypto protocols in terms of their security and efficiency. - Learning outcomes:
At the end of the course students will be able to:
understand intermediate-level issues of deploying cryptographic mechanisms;
apply a crypto or security standard to fit the solution sought;
judge pros and cons of crypto methods considered for deployment;
independently design and test simple cryptographic solutions;
evaluate common crypto protocols in terms of their security and efficiency. - Syllabus:
This course explores the issues of applied cryptography issues,
and topics cover:
Relations of symmetric and asymmetric cryptography.
Generation of random and pseudorandom sequences.
Hash functions and their applications.
Digital signatures, MAC. Non-repudiation.
Cryptographic protocols, entity authentication.
Public key infrastructure, certification.
Cryptanalysis.
Patents and standards.
Application of cryptography in selected systems - dedicated hardware security modules, wireless sensor networks, smartcards, privacy enhancing technologies.
PV080 Information security and cryptography
zk 2/2 3 kr., jaro
- prof. RNDr. Václav Matyáš, M.Sc., Ph.D. - Mgr. Marek Sýs, Ph.D. - RNDr. Marek Kumpošt, Ph.D. - doc. RNDr. Petr Švenda, Ph.D. - doc. Ing. Pavel Čeleda, Ph.D. - RNDr. Martin Ukrop, Ph.D. - JUDr. Pavel Loutocký, Ph.D., BA (Hons)
- Prerequisities: This course aims at students in their second year of study, getting them exposed to the elementary aspects of IT (cyber) security and cryptography - fundamentals of algebra and programming are therefore expected.
- Goals:
The aim is to teach the students to:
explain the importance of information privacy and to illustrate negative impacts of its breach by examples;
show advantages or disadvantages of basic IT security and privacy methods;
judge impact of IT deployment on personal data and to judge ethical aspects of considered solutions;
explain the importance of proper ways to security from risk analysis, through security policy up to the development and management of mechanisms - namely those based on cryptography;
assess suitability of deploying selected tools for security and privacy support. - Learning outcomes:
At the end of the course students will be able to:
explain the importance of information privacy and to illustrate negative impacts of its breach by examples;
show advantages or disadvantages of basic IT security and privacy methods;
judge impact of IT deployment on personal data and to judge ethical aspects of considered solutions;
explain the importance of proper ways to security from risk analysis, through security policy up to the development and management of mechanisms, namely of cryptographic algorithms;
assess suitability of deploying selected tools for security and privacy support. - Syllabus:
Concept of information privacy and relevant technical
aspects, IT influence and relations.
Protection of private data and legislation.
Cryptographic functions and protocols.
Digital identity, access management.
Ethics, professional behavior and maintenance of information.
Fundamental IT security concepts, attacker models.
Network security.
Secure programming.
Usable security.
Audit, risk assessment, security operations.
Security standards, evaluation criteria.
PV083 Graphic Design II
zk 1/1 2 kr., podzim
- MgA. Jana Malíková
- Prerequisities:
PV078 && souhlas
Prerequisite PV078 - Goals: This course follows Graphic Design I and focuses on corporate identity and making a graphic manual. By the end of the course, students will learn to create symbols, logos, and combine them. They'll also know how to use these symbols and logos on different applications like stationary systems, packaging, or websites. Additionally, they'll understand how to design graphic manuals and get practical experience using various design tools.
- Learning outcomes: By course completion, students will have gained the ability to comprehend corporate design terminology, design symbols, logos, and graphic systems in general, effectively implement these visual elements across various media, generate digital design manuals, produce print materials, and gain hands-on proficiency with graphic tools like Adobe Illustrator, InDesign, and Photoshop.
- Syllabus: This course is structured into several modules that guide students through the design of visual identities. It commences with an introduction to the significance of graphic systems and branding, followed by a review of fundamental design principles. Students will learn to establish a strong brand foundation by defining values, missions, and target audiences. The course looks into the art of designing logos and complementary visual elements, then progresses to the development of a comprehensive visual identity, extending its application from print materials to digital platforms. Environmental and spatial branding concepts are explored, leading to the creation of a brand guideline and manual.
PV084 Type Design I
k 1/1 2 kr., podzim
- Mgr. Lukáš Pevný
- Prerequisities:
PV123 && SOUHLAS
Precondition for this course is the artistic approach and the respect for the character of the subject, including the partial manual execution of the projects. - Goals: The course introduces the foundations and basic skills of working with letters leading to the understanding of the construction of letter glyph, its history and classification.
- Learning outcomes: Student is familiar with the history of script and is able to draw and construct historical characteristics of typographic script, knows the basic classification of types and is able to create a character based on the classified group. Student knows the typographic terminology and is able to use it in appropriate manner.
- Syllabus: - Creating and typesetting of type-specimen book - Graphic desing of the free letter composition for the cover of the type-specimen book
PV085 Type Design II
zk 1/1 2 kr., jaro
- doc. Mgr.art. Helena Lukášová, ArtD. - Mgr. Lukáš Pevný
- Prerequisities:
PV084 && souhlas
A precondition for this course is the artistic approach and the respect for the character of the subject, including the partial manual execution of the projects. - Goals: The course introduces the foundations and basic skills of working with letters on which premises students will create authorial text or experimental letter set.
- Learning outcomes: A student is able to solve complex task - creation of the experimental concept of a set of characters. - is able to create the character set of a classic authorial alphabet with the consideration of its legibility, formal unity and other aesthetic criteria.
- Syllabus: - Creation of every letter of the alphabet presented in drawings - Execution of the authorial letter in graphics software - Application of the authorial letter set
PV090 UNIX -- Seminar of System Management
k 0/3 4 kr., podzim
- RNDr. Jan Kasprzak, Ph.D.
- Prerequisities: We expect the advanced knowledge of UNIX (Linux) on the user and programmer level and positive attitude towards UNIX. Before enrolling this course the students should go through PV065 UNIX -- Programming and System Management I and PV077 UNIX -- Programming and System Management II.
- Goals: The course provides practical introduction to the administration of UNIX systems and their services. Students will have an opportunity to install their own UNIX system, configure the kernel, networking (IPv4, IPv6), and several network services (e-mail, WWW server, LDAP, Kerberos, etc).
- Learning outcomes:
After attending this coures students will be able to:
Install and configure the UNIX system.
Customize the kernel configuration for the particular application.
Configure and maintain network services, running on UNIX systems. - Syllabus:
Operating system installation, basic networking configuration (IPv4, IPv6), firewall configuration.
Configuring kernel and optimizing it for a particular HW.
Virtualization, virtual machine installation.
DNS: name server configuration.
E-mail: SMTP, POP3, IMAP, spam detection methods.
WWW, HTTP servers, SSL, proxy cache.
Network monitoring (SNMP, MRTG, Nagios, Zabbix, Smokeping, arpwatch/ndpmon).
Databases of users, LDAP, modular authentication with PAM.
Kerberos; time synchronization over network.
Network traffic classification.
PV094 PC Hardware
zk 3/0 3 kr., podzim
- RNDr. Jaroslav Pelikán, Ph.D.
- Prerequisities: Knowledge of computer systems architectures, that is adequate to the course PB150 Computer-Systems Architectures or PB151 Computer Systems.
- Goals: The course PC Hardware gives detailed information on technical realization of modern computer systems. The students get acquainted with particular components of current computers, their properties, connection, operational principle, and with possibilities of their usage.
- Learning outcomes:
At the end of this course, students should:
know concepts dealing with hardware;
know operational principles of particular components;
be able of qualified hardware purchase;
be able to identify bugs in a computer;
be able to make some repairs in a computer (exchange of a certain module);
be able to plug in a new module into the computer (including its correct setting). - Syllabus:
Architecture of PC and its peripheries.
Mainboard.
Microprocessors Intel.
Internal memories and their technological realization. Cache memories.
Bus, width, speed, comparison, compatibility.
Magnetic data recording. Hysteresis of ferro-magnetic materials.
External memories. Magnetoresistive heads.
Interfaces between controllers and hard disk units.
Graphic cards. Port A.G.P.
I/O card. Serial and parallel data transfer.
Soundcards, record and synthesis of a sound. MIDI. Speaker systems.
Monitors. Principle of a color CRT. LCD displays and their operational principle. Plasma displays.
PCMCIA standards and USB bus. Standard IEEE 1394.
Memory media, cassettes, magnetic discs.
Magneto-optical discs, CD-ROM, CD-R, CD-RW, DVD, and Blu-ray discs.
Printers.
Review of other devices.
PV097 Visual Creativity Informatics
zk 2/1 3 kr., jaro
- Mgr. Jiří Chmelík, Ph.D.
- Prerequisities: Knowledge of computer graphics algorithms (in the scope of PB009 Principles of Computer Graphics course). Basic programming skills. Creative thinking and artistic abilities are highly appreciated.
- Goals: Students gain theoretical knowledge as well as practical skills in the area of computer-aided art. The lectures will provide a theoretical background in various topics, such as fractals or mosaics. At seminars, students will get familiar with existing SW and try to produce their own artworks. The semestral project is based on programming application for generative art.
- Learning outcomes:
At the end of this course, students should be able to:
analyze and describe existing computer-aided artworks;
use existing software tool to create computer-aided art artefacts;
design and implement software tools for computer-aided art. - Syllabus:
Computer-aided visual art concepts.
Brief history of computer-aided art
Aesthetically productive algorithms
Mosaics
Knots
Fractal graphics
Bioart
Communication graphics and visual perception
Non-photorealistic rendering
Procedural generation of 3D models, fabrication options
PV109 History of IT and Trends in Computing
k 2/0 2 kr., podzim
- doc. RNDr. Eva Hladká, Ph.D. - prof. RNDr. Luděk Matyska, CSc.
- Prerequisities: Any student of Masaryk University may enlist to this course provided that he or she has not passed it (under any code).
- Goals: The course is intended for students who seek information on the development of computing aids and information technology since the ancient times and on expected further development of the branch.
- Learning outcomes:
At the end of this course student will know individual phases of the historical evolution of computer technology at large and specifically in the Czechoslovakia.
She will be able to name the most influential persons and their contribution to the evolution of computer technology.
He will be able to describe primary evolution trends and influencing principles.
Using the historical know-how she will be able to make simple predictions of future evolution in major areas of IT. - Syllabus:
Pre-history of computing (from abacus to Babbage).
First computers.
Why to be interested in the history of IT. Formerly used terms. 1st to 5th computer generations. Hardware and software approach to the notion of the generation. Families of computers. Digital, analog and hybrid computers.
Historical computer components and peripherals. Former view at main computer parts. Types of store. External storage devices. I/O devices.
Personal recollections at IT used in our country. First computers in former Czechoslovakia. How programming the LGP-30 computer looked like. Research Institute of Mathematical Machines and its main achievements. EC and SM computer families.
From machine code to programming languages. Languages that principally affected further language development (Algol, Fortran, Cobol, Basic, PL/I, APL, Lisp, Simula, Pascal, C).
Operating systems. Computers without an OS. Toward an OS. Components of modern OS. Examples of OS.
Trends in H/W and S/W. CISC/RISC, integration, dependencies between H/W, S/W and OS. Networks and Internet. Diversion from procedural languages?
Compures and society. Computer: a tool, a partner, or a menace?
PV110 Basics of Film Narratives
k 0/4 4 kr., podzim
- Mgr. BcA. Robert Král, Ph.D. - doc. RNDr. Petr Sojka, Ph.D.
- Prerequisities: Prerequisites for enrollment and successful completion are only enthusiasm for cinematography, ability to work effectively in a team, communicate, solve problems, manage crisis situations and relative time flexibility. The student does not need to have knowledge of the film industry. Knowing the basics of creative writing and electronic publishing PB029 Electronic Document Preparation is a plus.
- Goals: The aim of PV110 and PV113 Production of Audiovisual Artefacts is to enable students to express their own via movie language. This is gradually learned by writing and filing his own subject, literary and technical scenario, preparing a technical scenario for his film production in the follow-up spring semester in the course PV113 Production of Audiovisual Artefacts, and by discussing principles and gaining practical skills from areas of editing, engaging, camera, scene lighting, scene sound, and postproduction.
- Learning outcomes:
At the end of the course, the student will be able to:
- use the knowledge of the basics of screenwriting, dramaturgy, direction, production in writing his own theme, literary and technical scenario; - prepare a technical scenario and production of a short movie; - use the acquired knowledge of editing, cutting, engaging, camera, scene lighting, scene sound and postproduction in the movie production; - create a film crew with fixed roles from the group of students; - produce his own short audiovisual work. - Syllabus: Theme. Literary model for movie or multimedia project. Choice of model or intrigue. Basics of scriptwriting. Movie script: analysis of conflict, the setting of key points in a script, plausibility of figures, dynamics of the storytelling, characters and their progress. The substance of dramaturgy, collective readings, processes towards final script and technical and production plan. Main rules of production and postproduction. Editing. Practical goal is an adaptation of literary model into the movie script. Students have to write or adapt a story into a script, taking in mind existing technical backing of the course in LEMMA laboratory. During the realization of this goal, students will be taught the right ways of doing a good script and all the phases of literary preparation (model, story, script) all the topics around. Scripts written and defended in the course will be used for movie/multimedia production in the Spring term. Practical exercises will be done in the LEMMA laboratory using DLSR and other rich sets of audio and video instruments.
PV112 Computer Graphics API
zk 2/2 3 kr., podzim
- RNDr. Jan Byška, Ph.D.
- Prerequisities: Practical knowledge of C/C++ is required. Knowledge at the level of PB009 Principles of Computer Graphics is an advantage, but it is not necessary to pass the course.
- Goals: This course aims to provide students with a comprehensive overview of computer graphics interfaces, focusing on practical application development using OpenGL (Open Graphics Library). Through a combination of theoretical lectures and hands-on programming assignments, students will gain the necessary skills to design and implement various computer graphics applications.
- Learning outcomes:
After completing this course, students will be able to:
- understand existing code written in OpenGL;
- utilize OpenGL for developing simple 3D graphics applications;
- better understand the fundamentals of computer graphics principles. - Syllabus:
Basic rendering principles leveraging OpenGL and GLSL
Overview of the rendering pipeline
Data types, graphic primitives, and memory organization
Vertex buffer and vertex array objects
Coordinate systems and transformations
Alpha blending, clipping, and fog rendering
Lighting and materials
Textures
Techniques for accelerating rendering
Per-fragment operations and other post-process effects
PV113 Production of Audiovisual Artefacts
k 0/3 5 kr., jaro
- doc. RNDr. Petr Sojka, Ph.D. - Mgr. BcA. Robert Král, Ph.D.
- Prerequisities:
(APPROVAL)
Enrollment in the course is possible in the following way (indicated in the application for consent to enrollment):
A) Film production (direction). The student has an approved technical scenario that he created within PV110 Basics of Film Narratives the previous semester or did not complete PV110 in the previous semester, but has his own technical scenario that he wants to have approved and subsequently implemented. Closing with a colloquium (P).
B) Creative involvement in the production of the film. The student wants to participate in the production of a student film produced in A). Completion as a credt (zápočet, Z).
The prerequisite is a passion for creative activity, specifically for multimedia communication through the creation of audiovisual works. More information on enrollment, detailed requirements, and rules can be found at https://is.muni.cz/auth/el/1433/jaro2024/PV113/index.qwarp. - Goals:
At the end of this course, students are able to: identify and work with the basic concepts and roles in the production process of multimedia work, work in teams to produce film and animation work, and present it at the Film Festival FI MU at the end of the semester.
A secondary goal is to acquire soft skills for working in a production team on a joint work. - Learning outcomes:
Student will be able to:
- Film theme, literary and technical scenario,
- Produce a short-distance team in the team,
- Know the roles and communicate in groups representing the film crew. - Syllabus:
Production according to the approved technical scenario,
finalizing the technical scenario into the production one:
production team, production schedule, list of shooting days,
selection of locations, actors, casting, and camera tests.
Filming, sound direction, and sound plan. Preparation and implementation of the entire production chain. Presentation of the filmed scene and testing in D3. Preparation of plan B. Quality control. Preparation of metadata for the video archive. Preparation of multilingual subtitles.
Filming and realization of own movies and images, quality control. Film presentation and marketing (trailer and social media).
PV115 Laboratory of Knowledge Discovery
z 0/0 2 kr., podzim
- doc. RNDr. Lubomír Popelínský, Ph.D.
- Prerequisities:
souhlas
- Goals: At the end of the course students should be able to create systems for knowledge discovery in data.
- Learning outcomes:
A student will be able
- to understand research papers from machine learning and data mining;
- of critical reading of such papers;
- to build and validate a machine learning or data mining method. - Syllabus:
Students participate on research projects
in various areas of knowledge discovery and data mining:
Project proposal
Consultation during the term
Presentation of results, a final report It is appropriate for those who look for help in solving more complex tasks of machine learning and data mining.
PV115 Laboratory of Knowledge Discovery
z 0/0 2 kr., jaro
- doc. RNDr. Lubomír Popelínský, Ph.D.
- Prerequisities:
souhlas
- Goals: At the end of the course students should be able to create systems for knowledge discovery in data.
- Learning outcomes:
A student will be able
- to understand research papers from machine learning and data mining;
- of critical reading of such papers;
- to build and validate a machine learning or data mining method. - Syllabus:
Students participate on research projects
in various areas of knowledge discovery and data mining:
Project proposal
Consultation during the term
Presentation of results, a final report It is appropriate for those who look for help in solving more complex tasks of machine learning and data mining.
PV119 Elements of Law
zk 2/0 2 kr., podzim
- Mgr. et Mgr. Denisa Šmídová
- Goals: The basic goal of the lecture is to explain the priciples of law as a instrument of society control and survay of individual branches of law oriented on obtaining of basic practical orientation connecting with informatics.
- Learning outcomes: Student will get basic practical orientation in legal aspects related to informatics.
- Syllabus:
Priciples of law as a instrument of society control.
Elemantary concepts of law theory.
Legal authority and incidence.
Survay of individual branches of law oriented on obtaining of basic practical orientation connecting with Informatics: -- civil law -- commercial law -- labour law -- family law -- intellectual property law -- constitutional law -- administrative law -- penal law -- environmental law.
PV123 Introduction to Visual Communication
k 2/0 2 kr., podzim
- doc. Mgr.art. Helena Lukášová, ArtD. - MgA. Jana Malíková - Mgr. Lukáš Pevný - MgA. Anna Boček Ronovská, Ph.D. - MgA. Kateřina Spáčilová
- Prerequisities: Prerequisite for: Script I, Typography I, Graphic Design I, Photography I ( prerequisite for Photography I is this course or Historical Changes of Photography)
- Goals: The objective of the course is to present principles of the visual communication and to stress the importance in the contemporary information society. The information has new potention through the digital media. The course introduces topics throught the compilation of lectures discussing topics such as perception and interpretation of the reality, semiotics, relationship of visual perception and read information, new media, principles of graphic design and its history, principles of font creating and typography, introduction to moving pictures, digital fabrication.
- Learning outcomes: Students will understand the topic of visual communication in relation to information technologies. Students will understand the inter-relationship between written information and depiction of a information in visual form, development of representation of perspective, writting, animation, graphic design. They will also learn about semiotics theories.
- Syllabus:
Introduction - What is visual communication, representation, mimesis, eidetic reduction, problem of depiction of abstract concept.
Interpretation of the space - fropm reality to illusion. Creation of the meaning - semiotic theories - dualistic, triadic, connotation, dennotation, mythology.
Digital media. Idea as the final product and the new possibilities of its processing.
Photography and its message. The theory of communication as the universal foundation of the photography.
Type in context of its construction, creation and classification.
Work with type, Work with the fonts with the emphasis on the formal and conceptual point of view.
General problematics of the graphic design. What is graphic design, presentation of the examples of works of czech and worldwide famous graphic designers. Basic rules of graphic design.
Information design. Relation of the function and the form.
Legal protection of author's work and related legal issues.
How to be the graphioc designer and not to loose the mind. Broader view on the position of graphic designer, realion to a client. An idea and communication as the basis of succesful result.
Digital fabrication as a third industrial revolution
PV136 DB Systems Seminar
k 0/1 1 kr., jaro
- RNDr. Miroslav Křipač, Ph.D.
- Prerequisities: PB154 Database Systems recommended.
- Goals: This course provides practical expirence with database application development and database systems production. Main objectives can be summarized as follows: - To learn database systems fundamentals. - To apply new database management trends to practices.
- Learning outcomes: understand database system architecture; maintain and tune database systems
- Syllabus:
Database Systems Architecture Overview
Oracle DBMS Architecture
Efficient Database Applications
Transactions
Performance Tuning
Database Systems Hardware
Database Clusters
Databases and Clouds
PV156 Digital Photography
k 1/1 2 kr., podzim
- RNDr. Vít Kovalčík, Ph.D.
- Goals: The course aims to familiarize the student with all the main practical aspects of taking and processing photographs.
- Learning outcomes: At the end of the semester, the student will be able to understand principles of the photographic hardware, including parameters and internal operation of cameras and lenses. They will be also able to perceive the usual compositional rules and manage the basic processing of the photographs on the computer.
- Syllabus:
Different types of photographic cameras, digital sensor types, sensor strengths and weaknesses, crop factor and full frame, other parts of photographic devices. Strengths and weaknesses of digital photography.
Lens types, characteristics and usage. Lens characterization and build. Optical and build defects. Other photographic accessories.
Basics of photographs taking. Compositional rules, setting the exposure, explaining the relations between the aperture, exposure time and sensitivity.
Format types (JPEG, TIFF, RAW), basic and advanced adjustment in photo editing, work with layers, software for photo editing. Removing defects made by sensors or lens.
PV157 Authentication and Access Control
zk 2/0 2 kr., podzim
- prof. RNDr. Václav Matyáš, M.Sc., Ph.D. - JUDr. Pavel Loutocký, Ph.D., BA (Hons) - RNDr. Vojtěch Suchánek
- Prerequisities: Register this course after PV080.
- Goals:
The course aims to advance the knowledge of PV080 graduates in the areas of authentication and access control, to teach the students to:
explain interdependencies and relations between different methods of authentication and access control;
estimate applicability of moder biometric authentication methods, their impact and practical problems;
judge methods of authentication in computer systems;
estimate pros and cons of different methods of authentication and access control;
apply different approaches to the design authentication solutions. - Learning outcomes:
A graduate of this course will be able to:
explain interdependencies and relations between different methods of authentication and access control;
estimate applicability of moder biometric authentication methods, their impact and practical problems;
judge methods of authentication in computer systems;
estimate pros and cons of different methods of authentication and access control;
apply different approaches to the design authentication solutions. - Syllabus: Authentication of users: secret information, tokens. Introduction to biometric authentication. Frequently used biometrics. Problems of deploying biometrics. Data authentication. Electronic signature and its use. Authentication of machines and applications. Authorization and access control. Discretionary access control. Multilevel systems. Autentication and authorization techniques in current ICT systems.
PV160 Laboratory of Human-Computer Interaction
z 0/0 2 kr., podzim
- Mgr. Jiří Chmelík, Ph.D. - Priv.-Doz. Dipl.-Ing. Dr. Simone Kriglstein
- Prerequisities:
souhlas
Applicants should have an interest in research in areas of HCI or Visualization. - Goals: Students should gain experience in areas of human-computer interaction, computer graphics or visualization via participation in research projects carried out by the HCI lab and the Visit lab.
- Learning outcomes:
At the end of the course students:
- will be familiar with modern HCI equipment available in the HCI Laboratory;
- will improve their abilities to work on research projects in small teams. - Syllabus:
Initial meeting with lecturers, agreement on the semester project topic;
Individual/teamwork on a research project;
Presentation of preliminary results;
Individual/teamwork on a research project;
Presentation of final results;
PV160 Human-Computer Interaction Laboratory
z 0/0 2 kr., jaro
- Mgr. Jiří Chmelík, Ph.D. - doc. RNDr. Barbora Kozlíková, Ph.D. - RNDr. Jan Byška, Ph.D. - RNDr. Katarína Furmanová, Ph.D. - Priv.-Doz. Dipl.-Ing. Dr. Simone Kriglstein - RNDr. Vít Rusňák, Ph.D. - Mgr. Marek Trtík, Ph.D.
- Prerequisities:
souhlas
Applicants should have an interest in research in areas of HCI or Visualization. - Goals: Students should gain experience in areas of human-computer interaction, computer graphics or visualization via participation in research projects carried out by the HCI lab and the Visit lab.
- Learning outcomes:
At the end of the course students:
- will be familiar with modern HCI equipment available in the HCI Laboratory;
- will improve their abilities to work on research projects in small teams. - Syllabus:
Initial meeting with lecturers, agreement on the semester project topic;
Individual/teamwork on a research project;
Presentation of preliminary results;
Individual/teamwork on a research project;
Presentation of final results;
PV162 Image Processing Project
k 0/2 2 kr., podzim
- doc. RNDr. Pavel Matula, Ph.D.
- Prerequisities:
SOUHLAS
Knowledge at the level of course PV291 or at least PB130 is required - Goals: The course objective is to strengthen the student's capability of analyzing real-world problems in the field of digital image processing and finding suitable solutions.
- Learning outcomes: At the end of the course, the student will be able to better solve practical problems from the area of digital image processing.
- Syllabus:
Extension and more profound knowledge of the topics presented in PV291 and PB130 with emphasis on solving a practical project. The projects are in principle of three types:
Programming: implementation and testing of a given algorithm (in a chosen programming language)
Creative: finding a suitable solution to a given problem
Study: testing and comparison of several algorithms/implementations on a given data
PV162 Image Processing Project
k 0/2 2 kr., jaro
- doc. RNDr. Petr Matula, Ph.D.
- Prerequisities:
souhlas
Knowledge at the level of course PV291 or at least PB130 is required - Goals: The course objective is to strengthen the student's capability of analyzing real-world problems in the field of digital image processing and finding suitable solutions.
- Learning outcomes: At the end of the course, the student will be able to better solve practical problems from the area of digital image processing.
- Syllabus:
Extension and more profound knowledge of the topics presented in PV291 and PB130 with emphasis on solving a practical project. The projects are in principle of three types:
Programming: implementation and testing of a given algorithm (in a chosen programming language)
Creative: finding a suitable solution to a given problem
Study: testing and comparison of several algorithms/implementations on a given data
PV165 Process Management
zk 1/1 2 kr., jaro
- RNDr. Jaroslav Ráček, Ph.D.
- Prerequisities: The basic knowledge of software engineering principles and techniques.
- Goals:
Main objectives can be summarized as follows:
to understand the process management and workflow systems;
to learn to plan, execute and monitor business processes;
to learn to estimate, control and optimize the process time, cost and quality. - Learning outcomes: Students will understand the basic concepts and principles of business process management. At the end of the course, the student will be able to design a simple process structure that he / she can develop and optimize in terms of time and cost.
- Syllabus:
History, Process Management, Business Processes.
Workflow, Workflow System, Workflow Reference Model.
Workflow Enactment Service (WES).
Workflow Application Programming Interface & Interchange (WAPI).
Process Definition Tools (PDT), Workflow Process Model.
User and Application Interfaces and Communication.
Communication with other Workflow Systems.
Administration and Monitoring.
Process Efficiency Determination.
Process Simulation.
Process Optimisation, CPI, BPR.
BPMN (Business Process Modelling Notation).
BPEL (Business Process Execution Language).
Using UML for Process Modeling.
CASE Tools of Process Modeling.
Commercial Workflow Products.
Workflow Standards.
Workflow Application Development, Project Management.
PV167 Seminar on Design and Architecture Patterns
z 0/2 3 kr., podzim
- doc. RNDr. Radek Ošlejšek, Ph.D.
- Prerequisities:
PA103 || now ( PA103 )
Practical seminar supporting the theoretical lecture PA103 Object-oriented Methods for Design of Information Systems. We expect knowledge of object-oriented paradigm, core knowledge of software engineering, knowledge of UML models. - Goals:
Understanding of key principles and usability of software patterns;
A deeper understanding of properties of selected patterns;
Application of analysis and design patterns on a complex system;
Decomposition of a system based on its software architecture;
Introduction to the measurement and optimization of software quality; - Learning outcomes:
At the end of the course, a student should be able to:
- decompose software applications according to the principles of software architectures and tactics;
- describe software decomposition by means of UML models;
- describe properties of selected analysis and design patterns;
- apply analysis and design patterns during the decomposition of object-oriented and component systems;
- discuss properties of software patterns - assess the impact of the application of patterns on software quality; - Syllabus:
Introduction to the Visual Paradigm CASE system, project assignment.
Use-case-driven requirements.
Analysis patterns.
Application of selected analysis patterns.
Design patterns.
Application of selected design patterns.
Presentation and discussion of approaches, and project defense.
Models of software architecture, component decomposition.
Software quality, qualitative attributes. Analysis of selected qualitative attributes (reliability, performance) of component models.
PV168 Seminar in Java programming
k 2/2 3 kr., podzim
- Mgr. Jiří Weiser - Ing. Pavel Hrdina - Ing. Jiří Koudelka - Bc. Oliver Mačejovský
- Prerequisities:
PB162 || SOUHLAS
Java programming knowledge covered by the course PB162. - Goals: The goal of this course is to extend the basic knowledge of Java and master its practical application in concrete team projects. The student will be able to appropriately decompose simple programming tasks and write robust code including automated tests. The student will get acquainted with basics of GUI development, multithreaded applications, fundamental APIs, and simple database (JDBC). After passing the course, the student is expected to be capable of designing and developing simple applications in Java. Furthermore, the student is also expected to know how to cooperate with colleagues during the development process.
- Learning outcomes:
Student will be able to:
- do object design in Java;
- use presented design patterns;
- use and write unit tests in JUnit;
- access relational databases in Java via JDBC;
- use SwingWorker class for asynchronous computations
- describe the principles of applications with a graphical user interface;
- write simple applications with GUI in Java;
- cooperate with colleagues during software development. - Syllabus:
GUI Applications
Object-oriented design in Java
Design patterns
Testing, Unit Testing, JUnit
Databases in Java, JDBC
Immutable objects
Logging, Error reporting
Asynchronous desktop applications
PV169 Communication Systems Basics
zk 2/0 2 kr., podzim
- doc. Ing. Václav Oujezský, Ph.D.
- Goals: At the end of the course, students understand the basic principles of data transmission.
- Learning outcomes: Understanding the basic principles of data transmission.
- Syllabus:
Introduction to data communications
Physical layer
Transfer media
Signals
Digital transmission
Analog transmission
Multiplexing
Switching
Error Control
Data Link Control
Medium Access Control
Routing
PV170 Design of Digital Systems
zk 2/0 3 kr., podzim
- prof. Ing. Václav Přenosil, CSc. - doc. RNDr. Zdeněk Matěj, Ph.D.
- Prerequisities: Course PV170 is an introductory subject of study. It is advisable to complete the course PB170 in parallel. In course PB170 you will gain practical experience and skills of working with digital circuits, with digital circuit design systems and digital circuit modeling and simulation.
- Goals:
The main aim of this course is to understand and master basic theoretical knowledge and practical virtuosity necessary for description and design of the digital systems. The lessons specialises in particular into the following topics:
- digital representation of numbers.
- basic algorithms of arithmetic and logical operations in the binary number system.
- fundamentals of the logical algebra and logical function.
- design of the simple combination circuits.
- design of the elemental sequential circuits. - Learning outcomes: The student can independently use the basic algorithms of arithmetic and logical operations in the binary number system, apply the basic rules of logical algebra, and design simple combinational and basic synchronous sequential circuits.
- Syllabus:
Theory of the encoding and data representation.
Basic algorithms of arithmetic and logical operations.
Logic algebra and optimization of logical terms.
Implementation of arithmetic and logical operations into digital systems.
Realization and principles of digital circuits.
Optimization of digital circuits structure and operation.
Fundamental logic circuits and digital system modules
The methodology of combinational and sequential circuits design.
Design and assembly of a digital circuit as part of block teaching.
Basic operational units of digital systems
PV172 Architecture of Digital Systems
zk 2/0 2 kr., jaro
- prof. Ing. Václav Přenosil, CSc. - doc. RNDr. Zdeněk Matěj, Ph.D.
- Prerequisities: Course PV170 - Design of Digital Systems is advisable source of necessary knowledges for current course.
- Goals: Main aim of this course is understand and master theoretical knowledge necessary for design high-performance digital systems.
- Learning outcomes:
Students will be capable of:
application of basic design elements of digital systems;
understanding the principle of the modular systems design methodology;
tto verify the function of basic modules of digital systems. - Syllabus:
The structure of a simple number system
A typical instructional repertoire
Organization of interrupts in a simple processor, DMA
Principles of construction and structure of memories and addressing methods
A/D and D/A converters
Parallel and serial buses - principles of synchronization
Input and output devices and their incorporation into simple processors
Buffer memory - CACHE memory, entry of individual projects
External buses and auxiliary circuits
Controllers
Acceleration of arithmetic operations
Final seminar
PV173 Natural Language Processing Seminar
k 0/2 2 kr., podzim
- doc. RNDr. Aleš Horák, Ph.D. - doc. Mgr. Pavel Rychlý, Ph.D. - RNDr. Zuzana Nevěřilová, Ph.D.
- Prerequisities: Active work in the Laboratory of Natural language processing as well as an approval of registration by the lecturer (P.Rychly, A.Horak) is needed. The seminar is given in English. Presentations can be in English, Czech or Slovak.
- Goals: The aim of the seminar is a presentation of results of student research (both doctoral and pregradual) in the NLP Laboratory (http://nlp.fi.muni.cz/).
- Learning outcomes:
After the seminar, the students will:
- gain insight into recent works in the field of computer natural language processing (NLP);
- be able to discuss NLP issues and solutions;
- understand an evaluation of NLP problems on the data sets used;
- design and present a custom solution for a selected NLP problem. - Syllabus: The lectures consist mostly of students' presentations. The presentations and discussion are usually in Czech or, according to the preferences of the speaker, in English. The students can control the content of the seminar in the discussions after each presentation.
PV173 Natural Language Processing Seminar
k 0/2 2 kr., jaro
- doc. RNDr. Aleš Horák, Ph.D. - doc. Mgr. Pavel Rychlý, Ph.D. - RNDr. Zuzana Nevěřilová, Ph.D.
- Prerequisities: Active work in the Laboratory of Natural language processing as well as an approval of registration by the lecturer (P.Rychly, A.Horak) is needed. The seminar is given in English. Presentations can be in English, Czech or Slovak.
- Goals: The aim of the seminar is a presentation of results of student research (both doctoral and pregradual) in the NLP Laboratory (http://nlp.fi.muni.cz/).
- Learning outcomes:
After the seminar, the students will:
- gain insight into recent works in the field of computer natural language processing (NLP);
- be able to discuss NLP issues and solutions;
- understand an evaluation of NLP problems on the data sets used;
- design and present a custom solution for a selected NLP problem. - Syllabus: The lectures consist mostly of students' presentations. The presentations and discussion are usually in Czech or, according to the preferences of the speaker, in English. The students can control the content of the seminar in the discussions after each presentation.
PV174 Laboratory of Electronic and Multimedia Applications
k 0/0 2 kr., podzim
- doc. RNDr. Petr Sojka, Ph.D.
- Prerequisities:
souhlas
Willingness to work on projects of the LEMMA laboratory in the areas (in the request for consent, please write in which of the following two parts, or a combination of both, you want to be involved in and what talents and prerequisites you have for it:
1. Film part (must have completed the course PV110): support and mentoring of PV110 Fundamentals of Film Speech (autumn) and PV113 Production of an audiovisual work (spring) or production of one's own student film for the purposes of FF FI MU.
2. Festival production: production and organization of the MU Faculty of Informatics Film Festival (FF FI MU). Preparation of the festival concept (autumn) and its implementation (spring) in the thematic areas of organization, PR, visuals, video, web, and technology.
Both groups also include research in the field of film science, electronic publishing, project use of video technology for e-learning, and preparation of educational video materials (Spring and Autumn). - Goals: The aim of the course is to teach students to work independently and consistently on the laboratory's audiovisual projects (film festival, materials for e-learning, documentary projects and their mentoring), or to participate in the research of the LEMMA laboratory, thus inflaming the desire to express themselves audiovisually through film language.
- Learning outcomes:
After completing the course, the student will be able to:
* orientation in the production of a multimedia work, * orientation and argumentation of film language options, * orientation in organizing an event (event management), * experience with agile methods of project development, * teamwork and communication (soft skills) on the creative and production aspects of the creation of short works and/or * research work and communication in the team. - Syllabus:
Two seminar groups are available:
01 = a) Mentoring PV110 (Fall) and PV113 (Spring), b) LEMMA administration
02 = Festival preparation.
You can enroll and participate in both groups.
Responsibilities of Group 01
a) Mentoring students in the PV110 (Fall) and PV113 (Spring) courses.
Reviewing concepts, literary scripts, technical scripts (Fall), and supporting the production of film projects and the festival project (Spring).
b) LEMMA Administration
Maintaining and operating the reservation system, ensuring the availability of camera, sound, and photography equipment for low-budget productions. Processing documentation and recommending filming and sound recording procedures. Proposing equipment purchases and writing grant projects for their acquisition.
Maintaining and operating the video archive, ensuring backup policies for LEMMA, including the festival archive.
Ensuring the availability software for video production, its identification, support, installation, and system maintenance at LEMMA.
Responsibilities of Group 02
Festival preparations, division into and staffing of 6 festival teams.
Organization - Securing sponsors, grants, and patronage, budget management, event planning.
PR - Promotion, media relations, contact events, social media management.
Visuals - Creating visual elements for print materials, social media, web.
Video - Preparing and producing trailers, moderator segments, and promotional videos.
Web - Maintenance, operation, and archiving of the festival website.
Technical - Managing departmental and technical support for screenings, technical processing of video content.
PV174 Laboratory of Electronic and Multimedia Applications
k 0/0 2 kr., jaro
- doc. RNDr. Petr Sojka, Ph.D.
- Prerequisities:
souhlas
Willingness to work on projects of the LEMMA laboratory in the areas (in the request for consent, please write in which of the following two parts, or a combination of both, you want to be involved in and what talents and prerequisites you have for it:
1. Film part (must have completed the course PV110): support and mentoring of PV110 Fundamentals of Film Speech (autumn) and PV113 Production of an audiovisual work (spring) or production of one's own student film for the purposes of FF FI MU.
2. Festival production: production and organization of the MU Faculty of Informatics Film Festival (FF FI MU). Preparation of the festival concept (autumn) and its implementation (spring) in the thematic areas of organization, PR, visuals, video, web, and technology.
Both groups also include research in the field of film science, electronic publishing, project use of video technology for e-learning, and preparation of educational video materials (Spring and Autumn). - Goals: The aim of the course is to teach students to work independently and consistently on the laboratory's audiovisual projects (film festival, materials for e-learning, documentary projects and their mentoring), or to participate in the research of the LEMMA laboratory, thus inflaming the desire to express themselves audiovisually through film language.
- Learning outcomes:
After completing the course, the student will be able to:
* orientation in the production of a multimedia work, * orientation and argumentation of film language options, * orientation in organizing an event (event management), * experience with agile methods of project development, * teamwork and communication (soft skills) on the creative and production aspects of the creation of short works and/or * research work and communication in the team. - Syllabus:
Two seminar groups are available:
01 = a) Mentoring PV110 (Fall) and PV113 (Spring), b) LEMMA administration
02 = Festival preparation.
You can enroll and participate in both groups.
Responsibilities of Group 01
a) Mentoring students in the PV110 (Fall) and PV113 (Spring) courses.
Reviewing concepts, literary scripts, technical scripts (Fall), and supporting the production of film projects and the festival project (Spring).
b) LEMMA Administration
Maintaining and operating the reservation system, ensuring the availability of camera, sound, and photography equipment for low-budget productions. Processing documentation and recommending filming and sound recording procedures. Proposing equipment purchases and writing grant projects for their acquisition.
Maintaining and operating the video archive, ensuring backup policies for LEMMA, including the festival archive.
Ensuring the availability software for video production, its identification, support, installation, and system maintenance at LEMMA.
Responsibilities of Group 02
Festival preparations, division into and staffing of 6 festival teams.
Organization - Securing sponsors, grants, and patronage, budget management, event planning.
PR - Promotion, media relations, contact events, social media management.
Visuals - Creating visual elements for print materials, social media, web.
Video - Preparing and producing trailers, moderator segments, and promotional videos.
Web - Maintenance, operation, and archiving of the festival website.
Technical - Managing departmental and technical support for screenings, technical processing of video content.
PV175 MS Windows Systems Management I
k 1/2 3 kr., podzim
- Mgr. Břetislav Regner - doc. RNDr. Eva Hladká, Ph.D. - Lukáš Fázik
- Prerequisities: Knowledge of operating systems fundamentals (at least comparable to PB152 Operating Systems course). User experience with Windows 10/11.
- Goals: The goal of the course is to provide students with comprehensive knowledge needed to manage MS Windows desktop operating systems. It focuses on Windows 11, but most of the information is also applicable to Windows 10.
- Learning outcomes: The student is able to administer desktop stations with MS Windows. They can prepare and perform an operating system installation or upgrade on a physical or virtual machine, install necessary drivers and devices, manage users, assign and manage permissions, install and manage applications, set up basic networking options, provide security, backup and restore system and data, monitor system health, and diagnose and resolve problems.
- Syllabus:
Windows 11 Versions and editions
User Accounts and profiles
Operating system installation, upgdades and migrations
Installing drivers and device management
Networking, firewall
Disk management, file systems
Installing and managing applications
Storage encryption, Bitlocker, Encrypting File System, external media encryption
File and printer sharing
Virtualization, client Hyper-V, Sandbox
Automation, PowerShell
Logging, Event Viewer, Task Manager
Solving system startup problems
Backup/restore, Shadow copy
Security functions and tools
Remote management - RDP, PowerShell remoting, SSH, Quick Assist
PV177 Laboratory of Advanced Network Technologies
z 0/2 2 kr., podzim
- doc. RNDr. Eva Hladká, Ph.D. - RNDr. Tomáš Rebok, Ph.D. - RNDr. Martin Ukrop, Ph.D.
- Prerequisities:
souhlas
PV177/DataScience (Big Data Analytics in Practice) -- none - Goals:
Familiarization with the area and practical (team) project aimed at adopting the principles in one of the areas, which the course is specialized on in the particular semester.
In current semester, the course is specialized in the following areas:
1. PV177/DataScience (Big Data analytics in practice) -- the aim of this course's specialization is to introduce students to methods and tools for analyzing large data volumes (so-called Big Data), which will then be examined in the form of practical projects presented at the end of the semester. - Learning outcomes: Getting new knowledge in the chosen area of interest and working on a practically-oriented (team) project.
- Syllabus:
1. PV177/DataScience (Data Analytics in Practice):
Team project in one of the areas, which the course is specialized on in the particular semester: Big Data analytics, computer networks, grids or multimedia. Students can choose or are assigned a practical project (team-based, i.e. an assignment will be solved by a group of students). When solving the project, students will master the advanced understanding of a subject, acquire basic research methodology, will optionally perform the research and will present achieved results. The work progress will be evaluated on regular weekly or two-weekly seminars, where students will receive the necessary feedback on their undertakings.
The last seminar will be devoted to the overall evaluation and students will receive credits.
PV177 Laboratory of Advanced Network Technologies
z 0/2 2 kr., jaro
- doc. RNDr. Eva Hladká, Ph.D. - RNDr. Tomáš Rebok, Ph.D. - RNDr. Martin Ukrop, Ph.D.
- Prerequisities:
souhlas
Premises of the subject are judged by teachers and registration is possible only with their agreement. - Goals:
Familiarization with the area and practical (team) project aimed at adopting the principles in one of the areas, which the course is specialized on in the particular semester.
In current semester, the course is specialized in the following area:
The area will be added later. - Learning outcomes: After graduation this course student will be able deeper understanding study domain including specific used methods and tools and will be able to work with this tools.
- Syllabus: The course haz variable number of seminary groups with different subjet frorom areas: 1. Computer networks and technologies 2. Security in networks and other areas 3. Large data 4. Cloud technologies Concrete outline is fulfilled by teachers on the beginning of the semester.
PV178 Introduction to Development in C#/.NET
zk 2/2 3 kr., jaro
- RNDr. Martin Macák, Ph.D.
- Prerequisities:
PB006
- Goals: The aim of the course Introduction to Development in C#/.NET is to familiarize students with the C# programming language, the Visual Studio development environment and the main techniques accompanying the development of C#/.NET applications.
- Learning outcomes:
At the end of this course the student should:
- know basic tasks and techniques accompanying the development process of C#/.NET applications;
- be familiar with Visual Studio environment;
- know the essential features and programming constructs of C# programming language;
- be able to write high-quality C# code. - Syllabus:
The C# programming language and MS .NET Framework.
Programme structure in C#.
Common type system (value types, reference types).
Class type and its members.
Namespaces.
Parameter-passing, overloading of methods.
Encapsulation, inheritance, polymorphism (virtual methods).
Abstract methods (abstract classes).
Interfaces.
Exceptions.
Enumeration types.
Array, string and struct types.
Generics.
Collections.
Iterators.
Delegates (anonymous methods, lambda expressions), events.
File input/output (streams).
LINQ (LINQ to Objects).
Paralel and asynchronous programming.
PV179 System Development in C#/.NET
k 2/2 3 kr., podzim
- RNDr. Martin Macák, Ph.D.
- Prerequisities: Basic knowledge of the C# language (best on the level of PV178), basic knowledge of HTML, and knowledge at the level of PB154 and PB007.
- Goals: The course will extend the knowledge gained in PV178 Introduction to Development in C#/.NET through practical work on a specific project. The students will learn to create a non-trivial web application in ASP.NET Core, create REST interface, work with the ORM framework, and understand the practical usage of enterprise design patterns and other good practices. Some of the chosen lectures also introduce to students the development of various kinds of applications with the focus on the techniques and technologies supporting this task.
- Learning outcomes:
At the end of the course the students will know typical applications of the .NET framework and be able to:
- describe some of the essential technologies used in the .NET environment;
- understand and apply the principles of the multi-tier architecture;
- write applications using persistence and ORM;
- apply the enterprise design patterns;
- use good practices (for example Dependency Injection, mapping, common design patterns);
- design the application independently from the chosen ORM framework and choose the right persistent technology for the given project;
- test the individual parts of the application in isolation;
- create the non-trivial web application on ASP.NET Core platform;
- integrate the authentication and secure the application against the most common attacks;
- create REST interface for the web application. - Syllabus:
Data layer (Entity Framework Core, querying)
Business logic layer (structure and related design patterns)
Presentation layer (ASP.NET Core MVC, ASP.NET Core Web API)
PV181 Laboratory of security and applied cryptography
k 0/2 2 kr., podzim
- Lukasz Michal Chmielewski, PhD - Mgr. Marek Sýs, Ph.D. - prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
- Prerequisities: Registration to PV181 requires: 1) long-term interest in IT security; 2) programming skills (ideally C and Java) under Unix/Linux or Win32; 3) fluent English.
- Goals: The aim of this subject is to understand the implementation details of cryptographic algorithms and protocols and to be able to apply the gained knowledge in practice. At the end of the course, students should be able to design and implement cryptographic applications relying on the most commonly-used crypto-libraries.
- Learning outcomes:
To teach the students to:
select appropriate cryptographic function according to requirements;
understand basic-level issues of implementing cryptographic applications;
apply the gained knowledge in practice;
compare crypto functions and libraries in terms of efficiency and level of abstraction;
independently design and implement simple cryptographic applications in various environments;
evaluate crypto applications in terms of their security and efficiency. - Syllabus: Principles of cryptography and cryptographic standards (symmetric cryptography, random number generation, hash functions, asymmetric cryptography, certificates, certification authority, PKI). Using cryptographic libraries in crypto-applications (OpenSSL, Java, Microsoft Crypto API). Digital Signatures (including CMS/PKCS#7 structure). Formats of common cryptographic files (keys, certificates, ASN.1). Biometric systems (fingerprint, face). Hardware security aspects of crypto-libraries (side-channel analysis, fault injection).
PV182 Human-Computer Interaction
zk 2/1 3 kr., jaro
- Priv.-Doz. Dipl.-Ing. Dr. Simone Kriglstein - RNDr. Vít Rusňák, Ph.D.
- Prerequisities:
program ( N - VIZ ) || program ( N - VIZ_A ) || SOUHLAS
- Goals:
The course deals with the basics of human-computer interaction and user-centered design. The focus is on theoretical foundations and practical experience with techniques and tools, psychological aspects, user interface design criteria, interface design, and evaluation of prototypes followed by the human-centered design process.
The goal is to provide an overview of theoretical foundations and practical experience with human-computer interaction techniques and methods, emphasizing the Human-Centered Design Process. The students will become familiar with interface design principles current trends in HCI and gain hands-on experience through practical exercises and a semester-long team project. - Learning outcomes:
After finishing the course, students will:
- comprehend the principles of good design and will be able to apply them,
- understand the impact of psychological capabilities and cognitive models on interaction design,
- know how to apply the human-centered design process to a selected problem,
- be able to identify the needs of user groups and can specify the corresponding tasks,
- be able to design low-fidelity and high-fidelity prototypes of user interfaces in a tool of choice,
- be able to design and conduct a quantitative and qualitative evaluation using at least three methods and report on their results,
- name and describe concrete techniques and tools used during the human-centered design process,
- identify and propose improvements in the user interface design concerning usability, accessibility, and diversity of users,
- name examples of HCI applications in specific domains. - Syllabus:
- Foundations of the human-computer interaction
- Introduction to the human-centered design process
- Requirement analysis, including user analysis and task analysis
- Principles and elements of graphical user interfaces and visual design, including visual variables, metaphors, and direct manipulation
- Low-fidelity and high-fidelity prototyping using proper tools (pen&paper, Figma, ...)
- Quantitative and qualitative user evaluation methods
- Usability heuristics and the principles of usability testing
- New interactive technologies and collaboration
- HCI in specific domains (e.g., Games) and for specific user groups (children, seniors, people with disabilities)
PV183 Computer Networks Technology
zk 2/0 2 kr., jaro
- RNDr. Jaroslav Pelikán, Ph.D.
- Goals: The main goal of the course Technology of Computer Networks is to provide students with information about technology and services that are used in modern computer networks. The students obtain information about particular network architectures, principles of local network administration, set of TCP/IP protocols, routing of information, and about the Internet.
- Learning outcomes:
At the end of this course, students should know:
transmission media and media access methods characteristics;
various network architectures characteristics;
possibilities of LAN design;
fundamentals of wireless communication technologies;
the OSI model;
fundamentals of IPv4, ARP, TCP, UDP, and IPv6 protocols operation. - Syllabus:
Computer networks. Basic concepts, different sorts.
Network topologies and their properties.
Transfer media (thin and thick coax-cable, twisted-pair, fibre optic).
Media access methods (deterministic and stochastic).
Network architectures (Token-Ring, Ethernet, Fast Ethernet, Gigabit Ethernet, 10G Ethernet, FDDI, ATM, ...) and principles of their operation.
Wireless communication technologies.
Digital signal hierarchy. SONET/SDH. ISDN. DSL technology.
Virtual networks (VLAN).
The OSI Model.
Protocols IPv4, ARP, TCP, and UDP. Routing in TCP/IP networks. IPv6 protocol.
The Internet.
PV187 Seminar of digital image processing
z 0/0 2 kr., podzim
- prof. RNDr. Michal Kozubek, Ph.D.
- Prerequisities:
souhlas
Knowledge at the level of the course PA229 Digital Image Processing is required, as well as practical experience with digital image processing (e.g., gained in the course PV162 Image Processing Project). - Goals: The student will gain a more profound knowledge about a chosen area of image processing solved in the Centre for Biomedical Image Analysis at FI MU and will study literature on a selected practical topic followed by a presentation in English. This will strengthen the student's capability of understanding real-world problems in the given field, finding suitable solutions and participating in scientific team discussions.
- Learning outcomes:
The student will be able to:
describe and share own image analysis solutions with colleagues;
prepare an oral presentation about specific image analysis workflow;
analyze strengths and weaknesses of image analysis workflows presented by others;
suggest suitable modifications to image analysis workflows presented by others; - Syllabus: This course is a seminar (presentations followed by team discussions) focused on the methods of acquiring and processing digital images of cells, tissues and organs, especially in connection with biomedical research held in the Centre for Biomedical Image Analysis at FI MU.
PV187 Seminar of Digital Image Processing
z 0/0 2 kr., jaro
- prof. RNDr. Michal Kozubek, Ph.D.
- Prerequisities:
souhlas
Knowledge at the level of the course PA229 Digital Image Processing is required, as well as practical experience with digital image processing (e.g., gained in the course PV162 Image Processing Project). - Goals: The student will gain a more profound knowledge about a chosen area of image processing solved in the Centre for Biomedical Image Analysis at FI MU and will study literature on a selected practical topic followed by a presentation in English. This will strengthen the student's capability of understanding real-world problems in the given field, finding suitable solutions and participating in scientific team discussions.
- Learning outcomes:
The student will be able to:
describe and share own image analysis solutions with colleagues;
prepare an oral presentation about specific image analysis workflow;
analyze strengths and weaknesses of image analysis workflows presented by others;
suggest suitable modifications to image analysis workflows presented by others; - Syllabus: This course is a seminar (presentations followed by team discussions) focused on the methods of acquiring and processing digital images of cells, tissues and organs, especially in connection with biomedical research held in the Centre for Biomedical Image Analysis at FI MU.
PV188 Principles of Multimedia Processing and Transport
zk 2/0 2 kr., podzim
- doc. RNDr. Eva Hladká, Ph.D. - RNDr. Miloš Liška, Ph.D. - Ing. Pavel Šiler
- Goals: Taking this lecture, a student gets an overview in the area of multimedia processing and transfer through computer networks. Basic principles of audio and image (including video) coding and processing are presented, as well as basic methods of multimedia transmissions over using computer networks. The lecture also includes foundations of audio and video acquisition including the principles of acquisition devices.
- Learning outcomes:
A graduate will be able to understand and explain principles of audio and video coding.
A graduate will be also able to design a system for capture and transmission of multimedia data through a computer network.
A graduate will be also able to select appropriate coding formats for multimedia, taking into account the requested quality and properties of the computer network. - Syllabus:
Audio acquisition, microphones
Audio mixing, interconnection of components
Video acquisition, cameras, lenses
Camera operations
Digital recording
Sampling and quantization principles
Audio and its perception
Special audio coding, audio compression mechanisms (MPEG-I Layer 3, MPEG-4 Part-3, FLAC etc.)
Image, video and its perception
Fourier transformation, DCT, compression
Compression mechanisms (MPEG family, Theora, Snow, Dirac), codecs, multimedia containers
Multimedia transmissions, distribution mechanisms, unicast vs. multicast
Audio and video conferences, streaming
PV189 Mathematics for Computer Graphics
zk 2/0 2 kr., podzim
- doc. RNDr. Pavel Matula, Ph.D.
- Prerequisities: Completion of MB151 and MB152 is the precondition.
- Goals: This lecture aims to enhance the mathematical foundations acquired through the previous studies. We focus on practical utilization of mathematics in the computer graphics area. The students gain an insight into the practical mathematics necessary for implementation of many computer graphics algorithms.
- Learning outcomes: After finishing the course the student will be able to: understand the common mathematics being used for solving computer graphics tasks; solve the typical tasks
- Syllabus:
Revision of linear algebra. Vectors, matrices, linear transformations.
Afinne geometry, homogeneous coordinates.
Eigen values, eigen vectors and their geometric meaning.
Principal component analysis.
Interactions of basic objects in 3D (lines, planes, spheres).
Rotation and quaternions.
Sampling vs. interpolation of digital signal.
Interpolation of rotation (LERP, SLERP, SQUAD, etc.).
Minimization (linear and nonlinear regression).
Geometrical properties of curves and surfaces (length, tangents, curvature, etc.).
PV191 Embedded systems seminar
k 0/3 3 kr., podzim
- doc. RNDr. Zdeněk Matěj, Ph.D. - prof. Ing. Václav Přenosil, CSc. - Ing. Jan Král, Ph.D.
- Goals: The course is suitable for students who are processing final theses. One is aimed at practical solutions to the particular problems of digital systems development. The aim is to gain practical experience and skills in the implementation and management of research and development activities related to the analysis, design, and implementation of specialized circuits, digital systems.
- Learning outcomes: At the end of the course, students will be able to: independent work in the design and implementation of the digital system
- Syllabus:
IrDA port design, market analysis
Data transmission using IrDA
Current RF technology data transmission, market analysis
Design of security device using RF data communication
Freescale digital barometer data processing with barometric pressure display
Touch graphical display control application
Position and altitude display using GPS module
MEMSIC accelerometer data filtration - inclinometer
Hitachi Compass module control, azimuth measurement
Humidity and temperature module data processing – display application
Distance measurement using ultrasonic rangefinder module with object counter using reflexive IR module
PV191 Embedded systems seminar
k 0/3 3 kr., jaro
- doc. RNDr. Zdeněk Matěj, Ph.D. - Ing. Jan Král, Ph.D.
- Goals: The course is suitable for students who are processing final theses. One is aimed at practical solutions to the particular problems of digital systems development. The aim is to gain practical experience and skills in the implementation and management of research and development activities related to the analysis, design, and implementation of specialized circuits, digital systems.
- Learning outcomes: At the end of the course, students will be able to: independent work in the design and implementation of the digital system
- Syllabus:
IrDA port design, market analysis
Data transmission using IrDA
Current RF technology data transmission, market analysis
Design of security device using RF data communication
Freescale digital barometer data processing with barometric pressure display
Touch graphical display control application
Position and altitude display using GPS module
MEMSIC accelerometer data filtration - inclinometer
Hitachi Compass module control, azimuth measurement
Humidity and temperature module data processing – display application
Distance measurement using ultrasonic rangefinder module with object counter using reflexive IR module
PV197 GPU Programming
zk 1/1 2 kr., podzim
- doc. RNDr. Jiří Filipovič, Ph.D.
- Prerequisities: C/C++ programming (PB111, PB160, PB161, PB071, or similar), familiarity with CPU architecture, and parallelization of algorithms (IB109).
- Goals: The goal of this course is to explain how to use GP GPU for general computation.
- Learning outcomes: After the end of the course students should: describe the architecture, programming model and optimization for GPUs; explain GPU implementation of several broadly used algorithms; create GPUs implementation of given computational tasks; judge the suitability of given computational problem for GPU acceleration.
- Syllabus:
Introduction: motivation for GPU programming, GPU architecture, overview of parallelism model, basics of CUDA, first demonstration code
GPU hardware and parallelism: detailed hardware description, synchronization, calculation on GPU -- rate of instruction processing, arithmetic precision, example of different approaches to matrix multiplication -- naive versus block-based
Performance of GPUs: memory access optimization, instructions performance, an example of matrix transposition
CUDA, tools and libraries: detailed description of CUDA API, compilation using nvcc, debugging, profiling, basic libraries, project assignment
Optimization: general rules for algorithm design for GPU, revision of matrix multiplication, parallel reduction
Parallelism in general: problem decomposition, dependence analysis, design analysis, parallel patterns
Metrics of efficiency for GPU: parallel GPU and CPU usage, metrics for performance prediction of GPU code, demonstration using graphics algorithms, principles of performance measurement
OpenCL: introduction to OpenCL, differences comparing to CUDA, exploiting OpenCL for hardware not accessible from CUDA
Case studies 1: Calculation of force field of molecule, automatic optimization of memory-bound functions
Case studies 2: Acceleration of image and video compression
Case studies 3: LTL model checking acceleration
Discussion of a project, presentation of best-achieved results, presentation of 3 best solutions by authors, final discussion
PV198 Onechip Controllers
zk 2/0 3 kr., podzim
- doc. RNDr. Zdeněk Matěj, Ph.D.
- Goals: The main aim of this course is to understand and master theoretical knowledge and practical virtuosity necessary for description and for application of the microcontroller and microcomputer.
- Learning outcomes:
At the end of the course, students will be able to:
design single-chip microcomputer applications;
to work with the C language in a single-chip microcomputer environment;
program single-chip microcomputer applications;
to work with peripherals of microcomputers (PWM, timer, ADC...). - Syllabus:
Programming of the microcontrollers:
structure of the programming language
control structures (Boolean expressions, conditions, cycles)
bit operations and bit array
terminal input/output
control of memories
pointers
onedimension and multidimensional array
structures, unions, enumeration types
Program control of the peripheral units:
serial ports
LED, bargraph, switches, buttons, shift registers
text and graphical displays
interrupt systems
counters and timers, PWM
A/D and D/A converters
control of the RAM, ROM and FLASH memories
Practical advices:
diagnostics, debugging
safe programming
projects administration
PV200 Introduction to hardware description languages
k 0/2 3 kr., podzim
- Ing. Jiří Čulen - doc. RNDr. Zdeněk Matěj, Ph.D.
- Goals: Within this course the students will obtain deeper knowledge on the field-programmable gate array (FPGA) and get familiar with advanced methods of hardware design using hardware description languages (HDL). Verilog HDL is used to demonstrate most of the principles.
- Learning outcomes:
Graduates of this course will be able to:
understand the FPGA principle;
design advanced systems using HDL Verilog version 2001
design application for FPGA. - Syllabus:
Programmable structures fundamentals.
Structural modelling of programable logic using schematics, basics of simulations.
Verilog HDL – concepts, basic syntax, structural modelling, design hierarchy.
Behavioural modelling of combinational logic, decoders, adders, subtractors.
Simulations by ModelSim, using of test benches
Sequential logic - Counters, clock dividers
Sequential logic – Synchronous design
Sequential logic – Finite state machines
Introduction to System Verilog and VHDL.
Practical tasks in Quartus II suite.
PV202 Service Systems Laboratory
k 0/0 2 kr., podzim
- Ing. Leonard Walletzký, Ph.D. - Mgr. Zuzana Schwarzová - Ing. Patrik Procházka
- Prerequisities:
souhlas
Preconditions for this course are: (1) capability of autonomous work; (2) English; (3) wish to work as a member of a team; - Goals: The Laboratory of Service Systems (LabSeS), also known as SeSLab, is based on the theory of Service Science, Service design, and System Thinking. Its general aim is to study the possibilities of service provision and their IT support, provisioned as a service, to bring maximal value to their users. The specific research focuses on the complex service environment, such as a Smart City, and the role of services in different contexts, along with the value for stakeholders and the general role of IT systems in such an environment. The laboratory has separate sections, Smart City and Open Data, for specific research. Students can work in either section and undertake various task types, including analytical, theoretical, programming, design, and managerial tasks. For more information, visit the lab's website: https://seslab.fi.muni.cz/
- Learning outcomes: Students are working on real-life projects, typically in cooperation with municipalities or institutions. Students can use their work in the lab as the base for their final thesis. They can also come work at SeSLab as interns for the mandatory university internship.
- Syllabus:
- Students select their problem focus based on the current status of lab projects.
- SeSLab promotes synergetic work, and the assignments are achieved through team cooperation of lab members.
- SeSLab uses MS SharePoint as a platform for team collaboration, materials and knowledge sharing.
PV202 Service Systems Laboratory
k 0/0 2 kr., jaro
- Mgr. Zuzana Schwarzová - Ing. Leonard Walletzký, Ph.D.
- Prerequisities: Preconditions for this course are: (1) capability of autonomous work; (2) English; (3) wish to work as a member of a team;
- Goals: The Laboratory of Service Systems (LabSeS), also known as SeSLab, is based on the theory of Service Science, Service design, and System Thinking. Its general aim is to study the possibilities of service provision and their IT support, provisioned as a service, to bring maximal value to their users. The specific research focuses on the complex service environment, such as a Smart City, and the role of services in different contexts, along with the value for stakeholders and the general role of IT systems in such an environment. The laboratory has separate sections, Smart City and Open Data, for specific research. Students can work in either section and undertake various task types, including analytical, theoretical, programming, design, and managerial tasks. For more information, visit the lab's website: https://seslab.fi.muni.cz/
- Learning outcomes: Students are working on real-life projects, typically in cooperation with municipalities or institutions. Students can use their work in the lab as the base for their final thesis. They can also come work at SeSLab as interns for the mandatory university internship.
- Syllabus:
- Students select their problem focus based on the current status of lab projects.
- SeSLab promotes synergetic work, and the assignments are achieved through team cooperation of lab members.
- SeSLab uses MS SharePoint as a platform for team collaboration, materials and knowledge sharing.
PV203 IT Services Management
zk 2/0 2 kr., jaro
- Ing. Vladimír Vágner
- Goals: This subject shows the emergence of service science, a new multidisciplinary area of study, to address the challenge of becoming more systematic about innovating in services. The subject points out solutions and proccesses mainly used in area of IT services.
- Learning outcomes:
At the end of the course students should be able:
to understand the paradigm shift from goods economy to service economy;
to undestand outsourcing and data centers services;
to formulate a Service Level Agreement;
to understand the SaaS - Software as a Service approach. - Syllabus:
Service science
IS/IT outsourcing
Delivery center model
Customer Support Center
Server System Operations & Desktop Client Support
Practical exercise
Network Services Delivery
Information Technology Infrastructure Library
Outsourcing Infrastructure Services, Customer Support Services
Further development of IS/IT outsourcing services
PV204 Security Technologies
zk 2/2 5 kr., jaro
- doc. RNDr. Petr Švenda, Ph.D. - Ing. Milan Brož, Ph.D. - Mgr. Vít Bukač, Ph.D. - Lukasz Michal Chmielewski, PhD - RNDr. Václav Lorenc
- Prerequisities: Registration to PV204 requires: 1) long-term interest in IT security; 2) programming skills (ideally C and Java) under Unix/Linux or Windows; 3) fluent English.
- Goals: The aim of this subject is to understand the deeper aspects of selected security and applied cryptographic topics. The topics cover cryptographic hardware security, including side-channel attacks, secure authentication, and authorization protocols, trusted boot, analysis of malware and rootkits (both black-box and gray-box), reverse engineering of binary applications, techniques used in Bitcoin cryptocurrency and file/disk encryption. Students should be able to apply the gained knowledge in practice based on experience gained from the laboratory, homework assignments, and extensive project work requiring programming skills.
- Learning outcomes:
After course completion, the student will be able to:
- explain the security advantages of hardware security element to a typical desktop operating system;
- analyze the implementation of a cryptographic algorithm for a presence of the timing side-channel;
- describe and use good practices for password handling, including password alternatives and their advantages;
- explain principles of key establishment protocols and building blocks of modern secure messaging systems;
- explain principles and used technologies of trusted computing;
- describe the technology behind disk encryption and used encryption modes;
- perform basic analysis of infected computer image;
- implement security-related application utilizing cryptographic smartcard with JavaCard platform and transfer data via a secure channel;
- explain security building blocks of cryptocurrencies like Bitcoin - Syllabus:
Side-channel attacks (timing, power and fault analysis)
Basics of smart cards (PC/SC, APDU, basic applet – JavaCard & .net card & MULTOS), secure programs on JavaCard platform
Secure authentication and authorization (common protocols like FIDO U2F and Signal, secure implementation, attacks)
Hardware Security Modules (HSM), PKCS#11 API, cryptographic hardware in cloud deployment
Trusted boot (TPM, trusted boot process, remote attestation)
Micro-architectural attacks against modern CPU (Meltdown, Spectre attacks principle, fixes, exploitability)
Black-box analysis of malware (infection vectors, analysis of the environment, network analysis)
Grey-box analysis of malware (analysis of memory dumps, tools)
Reverse engineering of binary applications (decompiler, disassembler, native-code debugging, binary patching)
File and disk encryption (Common architectures, used cryptographic modes, typical attacks)
Bitcoin cryptocurrency (P2P Bitcoin network, transactions, mining, second-layer networks like Lighting Network, use of hardware wallets, attacks)
PV206 Communication and Soft Skills
zk 3/2 4 kr., podzim
- prof. Renate Motschnig - prof. RNDr. Tomáš Pitner, Ph.D.
- Prerequisities:
SOUHLAS
When writing the course application, describe your personal motivation. Tell us why you want to study soft skills in general (not this particular course), and your opinion on what part of the course you think will be useful to you. There is also an FAQ in Study materials that must be read by all students of the course; we recommend to read it even before writing your application. - Goals:
The primary goal of this course is to allow students to improve their competence in communication, teamwork, moderation and other soft skills based on the students’ actual demands.
In the course, the students will gain knowledge and competencies regarding active listening, person centered communication, moderation techniques, team development, conflict management and related issues. - Learning outcomes:
After completion of the course, the students will be able to:
- competently communicate in their profesional life;
- actively participate in teamwork;
- moderate events and activities;
- use other soft skills based on the students’ actual demands;
- listen actively;
- do person centered communication;
- master moderation techniques;
- contribute to team development;
- resolve conflicts and related issues. - Syllabus:
Communication theories
Moderation techniques
Levels of learning: knowledge, skills, attitudes
Active Listening
Person Centered Communication
Groups and teams: group process, team building, self managed teams
Conflict management and transformation
Other topics according to the participants’ expectations
PV206 Communication and Soft Skills
zk 3/2 4 kr., jaro
- prof. Renate Motschnig - prof. RNDr. Tomáš Pitner, Ph.D.
- Prerequisities:
SOUHLAS
When writing the course application, describe your personal motivation. Tell us why you want to study soft skills in general (not this particular course), and your opinion on what part of the course you think will be useful to you. There is also an FAQ in Study materials that must be read by all students of the course; we recommend to read it even before writing your application. - Goals:
The primary goal of this course is to allow students to improve their competence in communication, teamwork, moderation and other soft skills based on the students’ actual demands.
In the course, the students will gain knowledge and competencies regarding active listening, person centered communication, moderation techniques, team development, conflict management and related issues. - Learning outcomes:
After completion of the course, the students will be able to:
- competently communicate in their profesional life;
- actively participate in teamwork;
- moderate events and activities;
- use other soft skills based on the students’ actual demands;
- listen actively;
- do person centered communication;
- master moderation techniques;
- contribute to team development;
- resolve conflicts and related issues. - Syllabus:
Communication theories
Moderation techniques
Levels of learning: knowledge, skills, attitudes
Active Listening
Person Centered Communication
Groups and teams: group process, team building, self managed teams
Conflict management and transformation
Other topics according to the participants’ expectations
PV207 Business Process Management
zk 1/1 3 kr., jaro
- Mgr. Jiří Kolář, Ph.D. - Mgr. Lubomír Hruban
- Prerequisities:
SOUHLAS
A Basic knowledge of Business analysis and architectures of Information Systems. Basic knowledge of Web Services and some high-level programming language (Java, .NET), Advanced English - Goals: Main goal of the course is to learn essentials of Business Process Management (BPM). BPM is a complex discipline in the intersection of Management and Information System development. The course is therefore a mix business and technical content. There are three basic pillars of this course: Business Analysis, focused on understanding of a Business Strategy of an organization where BPM is being adopted, training ability to identify processes and understand the underlying business motivation. Process modeling, focused on mastering the process design and train ability to create well-structured and understandable process models. Process automation, focused on implementation of executable processes in a BPMS and implementation of services which are being orchestrated by those processes. Important part of the course is a comprehensive team project, where students practice their acquired knowledge from three described pillars.
- Learning outcomes: Students will get familiar with most important concepts of BPM, key standards for process modeling (BPMN 2.0), and BPMS platforms which enable process execution, extensive business rules and frontends for human interaction with processes.
- Syllabus:
Lecture: Process design & BPMS
Seminar-session: Red Hat BPMS demo - showcast, Teambuliding
Lecture: SOA & Web services,
Red Hat BPMS - hands-on
PV207 Lecture: BPM adoption methodologies, Domain ,Teambuliding,
Seminar-session: Domain & process analysis exercise
Lecture: BPMN basics , Homework assignment
Seminar-session: BPMN modeling, Level 1
Lecture: BPMN advanced & other process modeling, Level 2,3 Homework assignment
Seminar-session: BPMN modeling
Lecture: Best Practices, Petri nets
Seminar-session: BPMN best practices/Level 3, Homework consutlations
Lecture: Project Intermezzo, Q&A
Seminar-session: Homeworks
Lecture: BPMS Technology - JBPM
Seminar-session: Hands-on technology
Lecture: Advanced Integration and BPM
Seminar-session: Advanced Integration and BPM
Lecture: Gest Lecture / IBM BPM techonology
Seminar-session: IBM BPM Demo
Lecture: Economic aspects
Seminar-session: Process simulations
Lecture: Process architecture
Seminar-session: Project consultations
Seminar-session: Project consultations
Defenses
PV209 Person Centered Communication
k 2/1 3 kr., podzim
- prof. Renate Motschnig - prof. RNDr. Tomáš Pitner, Ph.D. - Mgr. Katarína Palubová
- Prerequisities: Previous experience at the level of PV206 Communication and Soft-skills course or similar is highly recommended. A teacher’s approval is required.
- Goals:
The primary goal of this course is to allow students to communicate more sensitively and effectively. The students will learn how to listen actively and to express oneself in ways that facilitate understanding.
Course goals in details: General. Participants acquire personal experience, skills, and background knowledge in situations of professional and everyday communication (such as listening, articulating, speaking in a group, conflict resolution, decision making, etc.). Participants build a learning community around the concern for better communication and understanding. Level of knowledge and intellect. Students acquire knowledge about the basics of the Person Centered Approach and Person Centered Encounter Groups. Level of skills and capabilities. Students gain active listening skills and improve their abilities in spontaneous communication and decision making in a group setting. Level of attitudes and awareness. Students gain self-experience while expressing own feelings, meanings, and intentions and perceiving those of others. They experience active listening and develop their own attitude towards it. Students become more sensitive and open to their own experience and loosen preconceived, rigidly held constructs. Students move towards acceptance and better understanding of themselves and others. Students move from more stereotyped behavior and facades to more personal expressiveness. - Learning outcomes:
After a successful completion of the course, the students will be able to:
- professionally communicate using capabilities such as active listening, articulating, speaking in a group, resolve conflicts, make decisions;
- express oneself in ways that facilitate understanding;
- explain principles of Person Centered Approach and Person Centered Encounter Groups and apply them;
- spontaneously communicate and make decisions in a group setting;
- gain self-experience while expressing own feelings, meanings, and intentions and perceiving those of others;
- become more sensitive and open to their own experience and loosen preconceived, rigidly held constructs;
- move from more stereotyped behavior and facades to more personal expressiveness. - Syllabus:
Person Centered Communication; Active Listening; Congruence, acceptance, empathic understanding;
Person Centered Encounter Groups: group process;
Decision making, conflict, reflection
Theoretical background: Person Centered Approach by Carl Rogers; Person centered, technology enhanced learning as developed at the Research Lab for Educational Technologies at the University of Vienna, Austria
Learning Methods: Group dialog; Self experience; Reflection, self evaluation; Literature study
PV210 Cybersecurity in an Organization
k 2/0 3 kr., podzim
- doc. RNDr. Jan Vykopal, Ph.D. - RNDr. Martin Laštovička, Ph.D. - doc. Ing. Pavel Čeleda, Ph.D.
- Prerequisities:
PV080
- Goals: The general objective of the course is to introduce the role and services of a Computer Security Incident Response Team (CSIRT) in an organization. The course covers specific knowledge and skills required for the work role of Incident Response as defined by the NICE Cybersecurity Workforce Framework (see https://niccs.cisa.gov/workforce-development/nice-framework/work-role/incident-response).
- Learning outcomes: At the end of the course, a student should be able to:
- understand the role and basic services of a CSIRT;
- perform cyber defense incident triage;
- track and document cyber defense incidents from initial detection through final resolution;
- coordinate and provide expert technical support to enterprise-wide cyber defense technicians to resolve cyber defense incidents;
- coordinate incident response functions;
- write and publish cyber defense techniques, guidance, and reports on incident findings to appropriate constituencies;
- collect intrusion artifacts and use discovered data to enable mitigation of potential cyber defense incidents within the enterprise;
- monitor external data sources to maintain currency of cyber defense threat condition and determine which security issues may have an impact on the enterprise;
- Syllabus:
- Computer Security Incident Response Team (CSIRT) and its role.
- Recognizing and categorizing types of vulnerabilities and associated attacks.
- Incident handling phases.
- Attack detection.
- Security advisories.
- Attack defense and impact.
- Cyber defense and information security policies, procedures, and regulations.
- Legal aspects.
- Table-top exercises on topics covered in the semester.
PV211 Introduction to Information Retrieval
zk 2/1 3 kr., jaro
- doc. RNDr. Petr Sojka, Ph.D.
- Prerequisities:
SOUHLAS
As the main teacher will take a sabbatical in Spring 2024, this year's lectures will be [partly] substituted by previous year's recordings and invited lectures. Enrollment will be limited (SOUHLAS needed) with preference given to UMI students. Curiosity and motivation to retrieve information about information retrieval. Chapters 1--5 benefit from a basic course on algorithms and data structures. Chapters 6--7 need in addition linear algebra, vectors, and dot products. For Chapters 11--13 basic probability notions are needed. Chapters 18--21 demand course in linear algebra, notions of matrix rank, eigenvalues, and eigenvectors. - Goals: The main objectives of this course are to introduce principles of information retrieval and get acquainted with machine learning algorithms for NLP-based text processing.
- Learning outcomes: Students will understand document preprocessing, tokenization, lemmatization, indexing, and querying done on up to a web-scale (as Google does). First principles and algorithms of NLP-based text preprocessing, text semantic filtering and classification, and web searching needed for information systems and digital library design will be taught.
- Syllabus:
Boolean retrieval; The term vocabulary and postings lists
Dictionaries and tolerant retrieval
Index construction, Index compression
Scoring, term weighting, and the vector space model
Computing scores in a complete search system
Evaluation in information retrieval
Relevance feedback and query expansion
XML/MathML retrieval
Text classification with vector space model
Machine learning and information retrieval
Matrix decompositions and latent semantic indexing
Web search basics
Web crawling and indexes
Link analysis, PageRank
Invited lectures on hot topics, e.g. deep learning approaches to multilingual NLP and multimodal IR.
PV212 Seminar on Machine Learning, Information Retrieval, and Scientific Visualization
k 0/2 2 kr., podzim
- doc. RNDr. Petr Sojka, Ph.D.
- Prerequisities:
souhlas
Interest in research problems in areas of Machine Learning, Scientific Visualization, Information Retrieval and Digital Typography. Courage to learn how to move the human knowledge and understanding in these areas by CS research. Willingness to study particular topic of choice, and refer, discuss and brainstorm about it with others. - Goals: The aim of the seminar is to give floor to students (both pregradual and gradual) to read, practice and present scientific results (eitheir their or those ackquires from scientific papaers. Every student will have her/his own presentation in the seminar.
- Learning outcomes: At the end of the course students will have experience in presenting and discussion of their or other (from readings) research. They also will be able to prepare scientific presentation of their work (slides, thesis), and communicate scientific results.
- Syllabus: Referred topics/projects for every year will be posted on the web page of the course, and negotiated with registered students. The lectures consist mostly of students' presentations. The presentations and discussion are in English. The students will have an ample space in the discussions after each presentation.
PV212 Seminar on Machine Learning, Information Retrieval, and Scientific Visualization
k 0/2 2 kr., jaro
- doc. RNDr. Petr Sojka, Ph.D.
- Prerequisities:
souhlas
Interest in research problems in areas of Machine Learning, Scientific Visualization, Information Retrieval and Digital Typography. Courage to learn how to move the human knowledge and understanding in these areas by CS research. Willingness to study particular topic of choice, and refer, discuss and brainstorm about it with others. - Goals: The aim of the seminar is to give floor to students (both pregradual and gradual) to read, practice and present scientific results (eitheir their or those ackquires from scientific papaers. Every student will have her/his own presentation in the seminar.
- Learning outcomes: At the end of the course students will have experience in presenting and discussion of their or other (from readings) research. They also will be able to prepare scientific presentation of their work (slides, thesis), and communicate scientific results.
- Syllabus: Referred topics/projects for every year will be posted on the web page of the course, and negotiated with registered students. The lectures consist mostly of students' presentations. The presentations and discussion are in English. The students will have an ample space in the discussions after each presentation.
PV214 IT Service Management based on ITIL
zk 2/0 2 kr., podzim
- Ing. Aleš Studený
- Prerequisities: No pre-requisities are compulsory. It is recomended to have earned credits in SSME obligatory subjects.
- Goals:
The course responds to the growing trend of world order, when everything will be provided in the form of services. This trend is evident in all sectors, but the most in the IT industry. Best practices providing IT services have been drawn up together with many professionals in the publications of the ITIL (Information Technology Infrastructure Library) and the world standard ISO/IEC 20000.
Students can get acquainted with theoretical knowledge and practical experience of how to manage the delivery of IT services. This experience may apply not only to manage internal IT, but also for the management of IT companies. These principles can apply as well as in the management of any other organization whose goal is to deliver the service. - Learning outcomes: At the end of the course students should be able to: understand and explain the basics of IT Service Management and discover the importance of a systematic approach to management based on Information Technology Infrastructure Library (ITIL).
- Syllabus:
1. An introduction to ITSM
- An introduction to ITSM and ITIL history
- Difference between ITIL V2 and ITIL V3
- ITSM/ITIL terminology basic
- Related methodology: CobiT, MOF
- Basic overview of ISO/IEC 20000
- Essential ITSM support tools: Configuration Management Database
- CMDB, Service Desk - SPOC, Event Management
2. Basic processes, functions and roles
- General principle: PDCA
- A quick overview of ITSM: Service Strategy, Service Design, Service Transition, Service Operation, and Continual Service Improvement
- Main processes: Incident Management, Event Management, Problem Management, Request Fulfillment, Access and Identity Management
- Function
- Roles
3. Service Asset & Configuration Management SACM
- Configuration Management System CMS
- Configuration Management Database CMDB
4. Release management / Software Licenses
- Terms and definitions
- Deployment options: Big Bang + Pull/Push
- SW license
- Legal perspective in the Czech Republic
- SW management processes
- Basic overview of ISO/IEC 19770
5. Change Management
- Levels of Change Management
- Request Fulfillment
- Terms and definitions
- Function
- Roles)
6. Knowledge Management KB
- Knowledge Management Processes
- Terms and definitions
- The basic rules and principles DIKW
- Views: Internal Team, End User, Red Book
7. IT strategy and Service strategy
- Service Strategy Processes
- Practice of Service Strategy
- ITIL and Service Lifecycle
- Processes: ITSM: Service Strategy, Service Design, Service Transition, Service Operation, and Continual Service Improvement
- Service Capacity and Continuity Management
- Information Security Management
8. Service Level Management
- Terms and definitions
- Contracts with the customer
- Contracts with suppliers - internal and external
- Measuring availability and its aspects
- Ways how to measure
9. Reporting
- Terms and definitions
- Reporting vs. Analysis
- Views: CIO / IT pros / Business
- Examples of reports
- The most important key performance indicators (KPIs) and critical success factors CSF
10. Financial Management for IT Services
- Financial Management
- IT cost tracking
- Methods of accounting for IT services
- Budgeting Methods: IT Cost / IT Service Cost
- IT Cost Center: Expense vs. Revenue Model
11. ITSM implementation in practice
- The main principles of management ITSM processes
- The main principles of ITSM management projects
- Pitfalls in implementing ISO/IEC 20000
PV215 Management by Competencies
zk 2/1 3 kr., jaro
- Ing. Leonard Walletzký, Ph.D.
- Prerequisities: No pre-requisities are compulsory. It is recomended to have earned credits in SSME obligatory subjects.
- Goals: The course introduces main aspects, which cause the problems of company management. It explains the methods and tools for identification and elimination of such problems through the management by competencies.
- Learning outcomes:
At the end of the course students should be able:
to understand management processes;
to understand enterprise organization;
to be able to identify business needs;
to use theory of organization vitality;
to understand duality between the world of requirements and the world of the posibilities. - Syllabus:
Introduction and motivation
Management in company
Company environment
SWOT analysis
Management by competencies
Theory of vitality
Company culture and pyramid of culture
Strategic orientation of company
Strategic continuum
Processes and resources management
Learning Organization
PV216 Marketing Strategy in Service Business
zk 1/1 3 kr., jaro
- Luca Carrubbo, Ph.D.
- Prerequisities: No pre-requisities are compulsory. It is recomended to have earned credits in SSME obligatory subjects.
- Goals: The course will introduce a concept of the shift to the service-oriented economy paradigm. The stress of seminars will be laid on practical team work and case studies analysis from domain of information technologies.
- Learning outcomes:
At the end of the course students should be able:
to understand marketing strategies of business organizations;
to understand marketing strategies within the scope of new service paradigm;
to manage marketing strategies processes from the project management point of view. - Syllabus:
Service-oriented economy paradigm
Understanding service, markets, products and customers
Building the service model
Cooperation with customers
Promoting the Value Proposition
Positioning services in markets
Blue Ocean Strategy
Service environment
Managing people for Service environment
Win-win strategies
PV217 Service Oriented Architecture
k 2/0 2 kr., podzim
- Bruno Rossi, PhD - Mgr. Martin Štefanko
- Prerequisities: Knowledge about object-oriented programming in Java is required for the creation of microservices. No prior knowledge about SOA or microservices is required.
- Goals:
The objectives of the course are to give the students a set of skills necessary to understand and work in the context of Service Oriented Architectures (SOA), namely:
- understand the differences between several architectural styles: monolith, SOA, microservices;
- give an understanding of the several definitions of SOA (as an architectural style, as an IT paradigm, ...);
- review approaches for Service Oriented Analysis and Design and how they differ from Object Oriented analysis and Design;
- usage of Domain Driven Design (DDD) for designing services in a microservice architecture;
- review major standards in the area: from the old WSDL-*, to REpresentational State Transfer (REST) concepts;
- present concepts such as orchestration, choreography, atomic transactions, message exchange patterns;
- review major microservice and SOA patterns in terms of security, reliability, maintainability of the implemented solutions;
- discuss the major patterns for the migration from monolithic systems to microservices;
- practice with the creation of microservices using the Quarkus framework to better understand the concepts seen during the lectures; - Learning outcomes:
At the end of the course students will be able to:
- explain the meaning of the "Service Oriented" paradigm both from the business and technical point of view;
- understand the applicability of SOA design patterns and the meaning of the major SOA implementation technologies;
- compare SOA with other architectural paradigms;
- analyse requirements towards the creation of a microservices-based system;
- design a service starting from the analysis phase by using Domain Driven Design (DDD);
- understand the problematics in service design and analysis;
- understand the problematics in service implementation;
- understand issues related to reliability and scalability of microservices-based system; - Syllabus:
- Introducing service oriented architecture (SOA): SOA definition and concepts, Web services definition;
- Basics of SOA - Characteristics of SOA - Comparing SOA to client-server and distributed internet architectures - Anatomy of SOA - How components in an SOA interrelate. Principles of service orientation. Monolith vs SOA vs Microservices;
- SOA business aspects: standards of Web services, implementation SOA using Web services, business aspects of SOA and Web services;
- SOA Design Patterns: patterns for performance, scalability, and availability; Service Consumer patterns; Service integration patterns; SOA anti-patterns;
- Message exchange Patterns - Coordination - Atomic Transactions - Business activities - Orchestration - Choreography - Service layer abstraction - Application Service Layer - Business Service Layer - Orchestration Service Layer - Discoverability;
- Representational State Transfer (REST) & OpenAPI;
- Business-centric SOA - Deriving business services - service modelling - Service Oriented Design - Entity-centric business service design - Application service design - Task centric business service design - Microservices Domain Driven Design (DDD) ;
- Microservices: task granularity, services organization, component sharing, message exchange, main principles. Technologies for microservices implementation. Adopting the Quarkus framework to create microservices;
PV219 Webdesign seminar
k 0/2 2 kr., jaro
- RNDr. Tomáš Obšívač - doc. Ing. Michal Brandejs, CSc.
- Prerequisities:
PV005
Personal experience with the Web design is expected. Seminar is not for beginners. - Goals:
Main goal of the seminar is to get acquainted with internet presentation and web application life cycle through practice. Emphasis will be put on proper design, desirable implementation methods (e.g. observance of standards), operation aspects, monitoring, web effectiveness evaluation, propagation, advancement and redesign. Actual trends and near future of the WWW will be also discussed during workshop.
Student by working during class will:
– extend overview of developement and operation of web site,
– gain deeper knowledge of selected topic, which he or she choose to present to the others,
– develop skills in implementation of web technologies by hands-on approach,
– familiarizes with tools, programs and principles which helps to webdesigner,
– have the possibility to practice teamworking on given task,
– may gain feedback to own existing project if he or she introduce it to the rest of group. - Learning outcomes: Upon completion of the seminar, the student will better understand a number of activities from the design and implementation of modern web sites; will be capable of effective professional communication with specialists in the area of web design and development; and will understand and be able to solve problems in the chosen field.
- Syllabus:
Website goals, initial analyses, Information Architecture
Webpages layout, grids, wireframes, navigation
Copywriting, typography on the web
HTML and DOM
CSS, graphic and interaction design
Multimedia on the Web
Usability (testing), User eXperience
Accessibility (rules)
Web Analytics
Internet marketing, SEO, PPC, Content Strategy
Server-side scripts, web frameworks, ready-made applications
Basic principles with examples (session, database, templates, ...) given in PHP or another scripting language
Content management systems
Content sharing (providing and integration)
Domain acquiring and web or application hosting
JavaScript, interactivity, AJAX
Web server, HTTP (authentication, cookies, status codes)
Trends on the web (semantics, mashups, HTML 5, geolocation)
PV225 Laboratory of Systems Biology
k 1/2 3 kr., podzim
- doc. Mgr. Pavel Dvořák, Ph.D. - doc. RNDr. David Šafránek, Ph.D.
- Prerequisities: There are no preconditions. Students are expected to be interested in overlapping disciplines combining Biology and Informatics.
- Goals: At the end of the course students should be able to: understand physiology of plants and bacteria at very elementary level; understand most important methods of experimental measuring; measure data using particular techniques; summarize and interpret the measured data.
- Learning outcomes:
At the end of the course students should be able to:
- interpret basic aspects of physiology of plants and bacteria at elementary level;
- solve problem of parameter identification of a model with respect to experimental data;
- select and use a suitable tool for parameter identification;
- process a set of experimentally measured data for use in a suitable tool. - Syllabus:
I Metabolomics
I.1 Metabolomics (Introduction; Metabolites; Metabolite Fingerprinting and Footprinting; Metabolite Profiling; Target-based analysis of metabolites)
I.2 Role of metabolomics in Systems Biology (Microbial metabolomics; Plant metabolomics; Human metabolomics)
I.3 Assey preparation (Obtaining media; Stopping of metabolism)
I.4 Methods used in metabolomics
I.5 Metabolomic data analysis
II Photobiology
II.1 Photochemical processes in photosynthesis
II.2 Role of photosynthesis in Systems Biology
II.3 Theoretical foundations of Fluorometrics
II.4 Methods of induced fluorescence
II.5 Obtaining and analysis of fluorometrics data
PV226 Seminar LaSArIS
z 0/2 2 kr., podzim
- RNDr. Martin Macák, Ph.D. - prof. RNDr. Tomáš Pitner, Ph.D. - doc. Ing. RNDr. Barbora Bühnová, Ph.D. - doc. RNDr. Radek Ošlejšek, Ph.D. - Bruno Rossi, PhD
- Prerequisities:
SOUHLAS
In the request for SOUHLAS please indicate whether you are interested in the Lasaris or Agile seminar. Do not be discouraged by the request for SOUHLAS, it only helps us to regulate the capacity of the mentioned seminars.
In the case of the Lasaris seminar, we expect interest in the activities of the Lasaris lab, i.e. the areas of design, development and operation of large and critical systems with high importance of their quality.
In the case of the "Intro to Agile" seminar, we expect interest in the topic. - Goals:
The aim of the course is to support the activities of the Laboratory of Software Architectures and Information Systems (Lasaris) in
research, development and teaching of theoretical topics and
practical problems in building large software systems and
deployment of modern information technologies in practice.
It deals with the design and development of reliable and secure information systems,
process and data modeling, system implementation management, and
software technologies for their construction.
The seminar makes acquainted with interesting research and development projects solved in Lasaris,
particularly in the area of designing large IT and critical infrastructures.
Additionally, external specialists, especially from the IT industry or from abroad, are invited to talk within the seminar.
In the Fall 2024 semester, PV226 will host one separate specialized seminar, "Intro to Agile", with the following focus:
The aim of the "Intro to agile approach" seminar is to provide students with basic information about agility and its application in companies of various sizes. Students will learn the agile approach, values and principles, as well as various agile methodologies and their use in practice. They will learn the concepts of agile software development, advantages and disadvantages of the agile approach compared to the "waterfall" method. Seminar will focus in more detail on the Scrum framework, its values, roles and meaning individual ceremonies. In addition, students will be introduced to agile leadership, agile transformations and SAFe (Scaled Agile Framework). The seminar will include practical examples, exercises/simulations, as well as discussions and interactions with practitioners. In this way, students prepare for effective use of agile methods in their future career in a dynamic and fast the changing IT world. - Learning outcomes:
Student will be able to:
- actively participate in the activities of the Software Architecture and Information Systems Laboratory (Lasaris) research, development and teaching of topics related to the theoretical solutions practical problems in building large software systems and the deployment of modern information technology in practice;
- apply the chosen knowledge of the design and development of reliable and secure information systems, process and data modeling, system implementation management, and software technologies for their construction;
- engage in research and development projects in Lasaris, particularly in the area of designing large IT and critical infrastructures. - Syllabus:
In case of Lasaris (basic seminar):
The syllabus of each semester consists of individual talks of laboratory members and external guests, or the students themselves (see the interactive syllabus of the semester for more detail).
In the case of Intro to Agile:
A detailed syllabus is available in the study materials of the course in form of an interactive syllabus.
PV226 Seminar LaSArIS
z 0/2 2 kr., jaro
- doc. Ing. RNDr. Barbora Bühnová, Ph.D. - prof. RNDr. Tomáš Pitner, Ph.D. - doc. RNDr. Radek Ošlejšek, Ph.D. - Bruno Rossi, PhD - RNDr. Martin Macák, Ph.D.
- Prerequisities:
SOUHLAS
In the request for SOUHLAS please indicate whether you are interested in the Lasaris or Psychology seminar. Do not be discouraged by the request for SOUHLAS, it only helps us to regulate the capacity of the mentioned seminars.
In the case of the Lasaris seminar, we expect interest in the activities of the Lasaris lab, i.e. the areas of design, development and operation of large and critical systems with high importance of their quality.
In the case of the seminar focused on "Selected Chapters in Practical Psychology", we expect interest in the topic. - Goals:
The aim of the course is to support the activities of the Laboratory of Software Architectures and Information Systems (Lasaris) in
research, development and teaching of theoretical topics and
practical problems in building large software systems and
deployment of modern information technologies in practice.
It deals with the design and development of reliable and secure information systems,
process and data modeling, system implementation management, and
software technologies for their construction.
The seminar makes acquainted with interesting research and development projects solved in Lasaris,
particularly in the area of designing large IT and critical infrastructures,
for example, to support smart grids.
Additionally, external specialists, especially from the IT industry or from abroad, are invited to talk within the seminar.
In the Spring 2025 semester, PV226 will host one separate specialized seminar, "Selected Chapters in Practical Psychology" with the following focus:
The seminar with the focus on "Selected chapters in practical psychology" aims to provide listeners with basic information from selected disciplines of scientific psychology to facilitate orientation in life situations. They will gain experience with psychodiagnostic and psychocorrective or experiential methods. After completing the course, they will recognize when it is appropriate and expedient to turn to professional psychologists. Psychology will be presented to them as a multi-paradigmatic science with a critical approach to its findings. Overlaps into the IT world, such as leadership and motivation of team members, will be emphasized. - Learning outcomes:
Student will be able to:
- actively participate in the activities of the Software Architecture and Information Systems Laboratory (Lasaris) research, development and teaching of topics related to the theoretical solutions practical problems in building large software systems and the deployment of modern information technology in practice;
- apply the chosen knowledge of the design and development of reliable and secure information systems, process and data modeling, system implementation management, and software technologies for their construction;
- engage in research and development projects in Lasaris, particularly in the area of designing large IT and critical infrastructures. - Syllabus:
In case of Lasaris (basic seminar):
The syllabus of each semester consists of individual talks of laboratory members and external guests, or the students themselves (see the interactive syllabus of the semester for more detail).
In the case of Selected chapters in practical psychology:
A detailed syllabus is available at https://is.muni.cz/auth/el/fi/jaro2024/PV226/psychologie/Psychologie-osnova.pdf
PV227 GPU Rendering
k 0/2 2 kr., podzim
- RNDr. Jan Byška, Ph.D. - Mgr. Adam Rychlý
- Prerequisities:
PV112
Practical knowledge of C/C++ and familiarity with OpenGL within the scope of the course PV112 Computer Graphics API are required. - Goals: This course is designed to offer an overview of fundamental GPU programming methods and commonly utilized techniques, with a specific emphasis on shader programming tailored for 3D rendering applications. Students will acquire practical knowledge in GPU programming dedicated to 3D rendering tasks throughout the course. Additionally, they will grasp the workflow associated with special-purpose high-level programming languages like GLSL.
- Learning outcomes:
After completing this course, students will be able to:
- read and explain the functionality of existing GLSL shaders;
- design and implement their own GLSL shaders;
- understand and articulate the capabilities of modern GPUs for rendering 3D scenes. - Syllabus:
Shadows
Deferred Shading
SSAO, DoF
HDR, Bloom
Particle Systems, Compute Shaders
Geometry Shaders
Tessellation Shaders
Microfacet Model
Physically Based Rendering, IBL
Raytracing and Raymarching
PV229 Multimedia Similarity Searching in Practice
z 0/2 2 kr., jaro
- RNDr. Michal Batko, Ph.D.
- Prerequisities:
PA128 || NOW ( PA128 )
Basic programming skills in Java language (course PB162 is recommended) - Goals: To goal of this course is to introduce main problems and common solutions of multimedia search engines.
- Learning outcomes: On successful completion of the course students will be able: to understand cutting-edge technologies for multimedia search; to design multimedia search engines; to implement a search engine prototype including data preparation, performance tuning, and visualization of results via user interface.
- Syllabus:
Introduction, demonstration of the MUFIN system, setup of the development environment
Data collections and similarity functions
Extraction of multimedia data descriptors
Executing search algorithms on data collections, a command line interface
Using search engine operations – insertions, deletions, queries
Preparing command batches – bulk data insertion, automatic searching, statistics
Data storage
Pivot selection techniques
Using advanced index algorithms – listing available implementations, getting/setting index parameters
User and application interfaces
PV233 Switching, Routing and Wireless Essentials
zk 2/2 3 kr., podzim
- RNDr. Jaroslav Pelikán, Ph.D. - Mgr. Luděk Bártek, Ph.D. - doc. Ing. Jaroslav Dočkal, CSc. - Ing. Josef Kaderka, Ph.D.
- Prerequisities:
( PB156 || PV183 ) && SOUHLAS
Test Introduction to Networks && Agreement - Goals: Course Switching, Routing, and Wireless Essentials (SRWE) covers the architecture, components, and operations of routers and switches in small networks and introduces wireless local area networks (WLAN) and security concepts. Students learn how to configure and troubleshoot routers and switches for advanced functionality using security best practices and resolve common issues with protocols in both IPv4 and IPv6 networks.
- Learning outcomes: By the end of the course, students will be able to: - Configure VLANs and Inter-VLAN routing applying security best practices. - Troubleshoot inter-VLAN routing on Layer 3 devices. - Configure redundancy on a switched network using STP and EtherChannel. - Troubleshoot EtherChannel on switched networks. - Explain how to support available and reliable networks using dynamic addressing and first-hop redundancy protocols. - Configure dynamic address allocation in IPv6 networks. - Configure WLANs using a WLC and L2 security best practices. - Configure switch security to mitigate LAN attacks. - Configure IPv4 and IPv6 static routing on routers. The course includes activities using Packet Tracer, hands-on lab work, and a wide array of assessment types and tools.
- Syllabus:
Basic Device Configuration
VLANs
Inter-VLAN Routing
STP Concepts
EtherChannel
DHCPv4
SLAAC and DHCPv6
FHRP Concepts
LAN Security Concepts
Switch Security Configuration
WLAN Concepts
WLAN Configuration
Routing Concepts
IP Static Routing
Troubleshoot Static and Default Routes
PV234 Enterprise Networking, Security, and Automation
zk 2/2 3 kr., jaro
- RNDr. Jaroslav Pelikán, Ph.D. - Mgr. Luděk Bártek, Ph.D. - doc. Ing. Jaroslav Dočkal, CSc. - Ing. Josef Kaderka, Ph.D.
- Prerequisities:
PV233 && SOUHLAS
PV233 - Goals: Course Enterprise Networking, Security, and Automation (ENSA) describes the architecture, components, operations, and security to scale for large, complex networks, including wide area network (WAN) technologies. The course emphasizes network security concepts and introduces network virtualization and automation. Students learn how to configure, troubleshoot, and secure enterprise network devices and understand how application programming interfaces (API) and configuration management tools enable network automation.
- Learning outcomes: By the end of the course, students will be able to: - Configure single-area OSPFv2 in both point-to-point and multiaccess networks. - Explain how to mitigate threats and enhance network security using access control lists and security best practices. - Implement standard IPv4 ACLs to filter traffic and secure administrative access. - Configure NAT services on the edge router to provide IPv4 address scalability. - Explain techniques to provide address scalability and secure remote access for WANs. - Explain how to optimize, monitor, and troubleshoot scalable network architectures. - Explain how networking devices implement QoS. - Implement protocols to manage the network. - Explain how technologies such as virtualization, software defined networking, and automation affect evolving networks. The course includes activities using Packet Tracer, hands-on lab work, and a wide array of assessment types and tools.
- Syllabus:
Single-Area OSPFv2 Concepts
Single-Area OSPFv2 Configuration
Single-Area OSPFv2 Configuration
Network Security Concepts
ACL Concepts
ACLs for IPv4 Configuration
NAT for IPv4
WAN Concepts
VPN and IPsec Concepts
QoS Concepts
Network Management
Network Design
Network Troubleshooting
Network Virtualization
Network Automation
PV236 Time Management and Effectiveness
k 2/0 2 kr., podzim
- RNDr. Josef Spurný, Ph.D.
- Prerequisities:
PA180 || SA100 || SA200 || NOW ( SA100 )|| NOW ( SA200 )
In parallel with PA180 or PA185/PA186 Interim Project (recommended) or after the completion of Interim Project - Goals:
At the end of the course, the students should be able to:
Actively keep in mind efficiency and effectiveness when dealing with day-to-day situations.
Understand the importance of reputation and how to build a professional one that helps safe time.
Make responsive decisions taking into consideration prioritization criteria and task urgency/importance.
Understand the psychology of forming habits.
Understand the importance of planning, contingency, and expectations management.
Get familiar with the most popular time management concepts.
Have an overview of psychology of optimal experience, aka flow.
Respect the rules of effective communication.
Delegate.
Confidently provide and accept feedback to prevent obstacles of cooperation.
Understand the basic principles of communication in crisis. - Learning outcomes:
At the end of the course, the students should be able to:
Actively keep in mind efficiency and effectiveness when dealing with day-to-day situations.
Use task lists, organize their time, and understand the way they prioritize.
Make responsive decisions.
Handle complex situations as a project.
Understand the importance of planning, contingency, and expectations management.
Run effective meetings with clear agenda, outcomes, commitments, owners, and deadlines.
Apply the principles of effective problem solving.
Respect the rules of effective communication.
Delegate.
Confidently provide and accept feedback to prevent obstacles of cooperation.
Understand the basic principles of communication in crisis.
Handle the life under SLAs. - Syllabus:
Efficiency and effectiveness
Prevention and Planning
Prioritization
Effective communication, meetings
Management of expectations
Habits
Flow
PV237 Strategy and Leadership
k 2/0 4 kr., jaro
- Ing. Michala Kozinová - prof. RNDr. Tomáš Pitner, Ph.D.
- Prerequisities: No pre-requisities are compulsory.
- Goals: Students will learn in class: - Leadership through change: * How we all go through the change curve and how leaders need to adapt to that in order to implement the change successfully. * Fun and exploratory activity that creates alignment in the team and offer insights that allow for successful implementation of the change - Fundamentals of Strategic management * Different market strategies * Product lifecycle * Different analysis and planning tools - Leadership communication * How to talk for impact * How to write concisely * How to work with assumptions and how to manage your own temper * Stakeholder management and visibility Students will learn online via global strategic simulation: - Financials of C-level decision making to deliver on investors' expectations: * Earnings per Share * Return on Equity * Stock Price - Budget allocation in company operations areas: * Product Design * Marketing * Compensation & Facilities * Corporate Citizenship * Finance & Cash Flow * Performance Projections
- Learning outcomes: - Basic understanding of company financials (so that you can make competent decisions when you will be granted company shares as part of your compensation package in your real lives). - Understanding of what's behind some of the management decisions that don't necessarily make sense to you. - Insight and inspiration for becoming great leaders. - Decision making based on simulations, investors' expectations, industry reports (competitors' data), and financials for profitability and growth.
- Syllabus: As per course objectives and outcomes.
PV239 Mobile Application Development
k 2/1 4 kr., jaro
- doc. Ing. RNDr. Barbora Bühnová, Ph.D.
- Prerequisities:
PV168 || PA165 || PV178 || PV256 || SOUHLAS
Advanced knowledge of programming that should be detailed in the request for course enrolment. The request should also mention the platform that the student prefers and their motivation for course enrolment. - Goals: The course focuses on concepts of the mobile application development, which is a modern and current trend of software development. Within the course, mainly particular specifics and concepts of mobile platforms will be introduced. Furthermore, architecture and development principles for Google Android, Apple iOS (iPhone/iPad), Flutter and .NET MAUI (multi-platform development) will be presented. Finally, teams of students will work on a project - a mobile application - that help them understand design and development of mobile applications in practice.
- Learning outcomes:
At the end of this course the student will:
- know the tasks, tools and techniques accompanying the development process of mobile applications;
- know specifics of the major mobile platforms - Android and iOS - and multi-platform development with Flutter and .NET MAUI;
- be familiar with Android Studio (for Google Android), XCode (for iOS application), and Visual Studio (for .NET MAUI) in all important aspects. - Syllabus:
Introduction to the development and specifics of mobile platforms
Programming concepts, architecture and SDK for the Android platform
Programming concepts, architecture and SDK for the iOS platform
Concepts of multi-platform development and the Flutter and .NET MAUI platform
Basics of user interface design for mobile devices
Mobile platform security
Project
PV240 Introduction to service marketing
zk 2/0 3 kr., podzim
- Ing. Leonard Walletzký, Ph.D. - RNDr. Josef Spurný, Ph.D.
- Goals: To give a comprehensive overview of the concept and content of service marketing. To develop a unified, primary knowledge required for university studies. During the course of the semester students will familiarize themselves with complex service marketing tools, their potential application and limitations. The course explains the role and the importance of the empirical data for forecasting desires and demands of consumers. Students will get insight into the practical gathering of information and their interpretation: the course leads the students through the process which starts with the formulation of the research question, continues with the collection and processing of data, and ends with the summary and evaluation of results.
- Learning outcomes:
Student will understand:
- how to design the marketing strategy
- basic concepts of maketing mix
- how to plan, realize and analyze the marketing survey - the ways of unusual ways of the marketing (guerilla marketing, niche marketing) - Syllabus:
1. Basic principles and meanings of marketing (dotace 2/0)
2. Marketing management (dotace 2/0)
Marketing management
Marketing strategies
Marketing plan
3. Marketing environment and portfolio analysis (dotace 2/0)
4. Marketing information system (dotace 6/0)
Marketing research problem
Collecting data techniques and data processing
Sampling and units of marketing research
5. Marketing decisions (dotace 4/0)
Consumer behaviour
Segmentation
6. Marketing mix (dotace 6/0)
Product
Price
Place
Promotion
People
7. Service marketing (dotace 2/0)
PV241 Enterprise and Financial Management
zk 2/0 2 kr., podzim
- Ing. David Fuchs - Ing. Leonard Walletzký, Ph.D.
- Goals: Interpretation focuses on the basic terminology, processes and linkages in the functioning of companies.
- Learning outcomes: Student understands basic terminology, processes and linkages in the functioning of business companies.
- Syllabus: Introduction to corporate finance; Financial decision-making; The property and financial structure of company; Financial analysis of the company; Company and financial market; The financing company; Cash flows in the company; Financial Planning; Risks of operating businesses; Distribution of profits; The value of the company; The company and the foreign exchange market
PV241 Enterprise and Financial Management
zk 2/0 2 kr., jaro
- Ing. David Fuchs
- Goals: Interpretation focuses on the basic terminology, processes and linkages in the functioning of companies.
- Learning outcomes: Student understands basic terminology, processes and linkages in the functioning of business companies.
- Syllabus: Introduction to corporate finance; Financial decision-making; The property and financial structure of company; Financial analysis of the company; Company and financial market; The financing company; Cash flows in the company; Financial Planning; Risks of operating businesses; Distribution of profits; The value of the company; The company and the foreign exchange market
PV242 Innovation and entrepreneurship
k 1/1 3 kr., jaro
- Ing. David Fuchs - RNDr. Vojtěch Krmíček, Ph.D. - Ing. Jitka Sládková, Ph.D. - Ing. Leonard Walletzký, Ph.D.
- Prerequisities: No pre-requisities are compulsory.
- Goals:
The objective of the practical course is to give a basic orientation in the business area. It will bring information about appropriate procedures and proven tools. Further, the students will meet experts from different areas (IT, services, social business, production…)
Lectures will be given through lecture form with small workshops during lessons (individual/in pairs). The course is suitable also for a large number of students. - Learning outcomes: Student will gin knowledge needed for succesfull start of a small enterprise.
- Syllabus:
1. Introduction to entrepreneurship, personal vision and strenghts, meeting/sharing experience with successful businessman
2. Lean methodology, market research, meeting/sharing experience with successful businessman
3. Action plan, MVP, prototyping, FabLab visit
4. Business model, financial analysis, pricing
5. Intellectual property and its protection
6. Presentation Skills
PV247 Modern Development of User Interfaces
z 0/3 3 kr., podzim
- Bc. Maroš Beťko - Ing. Dalibor Pantlík - Ing. Adam Grygar - Bc. et Bc. Ladislav Burgr - RNDr. Samuel Pastva, Ph.D.
- Prerequisities:
SOUHLAS
Basic knowledge of imperative and non-imperative programming. Basic knowledge of HTML and CSS is expected within the scope of PB138 Modern Markup Languages and Their Applications. Knowledge of Javascript, HTTP protocol and REST architecture is an advantage. - Goals: Students will understand the basic principles of user interface development using modern tools. Upon successful completion of this course, the student is able to apply the principles of elaboration of semester project focused on user interface. The subject is mostly practical and students are expected to have pro-active approach.
- Learning outcomes:
User interface development technologies are dynamic and therefore change very quickly. Student after successful completion:
- has an overview of modern web development technologies and is able to use them in practice;
- is familiar with the process of developing modern web applications using best practices. - Syllabus:
Introduction & tooling
React
Styling and accessibility
React interactions
React state management
NextJs basics
NextJs SSR & data fetching
NextJs backend
Testing
Deployment
PV247 Modern Development of User Interfaces
z 0/3 3 kr., jaro
- Bc. Maroš Beťko - RNDr. Samuel Pastva, Ph.D.
- Prerequisities:
SOUHLAS
Basic knowledge of imperative and non-imperative programming. Basic knowledge of HTML and CSS is expected within the scope of PB138 Modern Markup Languages and Their Applications. Knowledge of Javascript, HTTP protocol and REST architecture is an advantage. - Goals: Students will understand the basic principles of user interface development using modern tools. Upon successful completion of this course, the student is able to apply the principles of elaboration of semester project focused on user interface. The subject is mostly practical and students are expected to have pro-active approach.
- Learning outcomes:
User interface development technologies are dynamic and therefore change very quickly. Student after successful completion:
- has an overview of modern web development technologies and is able to use them in practice;
- is familiar with the process of developing modern web applications using best practices. - Syllabus:
Introduction & tooling
Modern Javascript & ES6
Typescript
Create React App
React basics
React cont.
Hooks
Async
State management
Deployment
PV251 Visualization
zk 2/1 3 kr., podzim
- doc. RNDr. Barbora Kozlíková, Ph.D. - RNDr. Katarína Furmanová, Ph.D.
- Prerequisities: No additional prerequisites.
- Goals: The goal is to provide students with the overview of the field of visualization and its principles and methods. The course includes basic concepts of visualization and its application to different input data sets. Students also will be acquainted with various interaction techniques for data manipulation and with practical applications of visualization, such as in medicine, art etc. An important part of this course contains practical exercises performed on various visualization tools. At the end of this course, students should be able to design and develop their own effective visualizations.
- Learning outcomes: After passing this course, the students will be able to: - evaluate the suitability of existing visualization techniques for a given task - determine the basic mistakes of existing visualization solutions - design appropriate visualizations for given tasks - implement an optimized solution of a selected visualization
- Syllabus:
Introduction, history of visualization, visualization today, human perception and information processing
Color, types of input data
Visualization foundations
Visualization techniques for spatial data
Visualization techniques for geospatial data
Visualization techniques for multivariate data
Graphs and trees, networks
Text and document visualization
Interaction concepts and techniques
Designing effective visualizations, comparing and evaluating visualization techniques
Visualization tools and systems
Specific applications of visualization - medical visualization, NPR, scientific visualization
PV252 Frontend Web Development and User Experience
k 2/1 4 kr., podzim
- RNDr. Samuel Pastva, Ph.D. - Mgr. Mária Šviriková
- Prerequisities: The course assumes basic knowledge of web-based frontend technologies and markup languages (HTML, CSS, JavaScript/TypeScript), corresponding to the course PB138 (Basics of web development and markup languages).
- Goals: The course is aimed at students with basic familiarity with frontend web technologies (HTML, CSS, JavaScript/TypeScript) who intend to broaden their understanding of the web ecosystem. It presents modern web standards (WebComponents, WebSockets, WebWorkers, …) and allows the students to apply and evaluate these technologies in the context of a non-trivial web application (course project). Additionally, the course introduces students to the principles of user-friendly application design and essential observability mechanisms that are used to evaluate user experience in active projects.
- Learning outcomes: Students will be able to:
- Understand and apply reactive, component based user-interface development principles based on the WebComponents standard or other similar UI frameworks.
- Apply safe development principles (type checking, continuous integration, automated testing) in the context of web applications.
- Apply the principles of user-friendly design through wireframing and prototyping in a non-trivial web application.
- Measure and evaluate user experience through event analytics and randomized comparative trials.
- Be able to build interactive and real-time web applications using the WebSockets and WebRTC standards.
- Be able to build offline-enabled applications and offload complex computations to background tasks using the WebWorkers and WebStorage/IndexedDB standards.
- Be familiar with the advantages and disadvantages of other emerging or low-level web standards and deploy them in a project (e.g. Canvas API, WebAssembly, WebGPU/WebGL).
- Syllabus:
- Project structure, bundling, continuous integration, type checking, validation and testing.
- Component-based user interface frameworks (WebComponents, React, Lit), shadow DOM, event driven vs reactive state management.
- Prototyping component-based user interfaces with focus on user experience: wireframing, design systems, component libraries.
- Observability and analytics, user engagement and satisfaction, sensitive data management.
- Accessibility, screen readers, semantic web, ARIA.
- User authentication, identity providers and single sign on (OAuth).
- Real-time communication (WebSockets, WebRTC), modern web protocols (HTTP2/3, QUIC).
- Background and offline tasks (WebWorkers), on-device data management (WebStorage, IndexedDB).
- A/B testing, randomized comparative trials, empirical user experience evaluation.
- Low-level and emerging web technologies: Canvas, WebAssembly, WebGPU/WebGL, Electron/Tauri and others.
- Semester project evaluation.
PV253 Seminar of DISA Laboratory
k 0/2 2 kr., podzim
- prof. Ing. Pavel Zezula, CSc.
- Prerequisities: Students should be interested in cooperation on research projects conducted by the laboratory. The knowledge of English is necessary to study original research papers. Basic experience with programming and data management system implementations is an advantage.
- Goals: The course objective is a presentation of the state-of-the-art knowledge in research areas of the laboratory. A special emphasis is put on presentations of innovative ideas and proposals by researchers involved in current projects of DISA. The seminar is a source of new knowledge for students and other laboratory members and at the same time it forms a feedback for lecturers (prevalently project researchers). Short student presentations working on bachelor or master theses are also part of the course activities.
- Learning outcomes: Student will improve their presentation skills, and will undesrtand selected research results in the domain of the laboratory.
- Syllabus:
The selection of presentations is based on research interests of ongoing projects. At the moment, the topics include:
Similarity searching and filtering in multimedia data (mainly images and video);
Searching for sub-images;
Searching in large collections of biometric data;
Similarity models of dynamic biometric characteristics (mainly human movements);
Multimodal interpretation of multimedia data;
Findability of multimedia data;
Scalability for knowledge extraction and searching, etc.
PV253 Seminar of DISA Laboratory
k 0/2 2 kr., jaro
- prof. Ing. Pavel Zezula, CSc.
- Prerequisities: Students should be interested in cooperation on research projects conducted by the laboratory. The knowledge of English is necessary to study original research papers. Basic experience with programming and data management system implementations is an advantage.
- Goals: The course objective is a presentation of the state-of-the-art knowledge in research areas of the laboratory. A special emphasis is put on presentations of innovative ideas and proposals by researchers involved in current projects of DISA. The seminar is a source of new knowledge for students and other laboratory members and at the same time it forms a feedback for lecturers (prevalently project researchers). Short student presentations working on bachelor or master theses are also part of the course activities.
- Learning outcomes: Student will improve their presentation skills, and will undesrtand selected research results in the domain of the laboratory.
- Syllabus:
The selection of presentations is based on research interests of ongoing projects. At the moment, the topics include:
Similarity searching and filtering in multimedia data (mainly images and video);
Searching for sub-images;
Searching in large collections of biometric data;
Similarity models of dynamic biometric characteristics (mainly human movements);
Multimodal interpretation of multimedia data;
Findability of multimedia data;
Scalability for knowledge extraction and searching, etc.
PV254 Recommender Systems
k 1/1 2 kr., jaro
- doc. Mgr. Radek Pelánek, Ph.D.
- Prerequisities: Programming skills, mathematics at the bachelor level.
- Goals: The goal of the course is to familiarize students with basic techniques and problems in the field of recommender systems. The course is project based - students have practical experience with development of a simple recommender system or with a partial evaluation of a realistic recommender system.
- Learning outcomes: At the end of the course students will understand the main types of recommender systems and their application domains; be able to apply the basic recommender techniques; be able to implement basic versions of recommender techniques; understand main aspects of evaluation of recommender systems and be able to analyze such evaluations.
- Syllabus:
Recommender systems, motivation, applications in different domains.
Types of recommender systems: non-personalized, content based, collaborative filtering.
Techniques and algorithms for recommender systems, particularly with focus on collaborative filtering (user-user, item-item, SVD).
Evaluation: methodology, types of experiments, evaluation metrics, examples.
Other aspects of recommender systems (e.g., explanations of recommendations, trust, attacts).
Case studies (e.g., Amazon, Netflix, Google News, YouTube).
Educational recommender systems, current research at Faculty of informatics.
PV255 Game Development I
z 2/2 4 kr., podzim
- Mgr. Jiří Chmelík, Ph.D. - Mgr. Marek Trtík, Ph.D.
- Prerequisities:
PB009 && PV112 && ( PB161 || PB162 || PV178 )
Expected knowledge:
basics of 3D computer graphics (transformations in 3D space, textures, materials, principles of local and global illumination, etc.)
basic knowledge of shader programming (what is vertex/fragment shader, how to use it)
basic knowledge of object-oriented programming. - Goals:
The aim of the course is to introduce the field of development of digital games, in both theoretical and practical approaches. Lectures will provide theoretical principles of game development (computer graphics, physics, games interfaces, etc.).
At seminars, students will get experience with the development of digital games through work on individual and later team-based projects. - Learning outcomes:
At the end of the semester, a student should be able to:
create a design of the digital game in form of a game design document;
design and create visual content of the game;
design and implement basic game mechanics;
create a playable prototype of the digital game. - Syllabus:
Game-play principles (strategy, fps, platformer, etc.), the labour intensity of various game types. Motivation principles in games.
Principles of computer graphics in games: 3D models, LoD, sprites, culling, tessellation, procedural generation and instancing;
Physical simulations in games: collision detection, rag-doll physics.
Lighting: real-time lighting, static vs. dynamic lights, global illumination. Performance.
Shaders and graphical effects in games.
Animations
Game interfaces
Audio in games
PV256 Introduction to Development for Android
k 2/2 3 kr., jaro
- Ing. Štefan Krajanec
- Prerequisities:
PB162 || PB112
- Goals: The aim of the course is to acquaint students with the issue of development on mobile devices. Mobile development has its specifics - lack of resources, unstable internet connection, short application life cycle. The course introduces the differences from desktop development and teaches best practices of mobile programming. Primarily, Kotlin language is used but just knowledge of Java is required to enter the course.
- Learning outcomes: At the end of the course the student will understand selected chapters of design and implementation of mobile applications and will be able to create a mobile application at a more advanced level, which can be published, ie. exhibit for sale and distribution. The student will understand the principles of its development cycle so that the application meets the requirements of the design patterns used.
- Syllabus:
1. Introduction to Android, Java vs. Kotlin, Gradle, organizational information,
2. Project structure, Resources, Layouts,
3. Compose, Viewmodel, and Coroutine,
4. Application architecture,
5. Threads, asynchronous operations,
6. Lists and efficient data display in Compose,
7. Gradle and project assembly,
8. Working with APIs and network calls,
9. Working with databases,
10. Publishing an application and basics of monetization.
PV257 Graphic Design and Multimedia Project
k 0/2 2 kr., podzim
- Mgr. Lukáš Pevný - doc. Mgr.art. Helena Lukášová, ArtD. - MgA. Jana Malíková
- Prerequisities:
( PV066 || PV078 || PV084 ) && SOUHLAS
A precondition for this course is the artistic approach and the knowledge of the principles of graphic design, typography, and type design. Adobe CS6 software skills are expected. - Goals: The focus of the course is to develop students' skills and ability to work on the professional level. Presented students' proposals of the graphic design will respect client's requirements and deadlines. In this course, teamwork will be encouraged which can lead to the innovative solutions combining strategies of graphic design, typography, and type design with other areas such as animation, video, 3D modeling, information graphics, visualization, photography, DTP (desktop publishing), product and package design, exhibition design, etc. In the course, students will be confronted with external experts and lecturers with the technical and artistic background also. While working on specific tasks students will utilize knowledge and experience previously acquired in prerequisite courses. This course introduces the workflow of a graphic designer expected on the professional level. The goal is to offer to students an opportunity to gain the experience while communicating with clients, presenting the work, working in teams, seeking innovative solutions.
- Learning outcomes: At the end of this course, students will create their own portfolio.
- Syllabus: Creative presentations (portfolio), a creation of a 3D font, participation in internal and external graphics and multimedia competitions, curatorship of exhibitions etc.
PV257 Graphic Design and Multimedia Project
z 0/2 2 kr., jaro
- MgA. Jana Malíková - Mgr. Lukáš Pevný
- Prerequisities:
( PV066 || PV078 || PV084 ) && SOUHLAS
A precondition for this course is the artistic approach and the knowledge of the principles of graphic design, typography, and type design. Adobe CS6 software skills are expected. - Goals: The focus of the course is to develop students' skills and ability to work on the professional level. Presented students' proposals of the graphic design will respect client's requirements and deadlines. In this course, teamwork will be encouraged which can lead to the innovative solutions combining strategies of graphic design, typography, and type design with other areas such as animation, video, 3D modeling, information graphics, visualization, photography, DTP (desktop publishing), product and package design, exhibition design, etc. In the course, students will be confronted with external experts and lecturers with the technical and artistic background also. While working on specific tasks students will utilize knowledge and experience previously acquired in prerequisite courses. This course introduces the workflow of a graphic designer expected on the professional level. The goal is to offer to students an opportunity to gain the experience while communicating with clients, presenting the work, working in teams, seeking innovative solutions.
- Learning outcomes: At the end of this course, students will create their own portfolio.
- Syllabus: Creative presentations (portfolio), a creation of a 3D font, participation in internal and external graphics and multimedia competitions, curatorship of exhibitions etc.
PV258 Software Requirements Engineering
zk 2/0 2 kr., jaro
- Bruno Rossi, PhD
- Prerequisities: No prerequisites are compulsory. The students are expected to have an understanding of software development models and different UML diagram types (as taught in the PB007 Software Engineering course). The course is taught entirely in the English language.
- Goals:
Objectives of the course are to:
provide an overview of different Software Requirements types (functional vs non-functional (quality), constraints, business requirements, business rules, user and system requirements);
explain the Software Requirements Process (ISO/IEC/IEEE 29148 Standard for Requirements Engineering) also in agile contexts;
provide the instruments for the definition of user requirements;
model Non-Functional Requirements (NFR);
describe different software requirements elicitation modalities;
provide approaches for requirements analysis and verification & validation;
provide approaches to manage requirements prioritization;
describe the software architecture and the relevance in the context of software requirements.
describe how to decompose system models: abstraction, & different system views for the definition of the software architecture from the requirements; - Learning outcomes:
At the end of the course students will:
have a clear understanding about processes, tools and techniques used in requirements engineering;
understand the concepts of software requirements elicitation, modelling, validation and verification;
be able to model software requirements rigorously according to the latest requirements engineering standards;
be able to conduct a prioritization process for software requirements according to different approaches;
be able to make a reasoned choice about the best approach for requirements modelling given the context of a project;
be able to proper manage requirements and their quality concerns;
understand the differences between different requirements modelling approaches (agile and non-agile);
be able to generate and maintain a software requirements specification document - Syllabus:
Software Requirements types (functional vs non-functional, constraints, business requirements, business rules, user and system requirements);
The Software Requirements Process (ISO/IEC/IEEE 29148 Standard for Requirements Engineering);
Business Requirements: vision, scope, context diagram, ecosystem maps, events lists, feature trees, the goal-design scale;
User Requirements: User Stories & Use cases modelling. Best ways to derive user requirements;
Requirements elicitation modalities: stakeholders Analysis, design/brainstorming workshops, prototyping, pilot experiments, cost/benefit & risk analysis: event storming technique;
Requirements analysis. (C)lass (R)esponsability (C)ollaborators cards. Linking Requirements to UML Analysis Models, usage of C4 Modelling. Object Constraint Language (OCL). Adoption of Domain Driven Design: tactical vs strategical level;
Requirements Verification & Validation: Consistency checks, CRUD checks, Acceptance Testing. Generation of Acceptance Criteria;
Managing requirements prioritization. Analytic Hierarchy (AHP) process, Software Quality Deployment Function (SQFD), the Agile Planning Game;
Adoption of Generative AI in Software Requirements Engineering: patterns for prompts, approaches according to different RE phases, benefits/drawbacks, and potential threats;
Emergence of the software architecture from requirements. Decomposing system models: abstraction, & different system views. The Attribute-Driven Design (ADD) Method;
Modelling Non-Functional Requirements (NFR): SQuaRE (Software product Quality Requirements and Evaluation) & ISO/IEC 9126 & 25010;
PV259 Generative Design Programming
k 1/2 3 kr., podzim
- Mgr. Marko Řeháček - doc. Mgr.art. Helena Lukášová, ArtD.
- Prerequisities: Basic knowledge of programming, algorithms & data structures (as taught within introductory programming courses such as IB111 Foundations of Programming and IB002 Algorithms I).
- Goals: Show how art intersects with technology and how to use programming skills in graphic design and art projects. The course explains generative design techniques and fundamental art principles through programming in p5.js (Processing). The students will profoundly understand generative design process, improve their design thinking, and create unique audio-visual works to present to their peers and public.
- Learning outcomes: Students passing this course will be able to:
- create own (interactive) audio-visual works (static images, video, interactive graphics, web application, art installation) using generative design techniques
- apply generative design techniques in other fields (graphic and web design, data visualization, games, art, ...)
- create presentations of ideas for designs or artworks using design sotware (Figma)
- prototype the ideas in p5.js or Processing
- Syllabus:
Introduction to generative design and art, programming in p5.js, examples of works of international and local artists.
Basic geometry: how to use colors, color palettes and their interpolation, color models (RGB vs. HSL), transparency and blending, basic shapes, organizing shapes into rhythmic patterns, generating growing structures.
Interactivity: using mouse and keyboard input to alter the artwork.
Geometric transformations: how to position elements, coordinate systems, linear interpolation.
Randomness vs. order: let computer make decisions, use Perlin noise.
Use of generative techniques in graphic design.
Multi-agent systems: artificial life, forces, physics, digital brush, flowfields, emergent patterns.
Complex shapes, vectors, curves
Computer audition: what are the qualities of sound, spectral analysis using FFT, creating audio-reactive visuals
Typography: playing with text and font parameters, curves, font rasterization, font mutations.
Basics of image processing.
AI in art: using ml5.js, generative and other models, such as PoseNet.
Final project: ideation, first concepts and drafts, implementation, and presentation. Using Figma to document and present the ideas.
PV260 Software Quality
k 2/2 4 kr., jaro
- doc. Ing. RNDr. Barbora Bühnová, Ph.D. - Bruno Rossi, PhD - RNDr. Ondřej Krajíček
- Prerequisities:
( PV168 || PA165 || PV178 || PV179 ) || SOUHLAS
- Goals: The aim of the course is to introduce students into both theoretical and practical aspects of software quality (quality attributes, metrics, conflicts) and supportive processes (activities contributing to building software quality along the development process), and develop critical thinking that will allow them to identify code flaws and future problems early during the software development life cycle. Students will also become familiar with code refactoring and different dimensions of software testing.
- Learning outcomes:
At the end of the course students will:
understand different aspects of software quality (quality attributes, metrics, conflicts) and supportive processes (activities contributing to building software quality along the development process);
be able to identify code flaws related to reliability, performance, scalability, maintainability and testability;
be able to refactor existing code to improve the discussed quality attributes;
have practical experience with different dimensions of software testing and related tools. - Syllabus:
Roadmap to software quality engineering methods.
Software measurement and metrics, and their role in quality improvement.
Quality in software development, Clean Code & SOLID principles.
Bad code smells and code refactoring.
Focus on quality attributes and conflicts between them.
Static code analysis and code reviews.
Requirements and test cases. From unit testing to integration testing.
Best practices in software testing and testability. Popular testing strategies.
Performance engineering and performance testing.
Challenges of quality management in cloud applications.
Continuous integration and issue tracking.
Software quality management process.
Quality and testing in agile.
PV263 Intercultural Management
k 1/0 1 kr., jaro
- Derek Mainwaring
- Goals: This course aims to boost students’ cross-cultural competency and ability to work in a multi-cultural context. Research has shown that multi-cultural (heterogenous) teams either perform better or worse than mono-cultural(homogenous) teams, usually worse! The key to peak performance is multi-cultural team management.
- Learning outcomes:
When you have completed this course you will be able to:
- Identify some of the factors that influence how decisions are made in cross-cultural management contexts
- Describe key models and concepts used for comparing/contrasting cultures
- Implement and use them appropriately in different cultural & organisational contexts
- Assess your own cultural paradigm
- Identify aspects of overlap between national cultures and organisational cultures
- Evaluate the tools and concepts at your disposal to effectively manage multi-cultural teams
- Demonstrate skills relevant to managing decisions and people in international corporations & organisations - Syllabus:
Input (12-15 hrs. of classwork):
Managing Diversity
- Living in a multi-cultural environment: notions of time, space & environment
- Hofstede’s dimensions of culture
- Other approaches to the analysis of cultures
- “Snapshots” of cultures – USA, UK, France, Czech Rep., etc.
Working in a multi-cultural context:
- Diverse teams, virtual teams – team-building
- Managing the multi-cultural team
- Leadership
- Intercultural skills set
- Organisational culture
Case study & project work (12hrs of group work inc. a final presentation)
Case studies: from mini-cases to longer case/role play activities, e.g. The eOrganization exercise, Journal of Management Studies, 2008.
Project: Managing multi-cultural (virtual) teams – the exact nature of the project(s) depends on the number, interests and availabilities of students
PV266 Game Development II
k 0/1 3 kr., jaro
- Mgr. Jiří Chmelík, Ph.D. - Mgr. Marek Trtík, Ph.D.
- Prerequisities:
PV255
Digital game development related knowledge (in the scope of course PV255 Game Development I). - Goals:
The goal of the course is to provide more experience with the development of digital games. Students will continue the development of games prototyped in PV255 Game Development I with the goal to create a final game by the end of the course.
By working on a team project and guidance of lecturers, students will get more experience with all digital game production phases: preproduction and planning; production; testing; release and presentation of the game
The main output of the course - digital game - should also serve as an important item in students' professional portfolio. - Learning outcomes:
At the end of the course a student should be able to:
effectively work in the small team;
be able to work on all stages of digital game development (planning, design, assets creation, programming, testing, building and releasing);
design and create their own digital game. - Syllabus:
pre-production phase - design document, playable prototype;
the first presentation of the project;
production phase - design and implementation of game mechanics, assets creation;
testing;
post-production phase - debugging, profiling, release;
the final presentation of the project.
PV268 Digital Design
k 2/0 2 kr., podzim
- Daniel Ricardo Echeverri Giraldo, PhD - Mgr. Lukáš Pevný
- Prerequisities:
PV067
PV083 Graphic Design II and PV067 Typography II - Goals: Bachelor and Master’s degree course is a continuation of PV083 Graphic Design II and PV067 Typography II. The aim of this course is to create interactive content for digital devices using visual communication, animation, illustration, and information graphics, as well as exploring new technologies and fabrication methods. In the process, students will obtain knowledge of various publication and digital prototyping platforms and software. Students are expected to a pro-active approach to solving new technological procedures and familiarize themselves with different user-centered design methods.
- Learning outcomes: By the end of the course, students will have a comprehensive skill set in digital design and fabrication. They will be proficient in various areas, including experimenting with materials, combining digital and physical design, and using thorough research effectively. Students will successfully create artefacts, design packaging, and incorporate digital technology into their skills. They will also relate their creations to historical and cultural contexts.
- Syllabus: This course delves into digital design and fabrication, emphasizing authorial design principles. Spanning several thematic modules, students explore material interactions, digital-physical fusion, design research, conceptualization, authorial design's impact, wearable artefacts, augmented reality integration, and historical contexts. Through workshops and critiques, students develop skills in personalized design, creating innovative digital-physical artefacts.
PV269 Advanced methods in bioinformatics
zk 2/0 3 kr., jaro
- doc. Ing. Matej Lexa, Ph.D.
- Prerequisities: The student is expected to have basic knowlege in bioinformatics. They must have passed IV108. Previous study of IV107, PA052 a PB050 is recommended.
- Goals: To acquire practical skills in bioinformatics beyond the scope of bachelor courses, extending theoretical topics from IV108.
- Learning outcomes: The student will be able to choose appropriate computational methods for a given problem; obtain and prepare relevant data; carry out necessary computation using their own or publicly available programs.
- Syllabus:
Genomic sequences
- Advanced techniques for NGS data
- Sequence motif detection and genome annotation
- Advanced work with genome browsers
Proteins
- Hidden Markov models (HMM)
- Protein structure analysis
PV271 Risk Management in IT
zk 1/1 2 kr., podzim
- Stanislav Masák, M.Sc. - prof. RNDr. Tomáš Pitner, Ph.D.
- Goals: The aim of the course is to provide a basic overview of the various types of risks that affect the IT area, as well as the ways of their management.
- Learning outcomes:
At the end of the course students should be able:
- to identify the risks they may encounter during their IT career;
- to analyze and measure the identified risk using appropriately chosen method;
- to apply risk management techniques. - Syllabus:
Introduction to Risk management in IT.
Strategic planing.
Definition of risk and its types.
Risk management.
Risk management.
Risk measurement (Value at risk analysis).
Standarts in risk managenet ISO 27 005, ISO 31 000.
Financial analysis in risk management decision making.
Risk managemant in praktice.
PV273 Seminar of Sitola Laboratory
z 0/2 2 kr., podzim
- doc. Mgr. Hana Rudová, Ph.D. - doc. RNDr. Eva Hladká, Ph.D. - prof. RNDr. Luděk Matyska, CSc.
- Goals: The goal of the seminar is to get acquainted with the latest trends in the research field relevant to the work of the Sitola laboratory. The research laboratory specializes in high-performance computing, interdisciplinary research in chemistry and biology, multimedia and networking, planning, and scheduling.
- Learning outcomes: Experience with a presentation of recent scientific results.
- Syllabus: The content of the seminar is made up of selected topic presentations.
PV273 Seminar of Sitola Laboratory
z 0/2 2 kr., jaro
- doc. Mgr. Hana Rudová, Ph.D. - doc. RNDr. Eva Hladká, Ph.D. - Mgr. Luděk Matyska - prof. RNDr. Luděk Matyska, CSc.
- Goals: The goal of the seminar is to get acquainted with the latest trends in the research field relevant to the work of the Sitola laboratory. The research laboratory specializes in high-performance computing, interdisciplinary research in chemistry and biology, multimedia and networking, planning, and scheduling.
- Learning outcomes: Experience with a presentation of recent scientific results.
- Syllabus: The content of the seminar is made up of selected topic presentations.
PV275 Introduction to Quantum Computer Programming
zk 2/2 3 kr., podzim
- RNDr. Daniel Reitzner, PhD. - doc. RNDr. Jan Bouda, Ph.D. - Mgr. Michal Sedlák, PhD. - doc. Mgr. Mário Ziman, Ph.D.
- Prerequisities:
( MB141 || MB151 || MB101 || MB201 ) && IB111
Basic knowledge of linear algebra, probability theory, programming in Python - Goals:
This is an introductory course to quantum information. The main goal is to provide students with basic idea what are the expected applications of quantum information processing, how quantum computing and communication works, and give them practical experience how to program quantum computer. All programming will be performed using Python language and IBM Quiskit library.
As a part of the course we want students to become comfortable with basic mathematics necessary for quantum information processing. While you already know almost all necessary mathematics from prerequisite courses, there is a big difference between knowing something and being able to use it an intuitive and efficient way.
The course is designed in the way that it introduces in a parallel way basic quantum information applications, necessary mathematical concepts and teaches how to implement these applications on quantum computers. As an example, on second lecture you will learn about BB84 quantum key distribution. On this concept we will explain what quantum state is, what is a quantum measurement, and we will learn how to implement BB84 using the Quiskit Python library. In this way we avoid boring monothematical blocks of mathematics.
This course will be in future followed by two advanced courses. The second course will introduce all necessary concepts of quantum information processing – necessary concepts from mathematics, physics and informatics, so that student will have all theoretical knowledge necessary to work with quantum information processing. The third course will explain the applications of quantum information processing in full scale – communication, algorithms, cryptography, NP-approximation, machine learning, simulation of physical and chemical systems. - Learning outcomes: After completing the course, a student
- will be able to implement simple quantum programs using the IBM Quiskit library
- will know basic applications of quantum information processing
- and will be able to program them using the IBM Quiskit library
- will be able to perform basic mathematical calculations necessary for quantum information processing applications
- Syllabus: More detailed syllabus is provided in the study materials, namely in the Interactive syllabi.
- Quantum information processing, tools and applications.
- Existing quantum technologies (IBM, Toshiba, Google, Microsoft, D-wawe, Qusoft, idQuantique), Chinese backbone quantum network, quantum satellites.
- BB84 quantum key distribution, Bell inequalities, entanglement-based key distribution.
- Quantum teleportation.
- Quantum encryption.
- Quantum bit commitment and coin flipping.
- Grover’s search.
- Quantum processors, universal sets of quantum gates, approximation.
PV277 Programming Applications for Social Robots
k 0/1 1 kr., podzim
- doc. RNDr. Aleš Horák, Ph.D. - RNDr. Adam Rambousek, Ph.D.
- Prerequisities: Basic knowledge of programming in Python. The seminar is given in English. Projects can be in English, Czech or Slovak (the robot supports natively only English and Czech).
- Goals: The purpose of the seminar is to give a deeper insight into the possibilities of chatbots and robots communicating with people, and applications in the field of social robots. The course work includes an individual project elaboration and development of an application for the Pepper robot.
- Learning outcomes: At the end of the course, students should be able to: describe principles and algorithms used for human-computer interaction; independently analyze and design an application in this area; choose a suitable implementation procedure and develop an application for the selected robot model.
- Syllabus: Existing approaches and algorithms for human-computer communication; Chatbots and dialog systems; Speech recognition and synthesis; Social robots - specific applications from different areas of interaction; HW and SW equipment of selected robot models; Control methods and interface description for programming Pepper robot; Elaboration of individual project
PV277 Programming Applications for Social Robots
k 0/1 1 kr., jaro
- doc. RNDr. Aleš Horák, Ph.D. - RNDr. Adam Rambousek, Ph.D.
- Prerequisities: Basic knowledge of programming in Python. The seminar is given in English. Projects can be in English, Czech or Slovak (the robot supports natively only English and Czech).
- Goals: The purpose of the seminar is to give a deeper insight into the possibilities of chatbots and robots communicating with people, and applications in the field of social robots. The course work includes an individual project elaboration and development of an application for the Pepper robot.
- Learning outcomes: At the end of the course, students should be able to: describe principles and algorithms used for human-computer interaction; independently analyze and design an application in this area; choose a suitable implementation procedure and develop an application for the selected robot model.
- Syllabus: Existing approaches and algorithms for human-computer communication; Chatbots and dialog systems; Speech recognition and synthesis; Social robots - specific applications from different areas of interaction; HW and SW equipment of selected robot models; Control methods and interface description for programming Pepper robot; Elaboration of individual project
PV278 Development of Intuitive User Interfaces
z 0/3 4 kr., podzim
- Ing. Karel Hala - Mgr. Mária Šviriková - doc. Ing. RNDr. Barbora Bühnová, Ph.D. - Ing. Filip Hlaváč - Mgr. Jan Vrzal
- Prerequisities:
SOUHLAS
Informal prerequisities: * keen on user-friendly UI * interest in user-centered design * fundamental knowledge in web apps development - web languages basics/HTML - style languages/CSS, script languages/ECMAScript, architectures and deployment of web apps * GIT fundamentals * basic teamwork skills - Goals: The aim of this course is to introduce User Experience (UX) Design and Front-end technologies with hands-on experience on a project with real data. This course introduces the basics of user-centered design and guides students through practical techniques where we understand the needs of our end user. This course is for beginners who want to learn more about the “user experience” or “user interface”. The student will understand why it is important to think about the needs of the user and then learn to apply the intuitive procedure to their project. We will create prototypes and then implement a project using current technologies. The project will be iterated on an ongoing basis and the outputs will be tested on users. Students will be guided through the right procedure to create a user-friendly user interface.
- Learning outcomes:
will know UX processes in user interface development (UX, interaction design, prototyping, wireframe, user research, usability testing)
will understand the process flow from idea to project implementation and final user validation; practical project based on real data using latest technologies (React, Redux, webpack, jest);
will master teamwork on similar projects - Syllabus: Practical development project in pair-programming style. The progress of the work will be regularly monitored at weekly seminars where students will receive the necessary feedback. At the final seminar is made an overall evaluation and students will be granted credit. Introduction to course content - all Intro to UX and design thinking, intro to design system - M, T Wireframing & Prototyping - MT Javascript practices - old and new - KM React - beginner - KM Redux - advanced - KM UX feedback and iterations - all Data flow - Redux, Flux, Mobx - KM JS libraries - deployment, typings - KM User testing - all Unit testing - KM Theory vs. Real life - all Presentations and Critique - all
PV279 Digital Forensics
zk 2/1 2 kr., podzim
- Ing. Marián Svetlík
- Prerequisities:
! J012
- Goals: The aim of the course is to provide: Basic overview of the role and position of the Digital Forensics in the area of cybersecurity as well as in criminal investigation. Basic overview of the methods and procedures used in the process of the digital evidence identification and analysis.
- Learning outcomes: At the end of the course, the students will be able: to understand the specifics of Digital Forensics methods and processes, to assess quality and competency of outsourced digital forensic services, to implement elementary procedures of digital forensic analysis independently, especially to work as a digital forensics first responders.
- Syllabus: Digital Forensics in Cybersecurity; Digital Forensics in a criminal investigation; Digital traces and digital evidence, their properties Digital evidence documentation principles; Typical sources of the digital traces; Digital evidence handling; Digital evidence gathering and protection; Process of the digital forensics examination; Digital Forensics Laboratory - building and managing; Digital Forensics - certification and accreditation; Electronic Evidence in Czech and European context.
PV280 Network Forensics
zk 1/1 2 kr., jaro
- RNDr. Milan Čermák, Ph.D. - RNDr. Petr Velan, Ph.D.
- Prerequisities:
! J012 && PB156 && PV004
- Goals: The course teaches students to monitor network traffic using raw packet capture and network flows. Students will be able to analyze obtained data to detect malicious behavior and network attacks. They will learn how to explore unknown networks and their services and assess their vulnerabilities.
- Learning outcomes:
At the end of the course, the students will be able to:
• capture and analyze network traffic,
• understand network flow monitoring and be able to deploy it on a network,
• analyze flow records and extract information related to events and incidents in the monitored network,
• understand network attacks and their detection in traffic,
• analyze unknown network infrastructure and gain information about potential vulnerabilities. - Syllabus:
Introduction to network forensics;
Host-side artifacts;
Packet capture and analysis;
Network flow capture and analysis;
Encrypted and tunneled traffic;
Network attacks and anomalies;
Intrusion detection systems;
Firewall and application logs;
Network scanning;
Advanced network data analysis.
PV281 Programming in Rust
k 2/2 4 kr., podzim
- Ing. Lukáš Grolig
- Prerequisities:
PB006
Basic knowledge of databases, REST interfaces, and web application development is also expected - this can be self-studied from the study materials or the interactive syllabus of the PB138 Basics of web development and markup languages course. - Goals: The goal of this course is to introduce students to the Rust programming language and the benefits it brings to the system programming or to the development of reliable, secure and efficient services. In addition to the syntax of the language itself, the course will introduce students to the commonly used libraries used in Rust and the best practices for development.
- Learning outcomes:
Students that pass this course will be able to:
- Utilize the syntax of the Rust programming language.
- Write idiomatic Rust code.
- Understand the benefits of system programming in Rust.
- Use the Rust standard library.
- Familiarize themselves with any rustdoc documentation.
- Use common Rust libraries for developing backend and frontend applications. - Syllabus:
1. Language features and benefits, introduction to the ecosystem and tools.
2. Basic syntax, memory management, rudimentary data structures, and the borrow-checker.
3. CLI applications, lifetimes, and error management.
4. I/O, generics, iterators and standard library data structures.
5. Smart pointers, module system, documentation and testing.
6. Parallel and asynchronous programming.
7. Serialization and network programming.
8. Databases and working with datetimes.
9. Web applications, backend, the Actix framework.
10. Web applications, frontend.
11. Desktop applications, the Tauri framework.
12. Hardware.
13. Macros.
PV283 Games User Research Lab
z 0/2 3 kr., podzim
- Priv.-Doz. Dipl.-Ing. Dr. Simone Kriglstein
- Prerequisities:
Knowledge and interest in the area of (digital) games are expected. Knowledge about human-computer interaction fundamentals is an advantage.
The course is for students with Computer Games Development specialization, and they have priority in the assignment of places. If places are still available, students from other fields can also participate. - Goals:
The course gives an overview of methods and principles in the games user research space and for collecting data on player experience.
The goal is to provide an overview of theoretical foundations and practical experience by conducting an expert evaluation and performing playtests. The main objective of the course is to train and develop students’ skills for testing games by following established games user research methods. For the course, an own developed game can be used. - Learning outcomes:
Students will be able to:
● understand principles of games user research
● plan and conduct playtesting sessions
● understand different methods which can be used for playtesting
● apply methods and principles of playtesting
● understand the difference between expert evaluations and evaluations with players - Syllabus:
Introduction to games user research and playtesting
Games user research methods
Preparing a games user research study
Running a games user research study
Analyzing and reporting a games user research study
PV284 Introduction to IoT
k 2/2 3 kr., podzim
- doc. Ing. Václav Oujezský, Ph.D. - doc. Mgr. Karel Slavíček, Ph.D.
- Prerequisities: Basic knowledge of computer architecture and operating systems, OS Linux, ABC of programming in C/C++.
- Goals: The goal is to educate students to: * understand IoT systems architecture * obtain an overview of commonly used IoT systems‘ HW components * obtain a basic knowledge of communication busses and protocols commonly used in IoT systems
- Learning outcomes: After completion of the course, the student will be able to: * understand IoT systems architecture * have an overview of HW components commonly used in IoT systems * have basic application knowledge on communication protocols and buses commonly used in IoT * construct a basic IoT system
- Syllabus: 1) Introduction, IoTs system structure, HW components overview (MCU, sensors, actuators, communication) 2) MCU used for „Bare Metal“ programming I (Arduino and other Atmega MCUs, Attiny,PIC,…) 3) Display units 4) Communication busses I – UART, SPI, I2C, 1-Wire, RS-485 5) Basic non-electric physical quantities measurement (temperature, humidity, barometric pressure) 6) A brief look into the world of analog circuitry – voltage divider, pull-up resistors, LED diodes current limitation, transistor as a switch, ... 7) Wireless communication – BT, SigFox, LoRa WAN, ISM-band microwave networks, WiFi including IEEE 802.11ah 8) ARM MCU architecture overview 9) MCUs equipped with OS Linux – (RaspberryPi, RockPi, OrangePi, AnythingPi) 10) MCU for „Bare Metal“ programming II (STM32, ESP8266, ESP32, EFM32, MSP430,…) 11) Measurement of distance and movement (inertial sensors of rotation and acceleration, ultrasound and laser distance measurement, PIR sensor) 12) Communication busses II –MODBUS, MBUS, CANbus, FlexRay, industrial ethernet
PV285 IoT Security
k 2/2 3 kr., jaro
- doc. Ing. Václav Oujezský, Ph.D. - doc. Mgr. Karel Slavíček, Ph.D.
- Prerequisities:
PV284 || SOUHLAS
Basic knowledge of computer architecture and operating systems, OS Linux, ABC of programming in C/C++. Common knowledge of IoT architecture, MCUs, sensors, and communication busses and protocols. Completion of the course IoT Introduction is recommended. - Goals: The goal is to give students an overview of: * HW and SW components used to the ensure security of IoT systems * security risks of IoT systems and their mitigation
- Learning outcomes: After completion of the course, the student will be able to: * understand security risks of IoT systems * have an overview of HW components usable to the enforce security of (not only) IoT systems * identify and mitigate security risks in IoT systems
- Syllabus: 1. Introduction, HW components overview, cryptography fundamentals 2. MCUs with cryptography acceleration 3. Dedicated chips for secure storage of PKI private keys, dedicated chips for cryptography algorithms computation 4. HW for user authentication and biometric sensors 5. Blockchain and smart contracting 6. RFID, NFC, barcode, and QR code 7. Tools for communication eavesdropping and analysis 8. Communication busses attack 9. Protocol suite for encrypting data communications 10. Biometric sensors and authentication HW attack 11. RSA key storage attack 12. Data sources and actuators attack
PV286 Secure coding principles and practices
zk 2/0 3 kr., jaro
- Lukasz Michal Chmielewski, PhD - RNDr. Lukáš Ručka
- Prerequisities: Basic knowledge in applied cryptography and IT security, practical experience in programming with C/C++ language, basic knowledge in formal languages and compilers, user-level experience with Windows and Linux OS
- Goals: At the end of this course the student will understand what the typical security issues related to secure coding are. The student will also be able to design applications and write programs in C/C++ and Java in a more secure way.
- Learning outcomes:
After a course completion, the student will be able to:
- able to review source code for typical security bugs;
- able to properly check and sanitize check program input data;
- able to use standard tools for static and dynamic code analysis and interpret results;
- able to describe typical bugs from concurrent program execution and write code without it;
- able to apply systematic methods to produce code with better resiliency against bugs;
- understand basic cryptographic primitives and their proper use in source code; - Syllabus: Language level vulnerabilities, secure programming techniques and approaches, input processing, static and dynamic code checking, binary defenses and exploits, security testing, integrity of modules, concurrent issues, random number generation and usage, security primitives, security code review.
PV287 Artificial Intelligence and Machine Learning in Healthcare
k 1/1 2 kr., jaro
- doc. Mgr. Bc. Vít Nováček, PhD
- Prerequisities:
Basic knowledge of Python programming is desirable, but not essential. References for optional self-study:
- https://www.edx.org/course/cs50s-introduction-computer-science-harvardx-cs50x,
- https://www.edx.org/course/python-for-data-science-2.
Similarly, it wouldn’t hurt to have some minimal prior knowledge of life sciences. References for optional self-study:
- https://www.fi.muni.cz/ novacek/courses/pv287/resources/hunter-molecular-biology-for-computer-scientists.pdf,
- Section I of https://www.fi.muni.cz/ novacek/courses/pv287/resources/katzung-intro-to-pharma.pdf,
- slightly outdated but still relevant https://www.fi.muni.cz/ novacek/courses/pv287/resources/shortliffe-computational-medicine.pdf,
- more up to date https://www.nejm.org/doi/10.1056/NEJMra1814259 (an article on machine learning in medicine) or https://doi.org/10.1098/rsif.2017.0387 (a survey on deep learning in biology and medicine). - Goals: The course provides a broad overview of the fields of biomedical and health informatics. The teaching methods are project-driven and research-oriented, with emphasis on reflecting the specific backgrounds and individual preferences of the students (including their possible scheduling restrictions). A special emphasis is put on learning how to use state-of-the-art Artificial Intelligence and machine learning techniques for tackling practical challenges in biology and medicine. We will focus on several representative use cases motivated by the real needs of life scientists and clinicians to illustrate the societal impact computer science can have in these fields. Perhaps most importantly, however, the course aims at bootstrapping an interdisciplinary community of young professionals who can deliver new results in this exciting field that are both technically sound and practically grounded.
- Learning outcomes:
Upon successful completion of the course, the students will be able to:
● name and explain the key reasons for applying AI in biomedical informatics and healthcare;
● name and explain the main challenges that complicate applying AI in biomedical informatics and healthcare;
● understand and apply a representative range of AI techniques in the context of life sciences;
● design and implement a specific biomedical AI application while working collaboratively in a multidisciplinary team;
● map real biomedical and/or clinical problems to possible solutions utilising state-of-the-art AI techniques;
● suggest an approach to validating the solutions using realistic benchmarks, data sets and qualitative methods based on expert committees. - Syllabus:
● Biomedical and healthcare informatics - an overview (2 introductory lectures)
o Basic notions, the scope of the course.
o Motivation, review of real-world challenges.
o Historical overview of the field (from MYCIN to IBM Watson to AlphaFold).
o Catching up with the basics (a crash/refresher course in life sciences for computer scientists and coding for life scientists).
o Teaming up into groups of ca. 3 people for detailed analysis of papers on state-of-the-art biomedical AI approaches in areas like: classical and deep machine learning for biomedicine, relevant data sets, networked biomedical knowledge, biomedical knowledge integration, text mining and explainable AI. Each of the groups will also work on a semestral project based on their selected paper (replication and extension of the presented research).
● Weekly progress update meetings between the teams and the teacher.
● Up to two guest lectures about relevant topics from international experts.
● Interim project presentations, hackathon no. 1 (fleshing out the project implementation plan, getting data, etc.)
● Weekly progress update meetings between the teams and the teacher.
● Final project presentations, colloqium/hackathon no. 2 - where to go next after what we've (un)learned so far?
PV289 State and Cybesecurity
k 2/0 2 kr., jaro
- Ing. Dušan Navrátil
- Prerequisities: The prerequisite is an interest in the issue of cybersecurity in the context of the functioning of the state and its institutions.
- Goals: The aim is for students to gain a basic understanding of cybersecurity in context, including the development of legislation in the Czech Republic, the role of the state, the establishment of the National Office for Cyber and Information Security (NÚKIB) and practical experience.
- Learning outcomes:
After completing the course the student will:
- be able to identify and summarize important concepts and issues of cybersecurity, especially in the context of the state and its roles;
- know the basics of cybersecurity from a technical, general geopolitical and legal perspective;
- be able to describe the legislative background of cybersecurity in the Czech Republic;
- understand the role of the state, private sector and academia in this area;
- recognise cyber attacks as part of hybrid warfare;
- distinguish and describe the responsibilities and roles of actors in cybersecurity and cyberdefense in the Czech environment - Syllabus:
Introduction to the course (introduction to the content and conditions of completion)
Cyberspace - the scene of invisible conflicts.
Security system of the Czech Republic, practical experience with its functioning and institutional provision of cybersecurity in the Czech Republic.
The emergence of national cybersecurity strategies in the Czech Republic and the transfer of competence for state cybersecurity to the NSA.
The emergence of the Cybersecurity Act, its subsequent amendments and accompanying legislation.
Creation of the National Cyber Security Centre and its activities.
Creation of the NACIB, its activities and the Huawei warning.
The establishment of the NCIB in the state administration and cooperation with other state bodies (e.g. the Police and intelligence services) and international cooperation.
Cyber attacks, cybercrime.
Cyber defence and cyber attacks by state actors.
Cyber attacks as part of hybrid warfare.
Excursions to the NCIS.
Summary of the subject and analysis of current events and trends.
PV290 Chemoinformatics
k 1/1 2 kr., podzim
- doc. RNDr. Radka Svobodová, Ph.D.
- Goals: The course is aimed at acquiring knowledge in the field of chemoinformatics. The objectives of the course are as follows: - To explain the concept of molecular structure (1D, 2D and 3D) and methods of its representation in computer. - To explain the most important chemoinformatics methodologies for dealing with the structures of small organic molecules (including their algorithms and complexity). - Explain how to work with and search databases of small molecules.
- Learning outcomes: Upon successful completion of the course, the student will be able to: - explain the concept of chemoinformatics - describe the types of structure of molecules and their representations - describe basic chemoinformatics methodologies for working with small organic molecules (including their algorithms and complexity) and demonstrate their application with selected examples - search for structures of molecules in databases and visualise them - describe the methodology for generating structures of molecules using AI Translated with www.DeepL.com/Translator (free version)
- Syllabus: 1. Introduction, concept of chemoinformatics, content of the subject, history of the field 2. 1D, 2D and 3D structure of a molecule, data representation of a molecule using graph and matrix 3. 2D structure (topology) of a molecule, writing a molecule using a string (SMILES, InChi, InChiKey) 4. Isomorphism and canonical indexing of molecular graphs 5. Cycle search, fingerprints 6. 3D structure (geometry) of the molecule, representation using Cartesian and internal coordinates, data formats, geometry comparison 7. Molecular descriptors 8. Similarity of molecules, similarity comparison, similarity coefficients 9. Models for studying quantitative relationships between structure and activity/property of molecules (QSAR and QSPR models) 10. Databases of small and large molecule structures, searching them 11. Visualization of structures of molecules and molecular fragments, models for visualization of molecules 12. Generation of molecule structures using AI algorithms Translated with www.DeepL.com/Translator (free version)
PV291 Introduction to Digital Signal Processing
zk 2/1 3 kr., jaro
- doc. RNDr. David Svoboda, Ph.D.
- Prerequisities:
MB151 && MB152
- Goals:
The aim of this course is to introduce the basic concepts related to digital signal and the common operations used in digital signal processing. It covers the simple signal modifications as well as transforms converting the original data into different representations. At the end of this course, students should be able to:
- know what the digital signal is a how to process it;
- understand the concept of convolution and correlation;
- upsample, downsample, resample the digital signal;
- understand the basic principles of frequency analysis;
- understand the principle of linear and non-linear filters;
- implement and apply the selected filters;
- analyze time series;
- manipulate with multidimensional data;
- understand commonly used compression methods. - Learning outcomes:
After completing the course, the student should be able to:
- analyze the signal both in time and frequency domain;
- properly resample the digital signal;
- design, implement, and apply linear/non-linear filters;
- discuss the problems in the field of frequency analysis;
- propose her/his own efficient and optimized compression methods;
- demonstrate the general principles of compression algorithms;
- use wavelet and Fourier transform appropriately and efficiently;
- work with multidimensional data;
- find specific patterns in time series. - Syllabus:
Signal, Digitization, Sampling & Resampling
Convolution, Correlation
Continuous and Discrete Fourier Transform
Fourier transform and discrete Fourier transform properties
Fast Fourier transform, Discrete cosine transform
Linear & Non-linear filters
Z-transform
Discrete Wavelet Transform
Fast wavelet transform, Lifting scheme
Recursive filters
Time series
Signal compression
PV292 Multiplatform Flutter Application Development
k 2/1 4 kr., podzim
- Mgr. Rastislav Mirek - doc. Ing. RNDr. Barbora Bühnová, Ph.D.
- Prerequisities:
PB162 || PV168 || PA165 || PV178 || PV256 || PB138 || SOUHLAS
- Goals: The course focuses on concepts and modern trends in frontend development such as declarative UI and multiplatform development. It introduces the Flutter framework that supports single-source UI compilation for Android, iOS, Windows, Linux, macOS and web browsers. The course focuses on architecture, object-oriented design and best-practices of declarative UI development, considering the conventions and principles of development in the Flutter framework. Specifics of mobile, desktop and web UIs and adapting Flutter applications to them will also be discussed. In the second half of the course, students will develop a team project to experience designing and developing an application using Flutter technology. The course also aims to present students with practical knowledge and experience of developing applications (not only) using this technology.
- Learning outcomes: Upon completion of this course, the student will: - know the principles, tools, patterns and techniques accompanying the development of Flutter applications - be able to design and program, independently or in a team, a complex Flutter application executable on a platform supported by the framework or on all these platforms - understand the specifics of developing declarative user interfaces - know the conventions, best-practices and most common solutions for managing the global state of Flutter applications - be proficient in Android Studio or Visual Studio Code (at the student's choice) in the aspects of Android Studio relevant to Flutter application development - Know the specifics of mobile, desktop and web platforms and multi-platform responsive user interfaces
- Syllabus: Introduction to Dart language and Flutter SDK framework, widget as a UI building block, StatelessWidget, basics of widget layout on screen, motivation and comparison with selected frontend frameworks StatefullWidget, UI to widget decomposition techniques, widget reusability, Dart language conventions and fundamentals of Flutter application architecture Navigation, advanced widget layout, Flutter layout principles, multiplatform UI development process, responsive UI, basics of asynchronous programming in Dart The Flutter package ecosystem, managing application state in declarative UI frameworks, the concept and possibilities of (global) state management in the Flutter framework, managing application state using the ChangeNotifier with Provider technique Dependency injection in Flutter, advanced architecture and state management of Flutter applications, Stream, StreamBuilder, RxDart, the concept of UI as a state function InheritedWidget, application state management using Bloc pattern, Flutter application theming Selected aspects of architecture and development of modern, commercial Flutter applications, BaaS concept, Firebase and Flutter Firestore SDK, relation of widget tree to element tree Team project
PV293 Softwarové architectures
k 0/2 3 kr., podzim
- doc. Ing. RNDr. Barbora Bühnová, Ph.D. - Ing. Lukáš Grolig
- Prerequisities: Basic knowledge of software engineering, databases, and experience with object-oriented and functional programming are expected for successful completion of the course. Students should be familiar with C#, Java, Javascript and the React framework.
- Goals: The course aims to introduce students to the process of designing software system architectures with an understanding of the impact of architectural decisions on the resulting system, and to teach them to use Domain Driven Design (DDD). Students will learn about architectural patterns, their variations and characteristics such as scalability, reliability, tunability, monitoring, cost of operation and implementation complexity. For each pattern, students will be able to formulate implementation recommendations and identify potential problems. During the course, students will practice implementing each architecture and important components in a specific language (C#, Javascript/Typescript).
- Learning outcomes:
Upon completion of the course, the student will be able to:
- apply the principles of DDD, DDD-based software design and their impact on implementation
- assess the advantages and disadvantages of specific architectures
- select the appropriate architecture and approaches for a given system
- determine the expected characteristics of the system according to the chosen architecture
- understand agile approaches to application architecture - Syllabus:
- Introduction to large-scale application architecture: architectural process, roles and tasks of the architect.
- Domain Driven Design (DDD):
- a. Strategic design
- b. Tactical design
- Monolithic Architecture:
- a. Layered architecture
- b. Pipeline architecture
- c. Microkernel architecture
- d. Plug-in architecture
- Service-oriented architectures:
- a. Service-based architecture
- b. Microservices
- c. Sidecar architecture
- d. Service mesh architecture
- Event-driven architectures
- Serverless architecture
PV294 Advanced C++
z 2/0 2 kr., podzim
- RNDr. Nikola Beneš, Ph.D.
- Prerequisities:
PB161
- Goals: The goal of this course is to provide a broad overview of the modern C++ language, including some of its more advanced parts. Students looking for a more practical in-depth approach (covering a smaller part of the language) might want to enrol in PV264 (both courses can also be studied simultaneously).
- Learning outcomes: At the end of the course, the student should be aware of most of the intricacies of the modern C++ programming language and grasp most of the functionality offered by its standard library. They should be able to read and understand well-written modern C++ code and have a solid foundation for further (self)-improvement in C++ programming skills.
- Syllabus:
C++ memory and object model, ownership.
Namespaces, scope, lifetime.
Move semantics, universal references, perfect forwarding.
Generic programming, metaprogramming, templates, concepts, type traits.
Useful C++ idioms: SFINAE, CRTP, tag dispatch, type erasure.
Memory and resource management, smart pointers.
Algorithms, iterators, ranges, views, (niebloids).
Virtual inheritance, RTTI.
Standard library: chrono, random, regex, …
Concurrency in C++, threads, synchronisation.
PV295 Hacklab
k 0/0 2 kr., podzim
- RNDr. Petr Ročkai, Ph.D.
- Prerequisities:
SOUHLAS
PV295 Hacklab
k 0/0 2 kr., jaro
- RNDr. Petr Ročkai, Ph.D.
- Prerequisities:
SOUHLAS
PV297 Cybersecurity Training
k 1/1 3 kr., jaro
- doc. RNDr. Jan Vykopal, Ph.D. - doc. Ing. Pavel Čeleda, Ph.D.
- Prerequisities:
( PB177 || ( PB156 && PV004 ) ) && ! PV276
- Goals: Introduce students to various forms of education in cybersecurity - raising awareness, technical and communication skills training, and exercises. Practice creating educational materials including pilot testing with users.
- Learning outcomes: Upon completion of the course, students should be able to:
- describe various forms of cybersecurity education and explain the differences between them,
- design and implement a chosen form of education - either a game for teaching technical skills or an exercise for organizational response to a cybersecurity incident,
- evaluate the pilot run of the designed game or exercise.
- Syllabus:
- Types of cybersecurity education: raising awareness, technical and communication skills training. Examples of each type.
- Environment and tools for implementing cybersecurity education.
- Lifecycle of exercises. Phases of preparation, testing, delivery, and evaluation.
- Design and preparation of exercises in teams. Ongoing consultations.
- Internal testing of the created exercise by students of the course.
- Pilot testing of the created exercise by peers, and the general public.
- Methods of exercise evaluation, formulation of improvement suggestions.
PV298 Service and Systems Thinking
k 2/0 2 kr., podzim
- Francesco Caputo - Ing. Leonard Walletzký, Ph.D.
- Goals: The course endeavors to provide students with a distinctive opportunity to cultivate a robust conceptual framework, enabling them to perceive problems in a holistic manner while fostering an appreciation for diverse perspectives. Building upon the foundational knowledge instilled in the 'Introduction to Service Science' course, this curriculum is meticulously designed to cultivate a diverse set of critical and reflective thinking skills. The ultimate goal is to empower students with a competitive edge, not only in theoretical comprehension but also in the practical application of their knowledge. By instilling a comprehensive understanding of the intricate interplay between technology and society, the course aims to produce graduates who are not only well-versed in theoretical principles but also adept at applying this knowledge in real-world scenarios. Through this holistic approach, students are poised to emerge as well-rounded professionals capable of addressing the complexities of the contemporary IT landscape with confidence and innovation.
- Learning outcomes: The primary objective is to facilitate the development of a multifaceted and transdisciplinary acumen among students, equipping them with the capacity to comprehend the myriad risks and opportunities inherent in the evolving social and economic landscape. By focusing on the unique challenges faced by IT professionals in this dynamic environment, the course aims to empower students with a nuanced understanding, preparing them to navigate complex scenarios with agility and insight.
- Syllabus:
The course will offer to the student first elements about:
Service Marketing
Systems Approaches
Systems thinking
Market and Stakeholder Analysis
Value co-creation paths and approaches
Service Management between human and digital dimensions
PV299 Service Innovation Management
zk 2/0 2 kr., podzim
- Ing. Aleš Studený - Ing. Leonard Walletzký, Ph.D.
- Goals: Are you wondering how to manage innovation? How do you manage innovation when you are a start-up and only have an idea? This is how every development project begins. But will it interest people? Is it just a toy or could it become a business plan? How do companies bring new products and services to market? A large part of the discussions about innovation and its management focuses on products. However, services are increasingly becoming the main driving force behind successful business and economic growth. This course was created with this important trend in mind, to introduce the latest developments in service innovation management.
- Learning outcomes: By the end of the course, students should be able to: understand and explain the basics of Service Innovation Management and comprehend the difference between innovation management in a start-up environment and management based on the Information Technology Infrastructure Library (ITIL).
- Syllabus:
1. Innovation Adoption Lifecycle
2. Start-up vs Other Innovation Management Models
3. Creating and Validating Business Hypotheses
4. How to Bring a Service to Market with Minimal Effort
5. Organizational Innovation Culture
6. Business Model Innovation or Entrepreneurship
7. Managing Research, Development, and Innovation in Services (Agile, SCRUM, DevOps)
8. Service Portfolio Management
UA104 Didactics for Informatics I
k 0/2 2 kr., jaro
- RNDr. Jaroslav Pelikán, Ph.D.
- Prerequisities: Knowledge of general didactics or pedagogy.
- Goals: Each student will be assigned topics from the domain of computer science. The student makes methodical preparation of the given topics and presents them in a form of high school lesson. The presentation is then evaluated with regard to its fundamental and didactic correctness at the end of the presentation.
- Learning outcomes:
At the end of this course, students should:
know basic methodical techniques for computer science teaching at high schools;
be able to present given topics (in a form of high school lesson). - Syllabus:
Methodical proccessing of the particular chapters of the basic
courses (architecture of computers, design of algorithms and programming, operating systems, computer networks and Internet).
A papers within 30 - 45 minutes. Discussion and evaluation of the particular papers.
UA105 Didactics for Informatics II
zk 1/2 3 kr., podzim
- RNDr. Jaroslav Pelikán, Ph.D.
- Prerequisities:
UA104
Passing the course UA104 Didactics for Informatics I. - Goals: In the course Didactics of Informatics II the students are introduced to methodical recommendations for computer science teaching at high schools and basic schools. The students also obtain information about study programs dealing with computer science at various types of high schools. They learn to make their own teaching plans, that are based on a given study program.
- Learning outcomes:
At the end of this course, students should:
know methodical recommendations for computer science teaching at high schools and basic schools;
be acquainted with study programs dealing with computer science at various types of high schools;
be able to make their own teaching plans, that are based on a given study program;
be able to present given topics (in a form of high school lesson). - Syllabus:
Pedagogical and didactical concepts of computer science education.
Users, algorithmic and project approach.
Study programs of informatics at basic and high schools.
Administration of computer schoolrooms.
Teaching tools, educational software, multi-licenses.
Methodical processing of the particular chapters of the basic courses (architecture of computers, design of algorithms and programming, operating systems, computer networks and Internet).
A papers within 30 - 45 minutes. Discussion and evaluation of the particular papers.
UA442 Exercises in Practical Education I
z 0/0 4 kr., podzim
- RNDr. Jaroslav Pelikán, Ph.D.
- Goals: The main objective of this course is to expose students to their future professional activities so as they can test their pedagogical skills.
- Learning outcomes:
At the end of this course, students should:
be able to present given topics (in a form of primary school lesson). - Syllabus: Individual teaching practice at primary school under the supervision of an experienced teacher. The teaching practice includes 15 lessons of sittings-in on a class, 15 lessons of presentations on class, and 15 hour work devoted to school operation.
UA442 Exercises in Practical Education I
z 0/0 4 kr., jaro
- RNDr. Jaroslav Pelikán, Ph.D.
- Goals: The main objective of this course is to expose students to their future professional activities so as they can test their pedagogical skills.
- Learning outcomes:
At the end of this course, students should:
be able to present given topics (in a form of primary school lesson). - Syllabus: Individual teaching practice at primary school under the supervision of an experienced teacher. The teaching practice includes 15 lessons of sittings-in on a class, 15 lessons of presentations on class, and 15 hour work devoted to school operation.
UA542 Exercises in Practical Education II
z 0/0 4 kr., podzim
- RNDr. Jaroslav Pelikán, Ph.D.
- Goals: The main objective of this course is to expose students to their future professional activities so as they can test their pedagogical skills.
- Learning outcomes:
At the end of this course, students should:
be able to present given topics (in a form of secondary school lesson). - Syllabus: Individual teaching practice at secondary school under the supervision of an experienced teacher. The teaching practice includes 15 lessons of sittings-in on a class, 15 lessons of presentations on class, and 15 hour work devoted to school operation.
UA542 Exercises in Practical Education II
z 0/0 4 kr., jaro
- RNDr. Jaroslav Pelikán, Ph.D.
- Goals: The main objective of this course is to expose students to their future professional activities so as they can test their pedagogical skills.
- Learning outcomes:
At the end of this course, students should:
be able to present given topics (in a form of secondary school lesson). - Syllabus: Individual teaching practice at secondary school under the supervision of an experienced teacher. The teaching practice includes 15 lessons of sittings-in on a class, 15 lessons of presentations on class, and 15 hour work devoted to school operation.
UA642 Exercises in Practical Education III
z 0/0 2 kr., podzim
- RNDr. Jaroslav Pelikán, Ph.D.
- Goals: The main objective of this course is to expose students to their future professional activities (at a secondary school or at a university) so as they can test their pedagogical skills.
- Learning outcomes:
At the end of this course, students should:
be able to present given topics (in a form of secondary school lesson or in a form of university class exercise). - Syllabus: Individual teaching practice at secondary school under the supervision of an experienced teacher (20 lessons of presentations on class) or supervising of university class exercise for some of the courses focused on programming (one semester).
UA642 Exercises in Practical Education III
z 0/0 2 kr., jaro
- RNDr. Jaroslav Pelikán, Ph.D.
- Goals: The main objective of this course is to expose students to their future professional activities (at a secondary school or at a university) so as they can test their pedagogical skills.
- Learning outcomes:
At the end of this course, students should:
be able to present given topics (in a form of secondary school lesson or in a form of university class exercise). - Syllabus: Individual teaching practice at secondary school under the supervision of an experienced teacher (20 lessons of presentations on class) or supervising of university class exercise for some of the courses focused on programming (one semester).
UA742 Exercises in Practical Education IV
z 0/0 4 kr., podzim
- RNDr. Jaroslav Pelikán, Ph.D.
- Goals: The main objective of this course is compensate for the lack of practical teaching in the other field for students that follow one-approval teacher's study plan.
- Learning outcomes:
At the end of this course, students should:
be able to present and explain given IT topic in a standalone-lead lecture to students whose education in informatics reflects the usual secondary school IT curriccula. - Syllabus: Individual teaching practice at secondary school under the supervision of an experienced teacher (40 lessons of presentations on class) or supervising of at least two university class exercise for some of the courses focused on programming (one semester).
UA742 Exercises in Practical Education IV
z 0/0 4 kr., jaro
- RNDr. Jaroslav Pelikán, Ph.D.
- Goals: The main objective of this course is compensate for the lack of practical teaching in the other field for students that follow one-approval teacher's study plan.
- Learning outcomes:
At the end of this course, students should:
be able to present and explain given IT topic in a standalone-lead lecture to students whose education in informatics reflects the usual secondary school IT curriccula. - Syllabus: Individual teaching practice at secondary school under the supervision of an experienced teacher (40 lessons of presentations on class) or supervising of at least two university class exercise for some of the courses focused on programming (one semester).
UA842 Exercises in Practical Education V
z 0/0 6 kr., podzim
- RNDr. Jaroslav Pelikán, Ph.D.
- Goals: The main objective of this course is compensate for the lack of practical teaching in the other field for students that follow one-approval teacher's study plan.
- Learning outcomes:
At the end of this course, students should:
be able to present and explain given IT topic in a standalone-lead lecture to students whose education in informatics reflects the usual secondary school IT curriccula. - Syllabus: Individual teaching practice at secondary school under the supervision of an experienced teacher (40 lessons of presentations on class) or supervising of at least two university class exercises for some of the courses focused on programming (one semester).
UA842 Exercises in Practical Education V
z 0/0 6 kr., jaro
- RNDr. Jaroslav Pelikán, Ph.D.
- Goals: The main objective of this course is compensate for the lack of practical teaching in the other field for students that follow one-approval teacher's study plan.
- Learning outcomes:
At the end of this course, students should:
be able to present and explain given IT topic in a standalone-lead lecture to students whose education in informatics reflects the usual secondary school IT curriccula. - Syllabus: Individual teaching practice at secondary school under the supervision of an experienced teacher (40 lessons of presentations on class) or supervising of at least two university class exercises for some of the courses focused on programming (one semester).
UB001 Assesment of teaching in Informatics
k 0/2 3 kr., podzim
- RNDr. Jaroslav Pelikán, Ph.D.
- Prerequisities:
UA104 || PřF:XS060
- Goals: The aim of this course is to attend lectures of a chosen informatics course (during one semester) and from a pedagogical-didactic point of view observe the teaching process.
- Learning outcomes:
At the end of this course, students should:
be able to review a teaching process from a pedagogical-didactic point of view. - Syllabus: Regular attendance of a selected informatics course lectures. Observation of teaching process. Elaboration of report (3 to 5 pages) evaluating (from a pedagogical-didactic point of view) presented semester course.
VB000 Elements of Style
k 1/1 2 kr., podzim
- Mgr. Hana Žižková, Ph.D. - RNDr. Zuzana Nevěřilová, Ph.D.
- Prerequisities:
NOW ( SBAPR ) || ( PrF:BI1000Z )
Students are supposed to have already their bachelor's thesis topics selected. - Goals:
At the end of this course, students should be able:
to acquire skills for writing technical texts (introduction to Bachelor thesis and the state-of-the-art chapter);
to master the principles of positive communication, knowledge of communication barriers and the ways of their overcoming;
to apply rules for writing academic texts in theory and practice;
to recognize and use features of academic writing: structure, composition, terminology, definitions, formal language, composition, consistency;
to recognize and correct spelling and grammatical errors in the technical texts;
to prepare an oral presentation about the given topic. - Learning outcomes:
The students will:
determine the academic style main characteristics (formal, precise, structured, using hedging);
plan the written part of their bachelor thesis;
select appropriate academic resources for their domain;
summarise current state-of-the-art for their domain;
formulate the aim, methods, and results of their bachelor thesis;
cite appropriately academic resources;
write abstract - Syllabus:
Communication maxims, basic principles of the positive
communication.
Communication barriers and the ways of their overcomning.
Communication skills, practical writing
Language and communication, various registers and styles.
Language correctness, spelling, orthography, language support software.
Colloquial and Common Czech, dialects, slangs.
Writing technical and research documents, their composition, vertical and horizontal structuring, lexical features, terms, terminology.
Oral and written presentations: talks, lectures, articles, posters etc.
VB000 Elements of Style
k 1/1 2 kr., jaro
- Mgr. Hana Žižková, Ph.D. - RNDr. Zuzana Nevěřilová, Ph.D. - RNDr. Pavel Šmerk, Ph.D.
- Prerequisities:
NOW ( SBAPR ) || ( PrF:BI1000Z )
Ability to communicate and write texts on the high school level requirements. Students are supposed to already have their bachelor's thesis topics selected. - Goals: At the end of this course students should be able: to master the principles of the positive communication, knowledge of communication barriers and the ways of their overcoming; to apply rules for writing technical texts in theory and practice; to acquire the basic skills for writing technical texts (introduction to Bachelor thesis and the state-of-the-art chapter); to recognize and correct spelling and grammatical errors in the technical texts; to possess a basic knowledge about orthography systems and the rules of language correctness; to prepare oral presentation about the given topic; to learn the basic rules of the correct argumentation; To sum up: students should be able to communicate and write both technical and normal texts with correct spelling and composition;
- Learning outcomes:
The students will:
determine the academic style main characteristics (formal, precise, structured, using hedging);
plan the written part of their bachelor thesis;
select appropriate academic resources for their domain;
summarise current state-of-the-art for their domain;
formulate the aim, methods, and results of their bachelor thesis;
cite appropriately academic resources;
write abstract - Syllabus:
Communication maxims, basic principles of the positive
communication.
Communication barriers and the ways of their overcomning.
Communication skills, practical writing
Language and communication, various registers and styles.
Language correctness, spelling, orthography, language support software.
Colloquial and Common Czech, dialects, slangs.
Writing technical and research documents, their composition, vertical and horizontal structuring, lexical features, terms, terminology.
Oral and written presentations: talks, lectures, articles, posters etc.
VB000Eng Introduction to Academic Writing
k 1/1 2 kr., podzim
- Mgr. Antonín Zita, M.A., Ph.D.
- Prerequisities:
NOW ( SBAPR )
VB001 - Goals: This course is designed to teach students the basics of academic writing that will enable them write a research paper or a thesis in English. The students will be familiarized with the writing of topic sentences, thesis statements, and coherent and cohesive paragraphs. The students will practice these steps of the writing process via in-class writing, text analysis, and written homework. Focus is placed on elegant and clear style rather than the frequently needlessly complex and obtrusive style of many non-native speakers. The course also focuses on how to properly cite and how to use AI tools in their writing. While some grammatical aspects of English used in the academia will be touched upon in the class (e.g. the passive voice), the course is not a language class and those not familiar with given grammar will need to improve their knowledge sufficient for class purposes through external means.
- Learning outcomes: Students will become familiar with the basics of academic writing in English. They will be able to tell apart a poorly-written text from a well-written one and will be able to use frequent features of academic language (e.g. the passive voice, complex sentence structure, nominalizations, ...) in a proper way. Finally, students will understand the importance of coherence and cohesion in English academic writing.
- Syllabus:
Basic academic English guidelines; pre-writing stages
Plagiarism and using sources; General features of academic writing
Plagiarism and using sources (cont.); Mechanics and clarity of writing
Writing effectively
Paragraph writing - developing the central idea, coherence, cohesion
Introduction and conclusion, thesis statement; using AI tools
Course revision
VB000Eng Introduction to Academic Writing
k 1/1 2 kr., jaro
- Mgr. Antonín Zita, M.A., Ph.D.
- Prerequisities:
NOW ( SBAPR )
VB001 - Goals: This course is designed to teach students the basics of academic writing that will enable them write a research paper or a thesis in English. The students will be familiarized with the writing of topic sentences, thesis statements, and coherent and cohesive paragraphs. The students will practice these steps of the writing process via in-class writing, text analysis, and written homework. Focus is placed on elegant and clear style rather than the frequently needlessly complex and obtrusive style of many non-native speakers. While some grammatical aspects of English used in the academia will be touched upon in the class (e.g. the passive voice), the course is not a language class and those not familiar with given grammar will need to improve their knowledge sufficient for class purposes through external means.
- Learning outcomes: Students will become familiar with the basics of academic writing in English. They will be able to tell apart a poorly-written text from a well-written one and will be able to use frequent features of academic language (e.g. the passive voice, complex sentence structure, nominalizations, ...) in a proper way. Finally, students will understand the importance of coherence and cohesion in English academic writing.
- Syllabus:
Basic academic English guidelines; academic vocabulary
Frequent features of academic writing
Mechanics and clarity of writing
Writing effectively
Paragraph writing - developing the central idea, coherence, cohesion
Introduction and conclusion, thesis statement
VB001 English Exam
zk 0/0 1 kr., podzim
- Mgr. Anna Bízková Doleželová - Roksoliana Radchuk, PhD - Mgr. Eva Rudolfová - Mgr. Marcela Sekanina Vavřinová, Ph.D.
- Prerequisities: Enrolment prerequisite for this exam is the completion of the VB035 and VB036 courses or the knowledge of the language and skills taught at these courses.
- Goals: Students should be able to: understand specialized articles; use the language fluently; write formal texts; talk about a wide range of IT related topics; provide relevant explanations and arguments; give clear descriptions and presentations; answer questions and interact fluently and spontaneously.
- Learning outcomes: Students will be able to - communicate in English about their field of study; - write formal emails (requests, applications, complaints etc.); - understand spoken and written English on general and general academic level + their field of expertise; - present their ideas/ findings efficiently; - interact efficiently and politely with others - negotiate, debate, cooperate and solve problems constructively; - think critically and argue in an informed way; - plan and reflect, provide and receive feedback and act upon it.
- Syllabus:
Grammar, vocabulary and phrases at B2 level; these include:
- past, present, and future tenses
- conditional sentences
- modal verbs
- passives
- wish clauses
- reported speech
- relative clauses, participles
- adverbs and prepositions
- gerund vs. infinitive
- question tags
- comparisons, quantifiers
- articles, determiners, countable/uncountable nouns
English for Specific Purposes, English for Academic Purposes
Listening, reading, writing and speaking skills
VB001 English Exam
zk 0/0 1 kr., jaro
- Roksoliana Radchuk, PhD - Mgr. Eva Rudolfová - Mgr. Marcela Sekanina Vavřinová, Ph.D. - Mgr. Antonín Zita, M.A., Ph.D.
- Prerequisities: Enrolment prerequisite for this exam is the completion of the VB035 and VB036 courses or the knowledge of the grammar, vocabulary, and phrases taught at these courses.
- Goals: Students should be able to: understand specialized articles; use the language fluently; talk about a wide range of IT related topics; provide relevant explanations and arguments; give clear descriptions and presentations; answer questions and interact fluently and spontaneously.
- Learning outcomes: Students will be able to - communicate in English about their field of study; - write formal emails (requests, applications, complaints etc.); - understand spoken and written English on general and general academic level + their field of expertise; - present their ideas/ findings efficiently; - interact efficiently and politely with others - negotiate, debate, cooperate and solve problems constructively; - think critically and argue in an informed way; - plan and reflect, provide and receive feedback and act upon it.
- Syllabus:
Grammar, vocabulary and phrases at B2 level; these include:
- past, present, and future tenses
- conditional sentences
- modal verbs
- passives
- wish clauses
- reported speech
- relative clauses, participles
- adverbs and prepositions
- gerund vs. infinitive
- question tags
- comparisons, quantifiers
- articles, determiners, countable/uncountable nouns
English for Specific Purposes, English for Academic Purposes
Listening, reading, writing and speaking skills
VB023 Folk Music
z 1/1 2 kr., podzim
- doc. PhDr. Josef Prokeš, Ph.D.
- Goals: Main objectives can be summarized as follows: basic information about the creation, development and poetics of modern folk song genre (both Czech (60s to 80s) and foreign); offer the students of computer science counterbalance to their specialized courses and entice them into an active approach to cultural and social events. At the end of the course students should be able to understand and explain development and poetics of modern folk song genre; interpret contemporary folk songs.
- Learning outcomes:
Student will be able to:
formulate the specifics of the genre of folk music;
characterize the poetics of the main representatives of the genre;
analyze the given folk music both in terms of music and text;
to clarify the influence of computer music on the genre of folk music;
apply copyright to folk music. - Syllabus:
The origin, development and poetics of Contemporary Urban Adult
Music, its current and future relations to the other kinds of
music.
Singing poets and poetry turned into music. Woody Guthrie, Pet Seeger, Bob Dylan, Joan Baez, Leonard Cohen, Joni Mitchell, Bulat Okudžava, Vladimír Vysockij, Karel Kryl, Vladimír Merta, Jaroslav Hutka, Vlastimil Třešňák, Jaromír Nohavica, Karel Plíhal, Slávek Janoušek, Jan Nedvěd...
Students composing their own music, the structure of lyrics, harmonization, guitar and other accompanying instruments, principles of duets and turning poetry into music.
Production of a folk concert, listener psychology.
Computer music.
Copyright.
The ability to play a musical instrument is welcomed but is not necessary.
VB035 English Skills for IT I
z 0/2 1 kr., podzim
- Roksoliana Radchuk, PhD - Mgr. Eva Rudolfová - Mgr. Marcela Sekanina Vavřinová, Ph.D. - Mgr. Anna Bízková Doleželová - Bc. Klára Hanzlíková
- Prerequisities: The course is aimed at improving the knowledge of English, which should be intermediate at the beginning of the course. Students are allowed to attend the course after taking the entrance test before the semester.
- Goals: The course aims to broaden the knowledge of English language acquired at secondary school and to focus on specialized language in the area of IT, presentations, discussions and general academic language. At the end of the course students should be able to: understand specialized articles; use the language fluently and properly; talk about a wide range of IT related topics; provide relevant explanations and arguments; give clear descriptions and presentations; answer questions spontaneously.
- Learning outcomes: Students will be able to - communicate in English about their field of study; - write formal emails (requests, applications, complaints etc.); - understand spoken and written English on general and general academic level + their field of expertise; - present their ideas/ findings efficiently; - interact efficiently and politely with others - negotiate, debate, cooperate and solve problems constructively; - think critically and argue in an informed way; - plan and reflect, provide and receive feedback and act upon it.
- Syllabus:
English for academic and specific purposes
Grammar, vocabulary and phrases at B2 level and higher
Formal language - register and usage
Formal emails and providing feedback
Reading and discussion of specialized texts
VB036 English Skills for IT II
z 0/2 2 kr., jaro
- Mgr. Anna Bízková Doleželová - Mgr. Eva Rudolfová - Mgr. Marcela Sekanina Vavřinová, Ph.D. - Mgr. Antonín Zita, M.A., Ph.D.
- Prerequisities:
VB035 || souhlas
The course is a follow-up to VB035 English I. - Goals: VB036 aims to further broaden the knowledge of English grammar and phrases and to focus on IT related topics chosen by the students themselves. At the end of the course students should be able to: understand specialized articles; obtain information from highly specialized sources; give clear presentations; write a short formal email; provide relevant explanations and arguments; interact fluently and spontaneously.
- Learning outcomes: Students will be able to - communicate in English about their field of study; - write formal emails (requests, applications, complaints etc.); - understand spoken and written English on general and general academic level + their field of expertise; - present their ideas/ findings efficiently; - interact efficiently and politely with others - negotiate, debate, cooperate and solve problems constructively; - think critically and argue in an informed way; - plan and reflect, provide and receive feedback and act upon it.
- Syllabus:
English for academic and specific purposes
Grammar, vocabulary and phrases at B2 level and higher
Presentations and class discussions on topics chosen by the students.
Formal language - register and usage
Reading and discussion of specialized texts
VB039 Presentations in English I
k 0/2 2 kr., podzim
- Mgr. Eva Rudolfová
- Goals: VB039 is a course for all students who need to speak in English more. Its aim is to give students a lot of practice in advanced language and communication skills and to help them communicate more effectively by improving their grammatical knowledge and developing IT-related vocabulary. It can be used as an additional course to VB035 (which has classes only every other week) or at any point in your studies when you want more confidence in presenting your professional and academic ideas in English. Main objectives can be summarized as follows: to increase your active IT vocabulary; to develop essential communication skills such as giving presentations and taking part in discussions; to improve fluency through discussion activities; to give confidence in using English.
- Learning outcomes: to increase your active IT vocabulary; to develop essential communication skills such as giving presentations and taking part in discussions; to improve fluency through discussion activities; to give confidence in using English.
- Syllabus: Tailored to students´ needs It is set up at the beginning of each term by the class and the teacher, taking into account the individual needs of particular students. It includes areas related to speaking with confidence in the academic and professional world, presenting ideas, opinions, trends and visuals, as well as everything related to presentation skills in English. If needed, the classes also discuss related soft skills such as handling nervousness and stage fright, creating a good presentation presence and many other.
VB040 Presentations in English II
k 0/2 2 kr., jaro
- Mgr. Eva Rudolfová
- Goals: VB040 is a course for all students who want to improve their presentation skills. Its aim is to give students a lot of practice in advanced language and communication skills and to help them communicate more effectively by improving their grammatical knowledge and developing IT-related vocabulary. It can be used as an additional course to VB036 (which has classes only every other week) or at any point in your studies when you want more confidence in presenting your professional and academic ideas in English. Main objectives can be summarized as follows: to increase your active IT vocabulary; to develop essential communication skills such as giving presentations and taking part in discussions; to improve fluency through discussion activities; to give confidence in using English.
- Learning outcomes: Main objectives of the course can be summarized as follows: to develop communications skills (taking part in discussions and giving a short presentation); to improve fluency through discussion activities; to increase IT vocabulary; to create confidence in using the language.
- Syllabus: Tailored to students´ needs It is set up at the beginning of each term by the class and the teacher, taking into account the individual needs of particular students. It includes areas related to speaking with confidence in the academic and professional world, presenting ideas, opinions, trends and visuals, as well as everything related to presentation skills in English. If needed, the classes also discuss related soft skills such as handling nervousness and stage fright, creating a good presentation presence and many other.
VV015 Political Science
z 2/0 2 kr., podzim
- prof. PhDr. Ing. Miloslav Dokulil, DrSc.
- Prerequisities: Interest in temporarily conditioned changes of the phenomenon of politics is expected. There are various enjambments from other spheres of human activities in politics preventing the understanding of fundamental ideas in it and the risks connected with it.
- Goals: Science of politics is here taken as a historically conditioned and steadily topical issue of changing presuppositions structuring and reflecting political might. It traces the development from the antique Greek democracy till contemporaneity (with parallel enjambments in our time). Continuous commenting of weighty news characterising the common "roots" coupled with them, has been considered, also actually including an updated task for each man in the state to become a good and responsible citizen.
- Learning outcomes: Basic orientation in politology.
- Syllabus:
The term "politics" seems to us to cover primarily the area of "governance"; and that for the people of particular countries, including their attitudes and property. "Political power" in many countries still should be also a guarantee of the presentation of a particular religious belief or what and how to produce or with whom and under what conditions of trade; and also whether and how to allow a possible share in these dispositions, especially in political (and economic, etc.) institutions.
We will note currently how the notion of democracy has changed in, say, the Czech Republic (or South Africa, or the Commonwealth). An extremely important topic is connected with the concept of the EU; we should not forget T. G. Masaryk as the practical implementator of this idea for Central Europe. Especially in the last hundred years, the whole world has changed seriously in almost all its major aspects, from the current threat of nuclear conflict to the possible incapacity to deal effectively with terrorism; it has been long enough to talk seriously about the climate crisis without sufficient results (what, how and when our mankind will do to avert the approaching disaster).
In this cherished topic, many traditions have changed in some areas so that it is difficult to compare "democracy" or "civic values". Interest in the exercise of political rights is in many places visibly declining or adequately excluded. It is desirable to be topical and concrete rather than exhaustively "systematic". (Is our world today only binary "contradictory", or is it variable and in more ways difficult to define, to predict its prospects?)
VV024 Interpretation of Texts
k 1/1 2 kr., podzim
- doc. PhDr. Josef Prokeš, Ph.D.
- Goals: Main objectives can be summarized as follows: The subject represents the continuation of Academic Style Basics Course by stressing the esthetic function of texts during their analysis; Introductory lectures deal with analytical approaches to, and theoretical reflections of, a literary text; structuralist and semiological aspects ; Czech literary and esthetic inspiration; The analysis of the text as information; orientation in dominant and alternative paradigms of literary communication; investigation of contents analysis limits and interpretation ensue; aspects of literary communication, the course pays attention mainly to the author and reader/listener in the communicative perspective of the text, to strata of textual structure; unifying utterance perspectives; so-called adoption; after the theoretical part, students apply the acquired knowledge to their own analysis of a chosen text.
- Learning outcomes:
Student will be able to:
explain the context of the literary text and the pitfalls of its exploration as information;
analyze art text plane of the text structure;
justify the pitfalls of the composition of a literary work;
demonstrate the individuality of the individual appropriation of the artistic text. - Syllabus:
Critical analyses of accepted and controversial pieces of contemporary Czech and world literature.
How to read a literary text, how to comprehend it, how to write a review.
Movies based on literary works.
Creative works by students.
The works studied are in accordance with the student's interests, e.g. Jáchym Topol, Zdeněk Rotrekl, Jan Skácel, Alexandra Berková, Jiří Kratochvil, William Styron, John Irwing, Umberto Eco, Konrad Lorenz, Carl Gustav Jung ...
The forms of essay, short stories and novella.
The composition and design of a novel, dialog building.
Written and spoken polemics.
Report.
VV026 Creative Writing Workshop
k 1/1 2 kr., jaro
- doc. PhDr. Josef Prokeš, Ph.D.
- Goals: Main objectives can be summarized as follows: strives after arousing the students' creativity by means of their own artistic activity (mainly literary); generate an interest in the active and non-consumer attitude to life both in oneself and other people. At the end of the course students should be able to understand and explain sense of artistic activity; create their own artwork in field of literature; interpret actual artistic activity.
- Learning outcomes:
Student will be able to:
explain creative approach, eclectic, compilation;
practically apply theme selection, information gathering, study and empathy, writing stimulation, collection and sorting of material;
to clarify inspiration through science, literature, painting, music, architecture;
to demonstrate a collage of both own and foreign texts. - Syllabus:
The point in writing, catharsis, graphomania
What to write about (finding a topic)¨
Brainstorming
Different approaches: creative, eclectic, compilational
Choosing a topic, collecting info, study and empathy, syllabus
Non-literary texts (non fiction)
Automatic writing
Metaphor creation
Inspiration from science, literary texts, painting, architecture
Diary and its forms
Collage of ones own and other texts
Collective writing
Change of perspective, change of tense
Choice of genre and its changes
Variations, imitations, parody
Plagiarism
Manuscript, the first draft
Language games and reproduction exercises
Theatre performance
Text reviewing and editing, compositional and stylistic amendments, corrections, annotation, information about the author
Author's reading
Critical evaluation, polemic, the ethics of critisism
Copyright
Book presentation
Texts on the Internet
A set of texts written by the students throughout the course
VV027 Postmodern culture
z 1/1 2 kr., jaro
- doc. PhDr. Josef Prokeš, Ph.D.
- Goals: Main objectives can be summarized as follows: orientation in postmodern culture. It is based on not-only-Czech philosophical and culturally historical background. It endeavors after the critique of the consumer conception of life as well as comprehension of racist and xenophobic pathology via new art and multimedia means. A part of the course is the observation of current cultural events. At the end of the course students should be able to understand and explain postmodern culture; interpret actual artistic activity.
- Learning outcomes:
Student will be able to:
to define the philosophical basis of postmodern culture;
to distinguish kitsch and consumer culture;
to evaluate new arts and multimedia means of expression;
clarifying vision as empowering the world - loss of gnoseological concept, interactive understanding of our position in the world, offensive nature of visual perception, character functionality, language functionality, language of media, social value of virtual reality, world of visual characters, new concept of reality. - Syllabus:
Laws of the development of styles in cultural and social epochs
Modern and modernization
Cultural outsiders vs. oficial production
About nature of our culture
The philosophical bases of postmodern culture
Postmodern as a self-criticism of modern
Psychological bases of culture
Modern vs. postmodern culture
Postmodern culture in literature, music, fine arts, architecture and popular culture
Junk art and consumer culture
Alternative and new culture
Underground, videos, commercials apparent and hidden, interdomain works, one artistic branch melting into another, the so-called new arts and multimedia modes of expression
Postmodern culture in a sociological approach
Human personality in postmodern times
Feminism and sexual harassment
The pathology of man's efficiency, racism and xenophobia, the myth of supermen and androgyns
VV028 Psychology in Informatics
z 1/1 2 kr., podzim
- doc. PhDr. Josef Prokeš, Ph.D.
- Goals: Main objectives can be summarized as follows: some basic information concerning the psychological aspects of the impact of new information technology on the individual's personality; psychology of electronic communication; psychological aspects of computer games; personality of professionals in communication technology; impact of computers on education in the new information era. At the end of the course students should be able to understand and explain psychological aspects of the impact of new information technology on the individual's personality; make deductions based on acquired knowledge and understand problems that will arise with new technology assembly.
- Learning outcomes:
Student will be able to:
in its own words to explain the computer view of the world;
to analyze the phenomenon of electronic communication and its influence on the psychology of communication;
to demonstrate practical skills in the psychology of interpersonal communication;
to put the pros and cons of computer games from a psychological point of view. - Syllabus:
Transactional analysis
Stress and dealing with it
Psychopathology and methods of therapy
Mental health care
Social beliefs and attitudes, interpersonal attraction
Social interaction and influence - the presence of other people, its effect, group decisions
Relations between people and machines
Social relations and team-work, communicativeness
Verbal and nonverbal communications at work
Assertiveness
Solving a conflict and problem situations
The strategy of conducting competitions for leading posts
VV031 Basics of Fine Art I
z 2/0 1 kr., podzim
- Mgr. Renata Šuráňová
- Goals: At the end student will be able to interpret visual art in relations since year 1500 till now.
- Learning outcomes: At the end student will be able to interpret visual art in relations since year 1500 till now.
- Syllabus: This two-term course consists of the series of lectures accompanied with excursions to Brno exhibition institutions and art-important architectonic objects. There are 10 lectures and three excursions each turn. Lectures are given also by external experts. In the first turn students are introduced to the basic evelution of european art and architecture since the middleage. After course completion, students are able of basic orientation in art evolution and they are able to give interpretation to various visual forms. At the same time they are acquainted with the fundamental terms and categories in the history of art.
VV032 Introduction to History of Fine Art II
k 2/0 2 kr., jaro
- Mgr. Renata Šuráňová
- Prerequisities:
VV031
Successfully pass VV031. - Goals: At the end student will be able to interpret visual art in relations since year 1500 till now.
- Learning outcomes: At the end student will be able to interpret visual art in relations since year 1500 till now.
- Syllabus: This two-term course consists of the series of lectures accompanied with excursions to Brno exhibition institutions and art-important architectonic objects. There are 10 lectures and three excursions each turn. Lectures are given also by external experts. In the first turn students are introduced to the basic evelution of european art and architecture since the middleage. After course completion, students are able of basic orientation in art evolution and they are able to give interpretation to various visual forms. At the same time they are acquainted with the fundamental terms and categories in the history of art.
VV033 Photography - Working with Light and Surface
k 1/1 2 kr., podzim
- Daniel Ricardo Echeverri Giraldo, PhD
- Prerequisities:
( PV123 || VV042 || PV156 )&& SOUHLAS
Course requires photographic vision, previous experience (including non professional) is welcome. Digital SLR suggested for assignments. - Goals: Fundamentals of photography: composition and light in digital studio photography. By the end of the course, the student will understand photometry and the basics of working with light. The student will produce photographs in the following categories: Outline, Light I (dispersed light, lateral light, point light, depiction by light), Still Life. The students will produce their own photo collections.
- Learning outcomes: Student will be able to work with light setup for the still-life in the photo studio with the continual anf flash light, thus create studio photo with high quality.
- Syllabus:
Basics of the optics theory and photo mechanics
Exposure basics
Basics of studio lighting
Image composition
Tonality and linear perspective, sharpness/unsharpness, contrast, rythm
Emotional and informative message in photography
Color composition, color perspective, color contrast and dominance of color
VV034 Photography - artificial effects
zk 1/1 2 kr., jaro
- Tomáš Škoda
- Prerequisities:
souhlas
Course requires photographic vision. Digital SLR suggested for assignments. Prerequisite VV033 - Goals: Follows the course Photography I, focused on work in the studio and on location. By the end of the course, the student will be able to produce a collection of photographs in the following categories: Figure in Studio I, Macrophotography, Portrait I. Students will grasp the stylization factors of taking a picture.
- Learning outcomes: Student willbe able to work with basic effects in the studio photo such as optical and motion blur, multiple exposition, low and high exposition, depth of field.
- Syllabus:
Photograpy genres:
Still life
Landscapes
Photojournalism and documentary photography
Portrait and nude
Commercial photography
Photographs of architecture and sculpture
VV035 3D Modeling
k 0/2 3 kr., podzim
- Mgr. Jiří Chmelík, Ph.D. - doc. Mgr.art. Helena Lukášová, ArtD. - RNDr. Filip Opálený - Mgr. Marek Trtík, Ph.D.
- Prerequisities:
! PV272
Interest in digital 3D modelling applications, creative thinking. Basic knowledge of computer graphics theory is expected, e. g., in the scope of course PB009 Principles of Computer Graphics. Students should know terms such as spline, polygon mesh or texture mapping. - Goals: The aim of the course is to explain the principles of 3D modelling and mediate practical skills and experience in this area to students. Topics such as polygonal modelling, applying textures to models, lighting of 3D scenes, and basics of animation will be covered during practically oriented seminars. Emphasis will be placed on the individual work of students. The course complements the theoretical lectures of PB009 Principles of Computer Graphics.
- Learning outcomes:
Student will be able to:
create the 3D model from the given assignment (photo reference, blueprints, etc.) using both parametric and polygonal modelling principles;
apply textures and materials, set up lighting to create a realistic 3D scene;
create a simple animation of the created model;
prepare a given model for further usage (e.g. 3D print, digital games, VR); - Syllabus:
Basics of UI and tools of 3D modelling software packages
Graphical primitives, constructive solid geometry
Polygonal modelling
Parametric curves and surfaces
Materials, Textures, UV mapping, unwrapping
Lighting
Animations
Sculpting
Rendering, Postprocessing
The main software package used in the course is "Blender".
VV036 3D Character Modeling
zk 1/1 2 kr., jaro
- doc. Mgr.art. Helena Lukášová, ArtD. - Mgr. Jiří Chmelík, Ph.D.
- Prerequisities:
VV035 || PV272
Knowledge of 3D modeling principles in the scope of VV035 3D Modeling. Interest in areas of 3D character modeling. Creative thinking. - Goals: The main aim of the course is to capture the character; students independently work with human proportions, typologies, deformations, etc. in 3D modeling programs. The work on individual projects is complemented by lectures on deliberate deformation and idealization of a human figure, beauty, and fashion, combining anthropomorphic and zoomorphic aspects within the frame of character formation. Students are led to independent creative work. An important part is also the preparation of the digital model for use in the game environment or in the area of rapid prototyping (STL Check, retopology, optimization).
- Learning outcomes:
At the end of the course, a student should be able to:
Understand and describe principles of character design.
Understand and apply principles on polygon-flow and topology; high-poly and low-poly variants of the 3D model;
Understand and apply principles of materials and textures, including preparation of normal-map and other supporting textures;
Create realistic lighting and renderings of a 3D scene.
Create a 3D model of character fulfilling given visual and technical requirements. - Syllabus:
Typology of a human figure.
Growth periods. Individuality and a cartoon.
An idealization of the human body and clothing.
Animal anatomy.
Creating a character based on existing knowledge.
Creating a high-poly model.
Creating a low-poly variant, "baking" textures.
Preparation of a model for rapid prototyping and game environment.
VV039 Plein Air
k 0/0 2 kr., jaro
- doc. Mgr.art. Helena Lukášová, ArtD.
- Prerequisities:
PV067 || PV083 || PV085 || VV034 && souhlas
The prerequisite for this course is the interest of the student to activly participate on the realisation of the project, desire to experiment and work in team. - Goals: The aim of the course is to encourage the creative potential and conceptual thinking ,interaction with the unknown environment, team work. Students will change the supervisors in the beginning so they learn the foundation of drawing and photography on which they will base their own creative approaches and projects. We want to lead students to form their own way of expression and experimentation. Students will build their self-confidence in the creative process interpreting the environment and learn to work in team.
- Learning outcomes: Student will have the experience with creation and realisation of a project in team, will experiment with various technique and experimental strategies, will be able to adopt and react to the given possibilities of the environmet (plain-air).
- Syllabus: LANDSCAPE landscape drawing - linear and atmospheric perspective, photographing the landscape - landscape detail, architectural detail DRAWING - as a record, frottage, the anstraction of the landscape PHOTO - colour filters, camera obscura, light drawing, experimenting with flash, moving blur SITE SPECIFIC PROJECTS - subtle interventions into the environment, space, landscape Konceptual SELFPORTRAIT AND PORTRAIT - adaptation. the idea of identity in the unknown environment and the means of its understanding - simplification. mimickers, contrast, empathy PERFORMANCE, HAPPENING - keeping diary (audio, video) stylized "fake" documentary EXPERIMENTAL TYPOGRAPHY
VV040 Theater Play
k 0/2 2 kr., jaro
- doc. PhDr. Josef Prokeš, Ph.D.
- Goals: Main objectives can be summarized as follows: Students' theater performance training and realization in honour of the Dies Academicus Brunensis annual event. At the end of the course students should be able to create dramatical role; understand and explain trends of the contemporary theater.
- Learning outcomes:
Student will be able to:
to take on a particular theatrical role;
define the role of theater dramaturgy;
to analyze a specific theatrical inscenation;
to demonstrate their own creative approach to the theater. - Syllabus:
Students' theater performance will be trained during the semester, with its mid-May premiere at the Dies Academicus Brunensis event. The premiere will be held at the Faculty of Informatics, closing performance is supposed to happen at HaDivadlo od Husa-na-provázku theaters
Rehearsals are every Wednesday starting from 6p.m., the weekend before the premiere is allocated for dry run
In the begining of the semester a casting will happen; those who will not pass through recruitment may integrate within the organizing team (scene building, backdrop)
The course is open to the whole University, teacher's approval is needed for registration.
VV042 History of Photography
z 2/0 2 kr., jaro
- Daniel Ricardo Echeverri Giraldo, PhD
- Prerequisities: The course targets Graphic Design and Multimedia students interested in photography, also for other students of Faculty of Informatics and Masaryk’s University
- Goals: Brief summary of the history of photography from the beginning up to the present. By the end of the course, the student will be able to write an essay on an established photographer, and to use the information about the creative process of a known photographer for his/her own photography work.
- Learning outcomes: Student will gain knowledge about the history of photography from its beginning till contemporary photography, will be oriented in the variuos themes of the disciplin, also will be informed about the optical and technical development.
- Syllabus:
Photography as a visual art.
Photographic terminology.
Photographic genres and themes.
Origins of photography.
Portrait photographers of 19th century
Pictorialism.
Birth of modern photography in U.S.A., Germany and Czech.
Photography between the wars; avant-garde photography.
Landscape photography.
Documentary and social documentary photography at the turn of 19th and 20th century.
War photography.
Czech humanistic photography.
Fashion and commercial photography.
Current trends worldwide, current trends in Czech photography.
VV043 Academic Writing in English
z 0/2 5 kr., jaro
- Mgr. Antonín Zita, M.A., Ph.D.
- Prerequisities:
typ_studia ( D ) || souhlas
At least B2 CEFR level and some experience with academic writing. - Goals: There is an increasing need among doctoral candidates to publish their work in various types of academic publications and engage with a wider range of academic, professional and public audiences. The goal of this course is to familiarize doctoral candidates with different approaches to scientific writing, take their academic writing skills in English to a higher level and offer them a range of tools to adapt their focus of language to address their target readers at specific, multi-disciplinary and general levels. The course addresses firstly the context of scientific writing to situate the styles of writing that doctoral candidates are working with. It will discuss aspects of clear and concise writing style, and lexical and discourse relationship patterns in academic text, along with functional perspectives for positioning and structuring information and argument in the wider scope of thesis and journal article writing.
- Learning outcomes: By the end of the course, participants will be able to use academic and technical vocabulary; read and analyze texts to make use of them in writing; understand different text styles and structures; write successful titles, abstracts, paragraphs, and individual sections of a thesis or journal article; and provide and respond to peer feedback.
- Syllabus:
Academic style
Academic and technical vocabulary
Plagiarism and referencing
Paragraphing
Academic text types
Summarising and paraphrasing
Writing a critique
Peer review
Abstracts
Sections of a thesis and journal article
Editing and proofreading
VV045 Photography - Portraits
zk 1/1 2 kr., podzim
- Tomáš Škoda
- Prerequisities:
souhlas
Lessons of subject Photograph assumes photographic perception of world. Using of own digital is suitable for practise, single-lens reflex camera with replaceable optic is the best. VV034 - Goals: Selective photography course aimed at individual work in each photography genre. By the end of the course, the student will be able to produce: a study of a figure in a studio, a montage of figures on a white background, a portrait lit with several light sources, a tabletop, and a collection of theatre photography.
- Learning outcomes: Student will be able create good light composition for the portraiture studio photo. Also student with the experience from the course will be able to pursue his/her own carrier in documentary or artistic photography.
- Syllabus:
Model in studio.
Portrait and self-portrait.
Landscape.
Urban landscape.
Social documentary.
Creating personal work.
Documentary photography.
Photography in theatre.
VV050 Motion Design
k 1/1 2 kr., podzim
- MgA. Kateřina Spáčilová
- Prerequisities:
souhlas
The animation and Visualisation course is based on the understanding of animation techniques. The interest and artistic approach is expected. Students are obligated to prepare reference/material for finalizing projects in other time than the time when the course is running. - Goals: First projects are created manually for the understanding of phasing and movement dynamics. Than this projects are transferred to a digital file and consequently finalized digitally in animation software. The understanding of animation basics and consequent incorporation of digital editing in projects are expected. During the course, the history of animation and visualization will be presented and actual trends in animation in the age of new media will be discussed also. The understanding of the principles of animation based on historical references is incorporated into the digital methods of production.
- Learning outcomes: The outcome of the course is the results of various assignments in the form of video - animation. These animations can become the part of the personal portfolio for presentation.
- Syllabus: Principy kreslené animace – fázování Typografická animace Postprodukční práce využívající skenery a fotoaparáty Základy práce v Adobe After Effect
VV051 Animation
k 1/1 2 kr., jaro
- MgA. Kateřina Spáčilová
- Prerequisities:
souhlas
Artistic talent, project completion. - Goals: Follow up to VV050 Animation and Visualization I. Students will gain a deeper theoretical and practical knowledge to create film clip.
- Learning outcomes: Experience with a movie clip creation.
- Syllabus:
Film and animation preview.
Film plot analysis.
Technical script.
Visualization based on music.
Script and clip production.
VV052 Evening Drawing
k 0/2 2 kr., podzim
- doc. Mgr.art. Helena Lukášová, ArtD.
- Prerequisities:
souhlas
Subject "Drawing/ evening class" pressuposes a creativity as well as respecting the nature of the subject including a manual work depending on a set task. - Goals: At the end of the course students should be able to draw human figure in different styles. They will practise drawing of a woman and man model standing, sitting, lying. They will be able to draw with charcoal, graphite, red chalk and crayon.
- Learning outcomes: During the semetr students will create the serie of figurative drawings, acquire the experience with the anatomy, will gain experience with drawing larger formats. This experience will help students to create more professional conceptual drawing s in other areas - story-board, stop motion animation, conceptual drawing for graphic design etc.
- Syllabus:
Human figure drawing with live model;
standing, sitting, lying.
Nude; woman and man; standing, sitting, lying.
Human head drawing: woman, man, infant, senior.
Quick sketch
Movement study
VV052 Evening Drawing
k 0/2 2 kr., jaro
- doc. Mgr.art. Helena Lukášová, ArtD. - Hana Pokojná, MSc
- Prerequisities:
souhlas
Subject "Drawing/ evening class" pressuposes a creativity as well as respecting the nature of the subject including a manual work depending on a set task. - Goals: At the end of the course students should be able to draw human figure in different styles. They will practise rawing of a woman and man model standing, sitting, lying. They will be able to draw with charcoal, graphite, red chalk and crayon.
- Learning outcomes: During the semetr students wiil create the serie of figurative drawings, acquire the exoerience with the anatomy, will gain experience with drawing larger formats. This experience will help students to create more professional conceptual drawing s in other areas - story board, stop motion animation, conceptual drawing for graphic design etc.
- Syllabus:
Human figure drawing with live model;
standing, sitting, lying.
Nude; woman and man; standing, sitting, lying.
Human head drawing: woman, man, infant, senior.
Quick sketch
Movement study
VV064 Academic and Professional Skills in English for IT
k 0/2 2 kr., jaro
- Mgr. Antonín Zita, M.A., Ph.D.
- Prerequisities:
VB001 || program ( N - UCI )
The prerequisite for enrolling in the course is passing the examination in English (VB001). - Goals: The course aims at giving a well-rounded background in using English suited for both academic and professional area. One of the main focus of the course is formal and informal language and the fact that both have their places in professional and, to lesser extent, academic contexts. As there are multiple ways of maintaining formality, a proper grasp of its use can is needed to successfully navigate the complexities of everyday experiences in academia and professional work. Ultimately, formal and informal language are about presenting oneself to the world; as a result, presentations themselves as well as the ability to effectively summarize information will also be covered in the course. In other words, the course aims at improving not only the more language-oriented aspects of formal and informal English, but also the more abstract ways of thinking about oneself and the self's relation to the outside world.
- Learning outcomes: At the end of the course students should be able to: use appropriate register for a given language situation; compose well-structured letters essential for studies and workplace; effectively summarize information in speech and writing; give well-organized presentations; think about their approach to various tasks in academia and professions
- Syllabus:
Appropriate register (formal/informal language)
Writing professional letters
Understanding summaries
Giving presentations
VV065 Selected chapters in the Theory of Mind
z 2/0 2 kr., podzim
- prof. PhDr. Ing. Miloslav Dokulil, DrSc.
- Goals: At the beginning of the reflections about mind we have a dualism of "mind and body". Some initial knowledge about the mind by testing the brain starts at the beginning of the second half of the 19th century. How is psychoanalysis scientifically founded in its variants? Conditioned reflexes as a starting clue for a theory of learning (from Pavlov to Skinner). The connection to the still existing mystery of life conserves the myth of the human consciousness as an "aspect of the soul" till the middle of the 20th century. An exhortation from an article in the British "Mind" from 1950 addressed to the computer technology (Turing). The establishment of the "Artificial Intelligence" movement. Programmed learning. The shocking autonomous readiness potential of the brain. The "hard" and "soft" questions concerning the human mind. What does a machine playing chess show? Or also playing the oriental game Go? Conundrums connected with the location of memory traces in the brain. Self-awareness as a dynamic system of the self. Extrasensory perception and the possibility of reproducing near-death experiences (NDE). PET and fMRI as "feelers" of brain activity. Organic bases of disorders of personal integrity. How to evaluate "mind" as man's quality? ChatGPT-1 až -4 (and what next?).
- Learning outcomes: Student will be able of thinking about thinking. The student will be able more safefully to meditate about the thinking ability, including effective memory or more practical self-reflection.
- Syllabus: At the beginning of the reflections about mind we have a dualism of "mind and body". Some initial knowledge about the mind by testing the brain starts at the beginning of the second half of the 19th century. How is psychoanalysis scientifically founded in its variants? Conditioned reflexes as a starting clue for a theory of learning (from Pavlov to Skinner). The connection to the still existing mystery of life conserves the myth of the human consciousness as an "aspect of the soul" till the middle of the 20th century. An exhortation from an article in the British "Mind" from 1950 addressed to the computer technology (Turing). The establishment of the "Artificial Intelligence" movement. Programmed learning. The shocking autonomous readiness potential of the brain. The "hard" and "soft" questions concerning the human mind. What does a machine playing chess show? Or also playing the oriental game Go? Conundrums connected with the location of memory traces in the brain. Self-awareness as a dynamic system of the self. Extrasensory perception and the possibility of reproducing near-death experiences (NDE). PET and fMRI as "feelers" of brain activity. Organic bases of disorders of personal integrity. How to evaluate "mind" as man's quality? ChatGPT-1 až -4 (and what next?).
VV066 English Conversation
z 0/2 2 kr., jaro
- Mgr. Eva Rudolfová
- Goals: At the end of the course students should be able to: use appropriate functional expressions in common social situations; have effective conversations which build rapport and mutual understanding; consider social etiquette and be sensitive when communicating with different cultures; use advanced grammar correctly; incorporate advanced vocabulary into their speech efficiently.
- Syllabus:
Varieties of English
Formal and informal language styles
Networking
Advanced grammar points
Advanced vocabulary
VV067 Concept and Intermedia
k 0/2 2 kr., podzim
- MgA. Jana Malíková
- Prerequisities:
souhlas
Prerequisite - some of the courses of the Atelier of Graphic design and Multimedia - Goals: The aim of the course is to introduce students to conceptual approaches in a creative process. It will help them to develop their own strategies in the incorporation of intermedia in their own student projects, which would be individual or in the group, where students will collaborate. Beside the work on the given assignment, there will be lectures introducing contemporary art with the emphasis on new media and digital technologies, to help them to understand the current situation.
- Learning outcomes: The student acquires knowledge about contemporary fine art and understands it in context with the art history of the twentieth century. The student will be able to use various strategies based on conceptual and intermedia in various fields such as viral campaigns, fine art etc. In summary, the student will gain self-confidence in his/her creative potential, will be able to work in a team on a creative project.
- Syllabus: 1. Conceptual work, idea and realization, a format of an idea as a sustainable medium and as the starting point 2. Record and its shifts (photography, diary, video) - an ongoing project 3. Text, notions, their meaning and their incorporation in the visual form 4. Automatic techniques, drawings, and paintings 5. Graphic techniques on the fringe and public space (comics, graffiti, street art)
VV070 Seminar on Master's Thesis Writing
z 1/1 2 kr., podzim
- Mgr. Antonín Zita, M.A., Ph.D.
- Prerequisities:
VB001
The prerequisite for enrolling in is having at least a B2-level knowledge of English, as this course is not focused on grammar or vocabulary. Those who do not seem to possess the required knowledge (yet still meet the prerequisites) may be required to enroll in and pass VV079. - Goals: Writing a thesis is frequently a long and arduous process and even more so when it has to be written in a language other than the author’s primary language. Therefore, this course is aimed at helping students who are in their last semester of studies to finish writing their theses. The course is separated into two tracks – a class track and an individual track. During the former, students attend six classes with the instructor and focus on the process of writing a thesis; the track will cover not only common grammar mistakes, but also the academic writing style or the mechanics of writing a thesis. The individual track has students write portions of their theses and then meet with the instructor on scheduled dates in his office to receive feedback on their writing. There will be three individual sessions, each lasting approximately 20 minutes. Students may be required to submit additional grammar and vocabulary exercises during both tracks.
- Learning outcomes: The course gives students a thorough insight into the mechanics of academic writing in English. Students will learn to identify and correct frequent mistakes in academic writing made by both native and non-native speakers in English. In addition, students will also gain insight into common stylistic issues made in the field of computer science. Finally, the course should provide students with guidance and information important for a successful completion of a thesis in English language.
- Syllabus: I. Common grammatical mistakes, appropriate register (formal/informal language), II. Academic vocabulary, understanding the academic style of writing, III. writing paragraphs, IV. linking paragraphs together, V. understanding the organization of a thesis, VI. advanced issues in computer science writing
VV070 Seminar on Master's Thesis Writing
z 1/1 2 kr., jaro
- Mgr. Antonín Zita, M.A., Ph.D.
- Prerequisities:
VB001
The prerequisite for enrolling in the course is passing the examination in English (VB001) - Goals: Writing a thesis is frequently a long and arduous process and even more so when it has to be written in a language other than the author’s primary language. Therefore, this course is aimed at helping students who are in their last semester of studies to finish writing their theses. The course is separated into two tracks – a class track and an individual track. During the former, students attend six classes with the instructor and focus on the process of writing a thesis; the track will cover not only common grammar mistakes, but also the academic writing style or the mechanics of writing a thesis. The individual track has students write portions of their theses and then meet with the instructor on scheduled dates in order to receive feedback on their writing. There will be at least three individual sessions, each lasting 25-30 minutes. Students may be required to submit additional grammar and vocabulary exercises during both tracks. Students will have to pass an entrance exam in order to enroll into the course; this exam will be written during the first week of classes. Those with exceptionally good results will be offered the individual track only.
- Learning outcomes: The course gives students a thorough insight into the mechanics of academic writing in English. Students will learn to identify and correct frequent mistakes in academic writing made by both native and non-native speakers in English. In addition, students will also gain insight into common stylistic issues made in the field of computer science. Finally, the course should provide students with guidance and information important for a successful completion of a thesis in English language.
- Syllabus: I. Common grammatical mistakes, appropriate register (formal/informal language), II. Academic vocabulary, understanding the academic style of writing, III. writing paragraphs, IV. linking paragraphs together, V. understanding the organization of a thesis, VI. advanced issues in computer science writing
VV071 Biochemistry for bioinformatics
zk 2/0 2 kr., podzim
- doc. RNDr. Irena Koutná, Ph.D.
- Prerequisities: none
- Goals: The objectives of the course Students will be familiar with the structure and function of biomolecules and their roles in the cell. The aim of the lectures is to provide sufficient knowledge that is necessary for a deeper study of biochemical and biological processes.The objectives of the course
- Learning outcomes: Background for study of molecular biology.
- Syllabus: 1. Introduction to the biochemistry. (Atoms and molecules. Amount of substance. Molecular weight. Chemical bond. Chemical reaction. Acids and bases. Buffers. Water. Solution. Concentration. Biogenic elements) 2. Amino acids and proteins (Peptide bond. Protein. Protein structure. Structural and chemical properties of amino acids in the protein structure. Protein function. Protein Detection Methods. Hemoproteins. Regulation of THE heme. Bile acids) 3. Enzymology I (Enzyme reactions. Kinetics and the thermodynamic of enzyme-catalyzed reaction. Inhibition of enzyme reactions) 4. Enzymology II (Classes of enzymes. Cofactors. Coenzymes. Vitamins and their functions) 5. Carbohydrates (Monosaccharides. Disaccharides and polysaccharides. Glycosidic bonds. Derivatives. Glycoproteins and proteoglycans) 6. Energy metabolism (Pentose cycle. Macroergic bonds. Anaerobic glycolysis and gluconeogenesis. Lactose and alcoholic fermentation) 7. Krebs cycle (citric acid cycle, acetyl coenzyme A . Energy Balance) 8. Respiration (Respiratory chain. Oxidative phosphorylation. ATP) 9. Photosynthesis (Structure and function of chlorophyll. The light and dark phase of photosynthesis) 10. Lipids (Structure and function. Biomembranes. Surfactants. Lipid Metabolism. Biosynthesis of fatty acids and cholesterol) 11. Nucleic acids. (Structure and function. Metabolism of nucleic acids) 12. Amino acids (Metabolism of amino acids. Secondary metabolites.)
VV072 Molecular biology for bioinformatics
zk 2/0 2 kr., jaro
- doc. RNDr. Irena Koutná, Ph.D. - Mgr. Tereza Souralová
- Prerequisities: None
- Goals: The aim of this lecture is to provide the introduction into molecular biology and into general processes by which the cells express their genetic information. At the end of the course the student will be able to understand basic information about the genome structure and function, gene expression principles and the cell behaviour at the molecular level.
- Learning outcomes: Students understand the basic principles of biological processes at the level of molecules.
- Syllabus: 1. History of molecular biology. Nucleic acids and proteins (Structure and function of DNA, RNA and proteins; interaction of proteins with DNA) 2. Genome structure and genetic information (Structure of bacterial and eukaryotic genome, genome evolution, genetic code, transcription unit) 3. Genome replication, DNA repair and recombination (Replication of bacterial and eukaryotic genome, molecular basis of mutagenesis, DNA recombination and repair mechanisms) 4. Genome transcription (Transcription of bacterial and eukaryotic genome, post-transcriptional processing of RNA, mechanisms of RNA splicing) 5. Genome translation (Translation of bacterial and eukaryotic mRNA, the ribosome structure, post-translational processing) 6. Regulation of gene expression (Control of bacterial and eukaryotic genome expression, induction and repression, operon, transcription factors, posttranscriptional regulatory mechanisms) 7. Molecular mechanisms of signalling (Molecules involved in signalling pathways, receiving and processing of signals, communication between cells) 8. Molecular structure of eukaryotic cells (Molecular structure of the cell, transport of molecules within and outside the cell) 9. Cell cycle regulation (Molecular basis of cell cycle phases, regulation of cell growth and division) 10. Programmed cell death and molecular basis of acquired immunity (Immunoglobulins, BCR and TCR expression, development and activation of T- and B-cells) 11. Molecular basis of cancer (Basic characteristics of tumour cells, oncogenes, proto-oncogenes, tumour suppressors) 12. Methods of molecular biology and basic principles of gene engineering (Essential methods to study genome, transcriptome and proteome, genetic manipulations)
VV074 Laboratory of Theater Performances
z 0/0 1 kr., podzim
- doc. PhDr. Josef Prokeš, Ph.D.
- Goals: A course of stage speech and rhetoric, also useful for presenting and defending the results of scientific work. A course of specific knowledge and skills for the creation of a theater performance. Preparation for subject VV040 Theater Play.
- Learning outcomes: A student will be able to: Present her own or given speech in front of an audience; understand and explain the specifics of contemporary theater; to enumerate and elucidate the various components of the theatrical production; explain the ways of overhead approaches; compare theater management with management of scientific conferences.
- Syllabus:
- Dramaturgy and focus of various theaters.
- The specifics of the theatrical text compared to the text of the professional work.
- Own dramatic text creation.
- Methods of overhead approaches. K.S.Stanislavskij, J.A.Pitinský, A.Goldflam, P.Minařík and others.
- Scenic music.
- Lighting and sounding performance.
- Stage design and costumes.
- Theater Support Team - Inspiration, Help, Stage Design and Change During Performance, Stage Record.
- Theater promotion and management.
- Motion and gestures on stage, taking into account the presentation of your own scientific work at conferences.
- Theater space and time.
- Literary masterpieces of theatrical plays.
- Psychosomatic exercises, the tension between the authenticity of the internal process and the external conditions. Improvisation etudes and exercises. Perception of a partner on the stage.
VV074 Laboratory of Theater Performances
z 0/0 1 kr., jaro
- doc. PhDr. Josef Prokeš, Ph.D.
- Goals: A course of stage speech and rhetoric, also useful for presenting and defending the results of scientific work. A course of specific knowledge and skills for the creation of a theater performance. Preparation for subject VV040 Theater Play.
- Learning outcomes: A student will be able to: Present her own or given speech in front of an audience; understand and explain the specifics of contemporary theater; to enumerate and elucidate the various components of the theatrical production; explain the ways of overhead approaches; compare theater management with management of scientific conferences.
- Syllabus:
- Dramaturgy and focus of various theaters.
- The specifics of the theatrical text compared to the text of the professional work.
- Own dramatic text creation.
- Methods of overhead approaches. K.S.Stanislavskij, J.A.Pitinský, A.Goldflam, P.Minařík and others.
- Scenic music.
- Lighting and sounding performance.
- Stage design and costumes.
- Theater Support Team - Inspiration, Help, Stage Design and Change During Performance, Stage Record.
- Theater promotion and management.
- Motion and gestures on stage, taking into account the presentation of your own scientific work at conferences.
- Theater space and time.
- Literary masterpieces of theatrical plays.
- Psychosomatic exercises, the tension between the authenticity of the internal process and the external conditions. Improvisation etudes and exercises. Perception of a partner on the stage.
VV075 Support for Computer Science Instruction in English
z 0/2 2 kr., podzim
- Mgr. Eva Rudolfová - Mgr. Marcela Sekanina Vavřinová, Ph.D.
- Prerequisities:
SOUHLAS
- Goals: The course aims to provide support to teachers who teach their classes in the EMI (English as Medium of Instruction) context at FI MU. It is going to help them face the difficulties and obstacles they encounter in their lectures and seminars. The sessions will be most practical, will draw from the participants' experience in the classroom and the course will present tailor-made activities reflecting their needs as teachers.
- Learning outcomes: Participants will be able to use the language: - related to the structure of their teaching outcomes - of cohesion to their spoken or written production on all levels - to interact with students, engage them, and feel comfortable in the EMI context Students will acquire fluency and accuracy in the pronunciation of English, making their delivery clearer and more understandable.
- Syllabus: NEEDS ANALYSIS - mapping key areas SELF-ASSESSMENT related to language STRUCTURING: INTRODUCTION - introducing the topic – establishing its relevance – stating your purpose (what will they know after the lecture) – announcing the lecture structure THE CORE OF THE LECTURE – referring to previous content – internal summaries – moving from one point to another – backward references – emphasizing important points – providing examples – referring to visuals – digressions – placeholders to help you think – communication repairs CONCLUSION – concluding the lecture and summarizing the main points – connecting them to the bigger picture – ending the lecture COHESION: Grammatical cohesion: Reference – pronouns he/she/it/they/that Lexical cohesion: synonyms, general words, this phenomenon, co-occurring words Conjunctions Parallelism INTERACTION: Types of questions (open to the group, directed to an individual, closed questions) – checking understanding) – Giving feedback to students, Q&A ENGAGING Giving examples – anecdotes/jokes – idioms/figurative language FLUENCY AND ACCURACY: Why bother with accurate pron? What does it mean to be fluent (CEFR) Individual sounds, long/short Schwa – long/short vowels – primary stress – strong/week syllables Rhythm – intonation, linking, chunking Pauses ACADEMIC VOCABULARY ACQUISITION Creating lists: keywords (language of instruction) and a course glossary (including key terminology pronunciation)
VV075 Support for Computer Science Instruction in English
z 0/2 2 kr., jaro
- Mgr. Eva Rudolfová - Mgr. Marcela Sekanina Vavřinová, Ph.D.
- Prerequisities:
SOUHLAS
- Goals: The course aims to provide support to teachers who teach their classes in the EMI (English as Medium of Instruction) context at FI MU. It is going to help them face the difficulties and obstacles they encounter in their lectures and seminars. The sessions will be most practical, will draw from the participants' experience in the classroom and the course will present tailor-made activities reflecting their needs as teachers.
- Learning outcomes: Participants will be able to use the language: - related to the structure of their teaching outcomes - of cohesion to their spoken or written production on all levels - to interact with students, engage them, and feel comfortable in the EMI context Students will acquire fluency and accuracy in the pronunciation of English, making their delivery clearer and more understandable.
- Syllabus: NEEDS ANALYSIS - mapping key areas SELF-ASSESSMENT related to language STRUCTURING: INTRODUCTION - introducing the topic – establishing its relevance – stating your purpose (what will they know after the lecture) – announcing the lecture structure THE CORE OF THE LECTURE – referring to previous content – internal summaries – moving from one point to another – backward references – emphasizing important points – providing examples – referring to visuals – digressions – placeholders to help you think – communication repairs CONCLUSION – concluding the lecture and summarizing the main points – connecting them to the bigger picture – ending the lecture COHESION: Grammatical cohesion: Reference – pronouns he/she/it/they/that Lexical cohesion: synonyms, general words, this phenomenon, co-occurring words Conjunctions Parallelism INTERACTION: Types of questions (open to the group, directed to an individual, closed questions) – checking understanding) – Giving feedback to students, Q&A ENGAGING Giving examples – anecdotes/jokes – idioms/figurative language FLUENCY AND ACCURACY: Why bother with accurate pron? What does it mean to be fluent (CEFR) Individual sounds, long/short Schwa – long/short vowels – primary stress – strong/week syllables Rhythm – intonation, linking, chunking Pauses ACADEMIC VOCABULARY ACQUISITION Creating lists: keywords (language of instruction) and a course glossary (including key terminology pronunciation)
VV077 Business English for career in IT
z 0/2 2 kr., jaro
- Roksoliana Radchuk, PhD
- Prerequisities:
VB001 || souhlas
The prerequisite for this course is completed exam VB001 in General English at the B2 level according to CEFR. - Goals: The course aims to improve communication in everyday professional situations. This upper-intermediate-level English course focuses on essential vocabulary and practical phrases for the workplace. The lessons contain video, audio, and text, and there are also plenty of exercises to help you review and practice your Business English.
- Learning outcomes: After the course students will be able: - write a resume in English - write a cover letter in English - discuss current issues and development in IT business - to react professionally in everyday workplace situations
- Syllabus: The course introduces topics such as: • English for interviews. How to talk about one’s qualifications, previous experience and future goals. • Phone calls. Introducing essential phrases for calls, and practical tips of effective phone calls. • Networking & small talk. Rules and tips for small talks and networking. • English for management & customer service. Some phrases and common situations appearing in daily situations both in customer services and coordinating positions. • How to talk about marketing. Looking at the languauge used in marketing. Text analysis. • English for marketing in the area of IT. Practical text samples and text analysis. Course also includes: • Quizzes and Progress Tests
VV078 Game Development Dungeon
z 0/0 2 kr., podzim
- Mgr. Jiří Chmelík, Ph.D. - Mgr. et Mgr. Zdeněk Záhora
- Prerequisities:
(( obor ( VPH ) || obor ( VPHA ) ) && ! VV078 ) || SOUHLAS
Interest in Game Development field. - Goals:
The aim of the course is to provide students with an introduction to the field of game development. Students will understand and practice the basic aspects of game design, game prototyping process, game development, and experience different roles of game developers.
The secondary goal is to provide an overview of the “Computer Games Development” specialization and create an opportunity for 1st-year students to network with each other, older colleagues, alumni and even professionals from the game development industry. - Learning outcomes:
After completing the course, a student will be able to:
- Think critically about games and analyze simple game mechanisms.
- Describe and explain basic concepts such as level design, character design or game design.
- Design and create a prototype of a simple game in a short amount of time.
- Present their game concepts or prototypes to other game developers.
- Reflect on failures during their game development project and use that experience in future projects.
- Praise the sun. - Syllabus:
Week-long block teaching, including:
Board games day - talk, workshops, playtesting session
Digital games day - talk, workshops, playtesting session
Game Jam - game development hackathon
Discussion panels - with professionals from the game development industry and alumni of the Game Development study program, now working in the industry.
VV079 English Online - English Exam Support
z 0/0 2 kr., podzim
- Mgr. Anna Bízková Doleželová - Mgr. Markéta Dudová, Ph.D. - Mgr. Marcela Sekanina Vavřinová, Ph.D.
- Goals: The primary goal of this course is to support students in their preparation for the B2 level English exam VB001, improve their grammar and vocabulary skills relevant to the exam, enhance their reading, writing, listening abilities required for success in the exam, and familiarize them with the format and structure of the exam.
- Learning outcomes: By the end of this course, students will be able to: - demonstrate proficiency in B2 level grammar structures and vocabulary relevant to ICT fields. - listen to and comprehend spoken English in various contexts related to ICT topics. - apply test-taking strategies effectively to manage time and maximize performance in the B2 level English test VB001.
- Syllabus: IS Interactive Syllabus: https://is.muni.cz/auth/el/fi/jaro2024/VV079/index.qwarp
VV079 English Online - English Exam Support
z 0/0 2 kr., jaro
- Mgr. Anna Bízková Doleželová - Mgr. Markéta Dudová, Ph.D. - Mgr. Marcela Sekanina Vavřinová, Ph.D.
SA100 Internship - Management
k 0/0 15 kr., podzim
- RNDr. Jaroslav Ráček, Ph.D.
- Prerequisities:
PV206 &&( PA179 || NOW ( PA179 ))&&((! PA185 )&&(!( NOW ( PA185 ))))&& SOUHLAS
- Goals: The goal is to complete an internship in a business on a job position that requires T-shaped skills.
- Learning outcomes: At the end of the course students should be able to work on a junior level position in a service oriented company.
- Syllabus:
The internship consists of practice in an organization (company, public institution, etc.) whose activity corresponds to the focus of the studied field.
The student arranges the internship himself in one of the IT companies.
Internships in the fall semester can start from July 1st and internships in the spring semester can start from January 1st.
It is important to regularly follow and meet the deadlines for submitting documents (forms) listed in the regularly updated Information and Schedule presentation in the Study Materials in IS.
Only the current forms for the semester listed in the Study materials in IS are acceptable.
Please contact koordinace.stazi.muni.cz with any questions.
SA100 Internship - Management
k 0/0 15 kr., jaro
- RNDr. Jaroslav Ráček, Ph.D.
- Prerequisities:
PV206 &&( PA179 || NOW ( PA179 )) && SA100Reg
- Goals: The goal is to complete an internship in a business on a job position that requires T-shaped skills.
- Learning outcomes: At the end of the course students should be able to work on a junior level position in a service oriented company.
- Syllabus:
The internship consists of practice in an organization (company, public institution, etc.) whose activity corresponds to the focus of the studied field.
The student arranges the internship himself in one of the IT companies.
Internships in the fall semester can start from July 1st and internships in the spring semester can start from January 1st.
It is important to regularly follow and meet the deadlines for submitting documents (forms) listed in the regularly updated Information and Schedule presentation in the Study Materials in IS.
Only the current forms for the semester listed in the Study materials in IS are acceptable.
Please contact koordinace.stazi.muni.cz with any questions.
SA100Reg Registration for SA100
z 0/0 0 kr., podzim
- RNDr. Jaroslav Ráček, Ph.D.
- Goals:
The goal of this course is to determine the content of the internship.
The SA100Reg course is enrolled by those students who plan to take the SA100 internship course the following semester.
(Example: you plan to take the SA100 internship in the fall semester, so you would enroll in SA100Reg in the previous spring semester). - Learning outcomes: The output of this course is to define the company, content and schedule of the internship.
- Syllabus:
1. Find an internship
2. Submit an internship proposal
---
The proposal must be submitted no later than 14 days before the start date. The Internship Proposal template and other internship information is available in the study materials for this course.
The content of the internship should be relevant to the field of study.
Upon submission and approval of the Internship Proposal, credit will be awarded and students will be allowed to enroll in SB100 and complete the actual internship in the following semester.
In the fall semester the internship may begin no earlier than July 1; In the spring semester the internship may begin no earlier than January 1 of that year.
Please contact koordinace.stazi.muni.cz with any questions.
SA100Reg Registration for SA100
z 0/0 0 kr., jaro
- RNDr. Jaroslav Ráček, Ph.D.
- Goals:
The goal of this course is to determine the content of the internship.
The SA100Reg course is enrolled by those students who plan to take the SA100 internship course the following semester.
(Example: you plan to take the SA100 internship in the fall semester, so you would enroll in SA100Reg in the previous spring semester). - Learning outcomes: The output of this course is to define the company, content and schedule of the internship.
- Syllabus:
1. Find an internship
2. Submit an internship proposal
---
The proposal must be submitted no later than 14 days before the start date. The Internship Proposal template and other internship information is available in the study materials for this course.
The content of the internship should be relevant to the field of study.
Upon submission and approval of the Internship Proposal, credit will be awarded and students will be allowed to enroll in SB100 and complete the actual internship in the following semester.
In the fall semester the internship may begin no earlier than July 1; In the spring semester the internship may begin no earlier than January 1 of that year.
Please contact koordinace.stazi.muni.cz with any questions.
SA200 Internship - Software Engineering
k 0/0 15 kr., podzim
- RNDr. Jaroslav Ráček, Ph.D.
- Prerequisities:
( ! rocnik ( 1 ) ) && SOUHLAS
SA200 can be enroled in 3rd semester at the earliest. - Goals: The course aims to introduce students to the knowledge and skills they will need to perform their work on a daily or weekly basis. Students can work as a software engineer, UI/UX or frontend developer, database systems architect, tester, DevOps engineer, or in the software systems or mobile application development field.
- Learning outcomes: At the end of the course students should be able to work as senior SW developers
- Syllabus:
The internship consists of practice in an organization (company, public institution, etc.) whose activity corresponds to the focus of the studied field.
The student arranges the internship himself in one of the IT companies.
Internships in the fall semester can start from July 1st and internships in the spring semester can start from January 1st.
It is important to regularly follow and meet the deadlines for submitting documents (forms) listed in the regularly updated Information and Schedule presentation in the Study Materials in IS.
Only the current forms for the semester listed in the Study materials in IS are acceptable.
Please contact koordinace.stazi.muni.cz with any questions.
SA200 Internship - Software Engineering
k 0/0 15 kr., jaro
- RNDr. Jaroslav Ráček, Ph.D.
- Prerequisities:
( ! rocnik ( 1 ) ) && SA200Reg
- Goals: The goal is to complete an internship in a business on a job position that requires programming skills.
- Learning outcomes: At the end of the course students should be able to work as senior SW developers.
- Syllabus:
The internship consists of practice in an organization (company, public institution, etc.) whose activity corresponds to the focus of the studied field.
The student arranges the internship himself in one of the IT companies.
Internships in the fall semester can start from July 1st and internships in the spring semester can start from January 1st.
It is important to regularly follow and meet the deadlines for submitting documents (forms) listed in the regularly updated Information and Schedule presentation in the Study Materials in IS.
Only the current forms for the semester listed in the Study materials in IS are acceptable.
Please contact koordinace.stazi.muni.cz with any questions.
SA200Reg Registration for SA200
z 0/0 0 kr., podzim
- RNDr. Jaroslav Ráček, Ph.D.
- Goals:
The goal of this course is to determine the content of the internship.
The SA200Reg course is enrolled by those students who plan to take the SA200 internship course the following semester.
(Example: you plan to take the SA200 internship in the fall semester, so you would enroll in SA200Reg in the previous spring semester). - Learning outcomes: The output of this course is to define the company, content and schedule of the internship.
- Syllabus:
1. Find an internship
2. Submit an internship proposal
---
The proposal must be submitted no later than 14 days before the start date. The Internship Proposal template and other internship information is available in the study materials for this course.
The content of the internship should be relevant to the field of study.
Upon submission and approval of the Internship Proposal, credit will be awarded and students will be allowed to enroll in SB100 and complete the actual internship in the following semester.
In the fall semester the internship may begin no earlier than July 1; In the spring semester the internship may begin no earlier than January 1 of that year.
Please contact koordinace.stazi.muni.cz with any questions.
SA200Reg Registration for SA200
z 0/0 0 kr., jaro
- RNDr. Jaroslav Ráček, Ph.D.
- Goals:
The goal of this course is to determine the content of the internship.
The SA200Reg course is enrolled by those students who plan to take the SA200 internship course the following semester.
(Example: you plan to take the SA200 internship in the fall semester, so you would enroll in SA200Reg in the previous spring semester). - Learning outcomes: The output of this course is to define the company, content and schedule of the internship.
- Syllabus:
1. Find an internship
2. Submit an internship proposal
---
The proposal must be submitted no later than 14 days before the start date. The Internship Proposal template and other internship information is available in the study materials for this course.
The content of the internship should be relevant to the field of study.
Upon submission and approval of the Internship Proposal, credit will be awarded and students will be allowed to enroll in SB100 and complete the actual internship in the following semester.
In the fall semester the internship may begin no earlier than July 1; In the spring semester the internship may begin no earlier than January 1 of that year.
Please contact koordinace.stazi.muni.cz with any questions.
SA300 Internship - Computer Games
z 0/0 16 kr., podzim
- Mgr. Jiří Chmelík, Ph.D.
- Prerequisities:
SOUHLAS
A serious interest in the area of digital game development. At least one realized digital game project (e.g., in the scope of PV255 Game Development I and PV266 Game Development II). Mutual agreement between the student, the lector and a mentor from the game studio. - Goals: Internship at a digital game development company. The main goal is to gain experience working on an actual game project in an established game studio. At the end of the course, a student should be able to work in a junior-level position in a game development company.
- Learning outcomes:
At the end of the semester, a student should be able to:
Identify and describe roles in the development team and their mutual interactions;
Effectively use tools for team communication and collaboration;
Describe the workflow in a larger team and apply it in new projects;
Work on digital game development in the scope of a larger team; - Syllabus:
Semestral internship in the game development company. The minimum duration of the internship is 480 working hours.
Students must complete the entire Internship in one organisation. Exceptions are only possible with the lecturer’s consent.
Before the beginning of the internship, the following must be specified based on a mutual agreement: a mentor (person from the game studio), internship position description, and starting date of the internship.
An "Acceptance Protocol" form has to be signed by the student and a mentor representing the company and delivered to the lecturer. The student will not be enrolled on the course without a signed form.
During the internship, at least one progress-check meeting will be organized, including the student, the lector, and the mentor.
At the end of the internship, the student will deliver an "Evaluation Protocol" form, written and signed by a mentor.
SA300 Internship - Computer Games
z 0/0 16 kr., jaro
- Mgr. Jiří Chmelík, Ph.D.
- Prerequisities:
SA300Reg
A serious interest in the area of digital game development. At least one realized digital game project (e.g., in the scope of PV255 Game Development I and PV266 Game Development II). Mutual agreement between the student, the lector and a mentor from the game studio. - Goals: Internship at a digital game development company. The main goal is to gain experience working on an actual game project in an established game studio. At the end of the course, a student should be able to work in a junior-level position in a game development company.
- Learning outcomes:
At the end of the semester, a student should be able to:
Identify and describe roles in the development team and their mutual interactions;
Effectively use tools for team communication and collaboration;
Describe the workflow in a larger team and apply it in new projects;
Work on digital game development in the scope of a larger team; - Syllabus:
Semestral internship in the game development company. The minimum duration of the internship is 480 working hours.
Students must complete the entire Internship in one organisation. Exceptions are only possible with the lecturer’s consent.
Before the beginning of the internship, the following must be specified based on a mutual agreement: a mentor (person from the game studio), internship position description, and starting date of the internship.
An "Acceptance Protocol" form has to be signed by the student and a mentor representing the company and delivered to the lecturer. The student will not be enrolled on the course without a signed form.
During the internship, at least one progress-check meeting will be organized, including the student, the lector, and the mentor.
At the end of the internship, the student will deliver an "Evaluation Protocol" form, written and signed by a mentor.
SA300Reg Registration for SA300
z 0/0 0 kr., podzim
- Mgr. Jiří Chmelík, Ph.D.
- Prerequisities: Interest in the course SA300 Internship - Computer Games
- Goals: The course aims to prepare students for upcoming internships. Help them with activities such as choosing a game studio and position, preparing necessary documents, or communicating processes with studios.
- Learning outcomes:
After completing the course, a student will be able to:
- prepare necessary documents - CV, portfolio;
- describe the typical internship admission process; - Syllabus:
Internship - requirements, expectations, fime-frame
Necessary documents - CV, portfolio, motivation letter
Admission process - interview, test, etc.
SA300Reg Registration for SA300
z 0/0 0 kr., jaro
- Mgr. Jiří Chmelík, Ph.D.
- Prerequisities: Interest in the course SA300 Internship - Computer Games
- Goals: The course aims to prepare students for upcoming internships. Help them with activities such as choosing a game studio and position, preparing necessary documents, or communicating processes with studios.
- Learning outcomes:
After completing the course, a student will be able to:
- prepare necessary documents - CV, portfolio;
- describe the typical internship admission process; - Syllabus:
Internship - requirements, expectations, fime-frame
Necessary documents - CV, portfolio, motivation letter
Admission process - interview, test, etc.
SA400 Foreign Studies - Digital Linguistics
z 0/0 30 kr., podzim
- doc. RNDr. Aleš Horák, Ph.D.
- Prerequisities: In the framework of this course, students of the Digital Linguistics study program will spend their 3rd semester at one of the partner universities.
- Goals: This course serves as an indicator of obtaining the required minimum of 30 ECTS credits at one of the Digital Linguistics consortium partner universities.
- Learning outcomes: During the mobility semester, the students will study special topics in Linguistics/Multilingual Communication/Programming & IT/Digital Media and other electives.
- Syllabus: The specific obligatory and elective courses are offered by the partner university.
SBAPR Bachelor Thesis
z 0/0 10 kr., podzim
- doc. RNDr. David Svoboda, Ph.D.
- Prerequisities: When enrolling this course for the first time (the course can be enrolled repeatedly), the student is obliged to contact the potential supervisor and agree on the topic of the final thesis.
- Goals: The course is designed as a final course encouraging students to write their diploma thesis meeting all the requirements placed on it. Completion of this course will ensure that the student submits bachelor thesis agreed by supervisor. The student should be ready for a successful defense of diploma thesis and aware of the requirements stated by a commission on defense.
- Learning outcomes: Students will create bachelor thesis and be prepared for its defense.
- Syllabus: Individual consultations during the work on the thesis. See also https://www.fi.muni.cz/studies/bachelor-diploma-theses.html
SBAPR Bachelor Thesis
z 0/0 10 kr., jaro
- doc. RNDr. David Svoboda, Ph.D.
- Prerequisities: When enrolling this course for the first time (the course can be enrolled repeatedly), the student is obliged to contact the potential supervisor and agree on the topic of the final thesis.
- Goals: The course is designed as a final course encouraging students to write their diploma thesis meeting all the requirements placed on it. Completion of this course will ensure that the student submits bachelor thesis agreed by supervisor. The student should be ready for a successful defense of diploma thesis and aware of the requirements stated by a commission on defense.
- Learning outcomes: Students will create bachelor thesis and be prepared for its defense.
- Syllabus: Individual consultations during the work on the thesis. See also https://www.fi.muni.cz/studies/bachelor-diploma-theses.html
SBPrip Revisions for Bachelor State Exam
z 0/0 1 kr., podzim
- prof. RNDr. Jiří Barnat, Ph.D.
- Goals: The goal of this subject is to force students to commence preparation for final state exam in time. A secondary goal is let the student built an overview over all the topics studied so that she can realize the connections between the subjects.
- Learning outcomes: After graduation the student will have an overview of what she is expected to know for the final state exam.
- Syllabus: On the fly completion of questionares in IS.
SBPrip Revisions for Bachelor State Exam
z 0/0 1 kr., jaro
- prof. RNDr. Jiří Barnat, Ph.D.
- Prerequisities:
NOW ( SZB )
- Goals: The goal of this subject is to force students to commence preparation for final state exam in time. A secondary goal is let the student built an overview over all the topics studied so that she can realize the connections between the subjects.
- Learning outcomes: After graduation the student will have an overview of what she is expected to know for the final state exam.
- Syllabus: On the fly completion of questionares in IS.
SB100 Bachelor Internship - Programming and Development
z 0/0 20 kr., podzim
- RNDr. Jaroslav Ráček, Ph.D.
- Prerequisities:
(! rocnik ( 1 )) && (! rocnik ( 2 )) && SOUHLAS
- Goals: The aim of the course is to introduce the students to the real world software development process, and provide them with knowledge and experience that is necessary for software developer/engineer work on a daily and weekly basis.
- Learning outcomes: After successful completion the student will - know from her own experience processes that are running at a background of the software development - be able to work with tools supporting real world development - understand activities that programmer of developer must deal with on a daily and weekly basis - get more deep knowledge and experience with a programming language used during the internship
- Syllabus:
The internship consists of practice in an organization (company, public institution, etc.) whose activity corresponds to the focus of the studied field.
Students arrange the internship themselves in one of the IT companies.
Internships in the fall semester can start no earlier than July 1st, and internships in the spring semester can start from January 1st.
It is important to regularly follow and meet the deadlines for submitting documents (forms) listed in the regularly updated Important Information and Schedule PDF file in the Study Materials in IS.
Only the current forms for the semester listed in the Study materials in IS are acceptable.
Please contact koordinace.stazi.muni.cz with any questions.
SB100 Bachelor Internship - Programming and Development
z 0/0 20 kr., jaro
- RNDr. Jaroslav Ráček, Ph.D. - Lucie Válová
- Prerequisities:
( ! rocnik ( 1 ) && ! rocnik ( 2 ) ) && SB100Reg
- Goals: The course goal is to let students experience the real world software development process, and provide them with knowledge and experience that is necessary for software developer/engineer work on a daily and weekly basis.
- Learning outcomes:
After successful completion the student will
- know from her own experience processes that are running at a background of the software development
- be able to work with tools supporting real world development
- understand activities that programmer of developer must deal with on a daily and weekly basis
- get more deep knowledge and experience with a programming language used during the internship - Syllabus:
The internship consists of practice in an organization (company, public institution, etc.) whose activity corresponds to the focus of the studied field.
The student arranges the internship himself in one of the IT companies.
Internships in the fall semester can start from July 1st, and internships in the spring semester can start from January 1st.
It is important to regularly follow and meet the deadlines for submitting documents (forms) listed in the regularly updated Information and Schedule presentation in the Study Materials in IS.
Only the current forms for the semester listed in the Study materials in IS are acceptable.
Please contact koordinace.stazi.muni.cz with any questions.
SB100Reg Registration for SB100
z 0/0 0 kr., podzim
- RNDr. Jaroslav Ráček, Ph.D.
- Goals:
The goal of this course is to determine the content of the internship.
The SB100Reg course is enrolled by those students who plan to take the SB100 internship course the following semester.
(Example: you plan to take the SB100 internship in the fall semester, so you would enroll in SB100Reg in the previous spring semester). - Learning outcomes: The output of this course is to define the company, content and schedule of the internship.
- Syllabus:
1. Find an internship
2. Submit an internship proposal
---
The proposal must be submitted no later than 14 days before the start date. The Internship Proposal template and other internship information is available in the study materials for this course.
The content of the internship should be relevant to the field of study.
Upon submission and approval of the Internship Proposal, credit will be awarded and students will be allowed to enroll in SB100 and complete the actual internship in the following semester.
In the fall semester the internship may begin no earlier than July 1; In the spring semester the internship may begin no earlier than January 1 of that year.
Please contact koordinace.stazi.muni.cz with any questions.
SB100Reg Registration for SB100
z 0/0 0 kr., jaro
- RNDr. Jaroslav Ráček, Ph.D.
- Goals:
The goal of this course is to determine the content of the internship.
The SB100Reg course is enrolled by those students who plan to take the SB100 internship course the following semester.
(Example: you plan to take the SB100 internship in the fall semester, so you would enroll in SB100Reg in the previous spring semester). - Learning outcomes: The output of this course is to define the company, content and schedule of the internship.
- Syllabus:
1. Find an internship
2. Submit an internship proposal
---
The proposal must be submitted no later than 14 days before the start date. The Internship Proposal template and other internship information is available in the study materials for this course.
The content of the internship should be relevant to the field of study.
Upon submission and approval of the Internship Proposal, credit will be awarded and students will be allowed to enroll in SB100 and complete the actual internship in the following semester.
In the fall semester the internship may begin no earlier than July 1; In the spring semester the internship may begin no earlier than January 1 of that year.
Please contact koordinace.stazi.muni.cz with any questions.
SB200 Bachelor Internship - Cybersecurity
z 0/0 20 kr., podzim
- RNDr. Jaroslav Ráček, Ph.D.
- Prerequisities:
( ! rocnik ( 1 ) || ! rocnik ( 2 ) ) && SOUHLAS
- Goals: The course goal is to let students experience the real world cybersecurity process, and provide them with knowledge and experience that is necessary for their future work .
- Learning outcomes: After successful completion the student will - know from her own experience processes that are running at a background of the software development - be able to work with tools supporting real world development - understand activities that programmer of developer must deal with on a daily and weekly basis - get more deep knowledge and experience with a programming language used during the internship
- Syllabus:
The internship consists of practice in an organization (company, public institution, etc.) whose activity corresponds to the focus of the studied field.
The student arranges the internship himself in one of the IT companies.
Internships in the fall semester can start from July 1st, and internships in the spring semester can start from January 1st.
It is important to regularly follow and meet the deadlines for submitting documents (forms) listed in the regularly updated Information and Schedule presentation in the Study Materials in IS.
Only the current forms for the semester listed in the Study materials in IS are acceptable.
Please contact koordinace.stazi.muni.cz with any questions.
SB200 Bachelor Internship - Cybersecurity
z 0/0 20 kr., jaro
- RNDr. Jaroslav Ráček, Ph.D.
- Prerequisities:
(! rocnik ( 1 ) && ! rocnik ( 2 )) && SB200Reg
- Goals: The course goal is to let students experience the real world cybersecurity process, and provide them with knowledge and experience that is necessary for their future work .
- Learning outcomes:
After successful completion the student will
- know from her own experience processes that are running at a background of the software development
- be able to work with tools supporting real world development
- understand activities that programmer of developer must deal with on a daily and weekly basis
- get more deep knowledge and experience with a programming language used during the internship - Syllabus:
The internship consists of practice in an organization (company, public institution, etc.) whose activity corresponds to the focus of the studied field.
The student arranges the internship himself in one of the IT companies.
Internships in the fall semester can start from July 1st, and internships in the spring semester can start from January 1st.
It is important to regularly follow and meet the deadlines for submitting documents (forms) listed in the regularly updated Information and Schedule presentation in the Study Materials in IS.
Only the current forms for the semester listed in the Study materials in IS are acceptable.
Please contact koordinace.stazi.muni.cz with any questions.
SB200Reg Registration for SB200
z 0/0 0 kr., podzim
- RNDr. Jaroslav Ráček, Ph.D.
- Goals:
The goal of this course is to determine the content of the internship.
The SB200Reg course is enrolled by those students who plan to take the SB200 internship course the following semester.
(Example: you plan to take the SB200 internship in the fall semester, so you would enroll in SB200Reg in the previous spring semester). - Learning outcomes: The output of this course is to define the company, content and schedule of the internship.
- Syllabus:
1. Find an internship
2. Submit an internship proposal
---
The proposal must be submitted no later than 14 days before the start date. The Internship Proposal template and other internship information is available in the study materials for this course.
The content of the internship should be relevant to the field of study.
Upon submission and approval of the Internship Proposal, credit will be awarded and students will be allowed to enroll in SB100 and complete the actual internship in the following semester.
In the fall semester the internship may begin no earlier than July 1; In the spring semester the internship may begin no earlier than January 1 of that year.
Please contact koordinace.stazi.muni.cz with any questions.
SB200Reg Registration for SB200
z 0/0 0 kr., jaro
- RNDr. Jaroslav Ráček, Ph.D.
- Goals:
The goal of this course is to determine the content of the internship.
The SB200Reg course is enrolled by those students who plan to take the SB200 internship course the following semester.
(Example: you plan to take the SB200 internship in the fall semester, so you would enroll in SB200Reg in the previous spring semester). - Learning outcomes: The output of this course is to define the company, content and schedule of the internship.
- Syllabus:
1. Find an internship
2. Submit an internship proposal
---
The proposal must be submitted no later than 14 days before the start date. The Internship Proposal template and other internship information is available in the study materials for this course.
The content of the internship should be relevant to the field of study.
Upon submission and approval of the Internship Proposal, credit will be awarded and students will be allowed to enroll in SB100 and complete the actual internship in the following semester.
In the fall semester the internship may begin no earlier than July 1; In the spring semester the internship may begin no earlier than January 1 of that year.
Please contact koordinace.stazi.muni.cz with any questions.
SDIPR Diploma Thesis
z 0/0 20 kr., podzim
- doc. RNDr. David Svoboda, Ph.D.
- Prerequisities: When enrolling this course for the first time (the course can be enrolled repeatedly), the student is obliged to contact the potential supervisor and agree on the topic of the final thesis.
- Goals: The course is designed as a final course encouraging students to write their diploma thesis meeting all the requirements placed on it. Completion of this course will ensure that the student submits diploma thesis agreed by supervisor. The student should be ready for a successful defense of diploma thesis and aware of the requirements stated by a commission on defense.
- Learning outcomes: Students will create diploma thesis and be prepared for its defense.
- Syllabus: Individual consultations during the work on diploma thesis.
SDIPR Diploma Thesis
z 0/0 20 kr., jaro
- doc. RNDr. David Svoboda, Ph.D.
- Prerequisities: When enrolling this course for the first time (the course can be enrolled repeatedly), the student is obliged to contact the potential supervisor and agree on the topic of the final thesis.
- Goals: The course is designed as a final course encouraging students to write their diploma thesis meeting all the requirements placed on it. Completion of this course will ensure that the student submits diploma thesis agreed by supervisor. The student should be ready for a successful defense of diploma thesis and aware of the requirements stated by a commission on defense.
- Learning outcomes: Students will create diploma thesis and be prepared for its defense.
- Syllabus: Individual consultations during the work on diploma thesis.
SMOBI Foreign Studies
z 0/0 0 kr., podzim
- doc. RNDr. David Svoboda, Ph.D. - Mgr. Simona Davidová - Ing. Radka Brolíková
- Goals: Studies at a foreign university
- Learning outcomes: Course records study of FI students as visiting or exchange students at foreign universities.
- Syllabus: Course records study of FI students as visiting or exchange students at foreign universities. More information about the course are available at the Department of International Studies FI.
SMOBI Foreign Studies
z 0/0 0 kr., jaro
- doc. RNDr. David Svoboda, Ph.D. - doc. RNDr. Vojtěch Řehák, Ph.D. - Ing. Radka Brolíková - Mgr. Simona Davidová
- Goals: Studies at a foreign university
- Syllabus: Course records study of FI students as visiting or exchange students at foreign universities. More information about the course are available at the Department of International Studies FI.
SOBHA Defence of Thesis
SZk 0/0 0 kr., podzim
- doc. RNDr. David Svoboda, Ph.D.
- Goals: A student proves an ability to present his final work and to answer questions of reviewers and members of the committee.
- Learning outcomes: A student proves an ability to present his final work and to answer questions of reviewers and members of the committee.
- Syllabus: Presentation of goals and results of the final work. Reviews. Answers of the reviews. Discussion.
SOBHA Defence of Thesis
SZk 0/0 0 kr., jaro
- doc. RNDr. David Svoboda, Ph.D.
- Goals: A student proves an ability to present his final work and to answer questions of reviewers and members of the committee.
- Learning outcomes: A student proves an ability to present his final work and to answer questions of reviewers and members of the committee.
- Syllabus: Presentation of goals and results of the final work. Reviews. Answers of the reviews. Discussion.
SPRAC Placement Abroad
z 0/0 30 kr., podzim
- doc. RNDr. David Svoboda, Ph.D. - Mgr. Simona Davidová - Ing. Radka Brolíková
- Goals: Traineeship in foreign firm/research institution
- Syllabus: The course records internships of FI students in institutions or firms abroad, where they carry out professional work or research that is closely related to their study at the FI, such as the preparation of Diploma thesis. Any foreign internship must be approved by the teacher from the FI. More information about the course are available at the Department of International Studies FI.
SPRAC Placement Abroad
z 0/0 30 kr., jaro
- doc. RNDr. David Svoboda, Ph.D. - doc. RNDr. Vojtěch Řehák, Ph.D. - Ing. Radka Brolíková - Mgr. Simona Davidová
- Goals: Traineeship in foreign firm/research institution
- Syllabus: The course records internships of FI students in institutions or firms abroad, where they carry out professional work or research that is closely related to their study at the FI, such as the preparation of Diploma thesis. Any foreign internship must be approved by the teacher from the FI. More information about the course are available at the Department of International Studies FI.
SRES Research Project for Foreign Students
zk 0/0 10 kr., podzim
- doc. RNDr. David Svoboda, Ph.D. - doc. RNDr. Vojtěch Řehák, Ph.D.
- Prerequisities:
souhlas
Registration to this course will be approved only to visiting students who would not register courses related to Bachelor, Master or PhD thesis. - Goals: Participants will understand one or more aspects of undertaking research under a qualified supervision of senior researchers.
- Syllabus: Research in computer science, typically in one of the research labs or other units of the Faculty of Informatics. This research shall be focused and demanding, as corresponds to the credit award for passing this course.
SRES Research Project for Foreign Students
zk 0/0 10 kr., jaro
- doc. RNDr. David Svoboda, Ph.D. - doc. RNDr. Vojtěch Řehák, Ph.D.
- Prerequisities:
souhlas
Registration to this course will be approved only to visiting students who would not register courses related to Bachelor, Master or PhD thesis. - Goals: Participants will understand one or more aspects of undertaking research under a qualified supervision of senior researchers.
- Syllabus: Research in computer science, typically in one of the research labs or other units of the Faculty of Informatics. This research shall be focused and demanding, as corresponds to the credit award for passing this course.
SZB State Exam (Bc degree)
SZk 0/0 0 kr., podzim
- doc. RNDr. David Svoboda, Ph.D.
- Goals: The student demonstrates the ability to publicly present her/his professional knowledge and experience corresponding to the chosen study program, as well as to argue and respond to questions.
- Learning outcomes: The student demonstrates the ability to publicly present her/his professional knowledge and experience corresponding to the chosen study program, as well as to argue and respond to questions.
- Syllabus: Bachelor State exam.
SZB State Exam (Bc degree)
SZk 0/0 0 kr., jaro
- doc. RNDr. David Svoboda, Ph.D.
- Goals: The student demonstrates the ability to publicly present her/his professional knowledge and experience corresponding to the chosen study program, as well as to argue and respond to questions.
- Learning outcomes: The student demonstrates the ability to publicly present her/his professional knowledge and experience corresponding to the chosen study program, as well as to argue and respond to questions.
- Syllabus: Bachelor State exam.
SZMGR State Exam (MSc degree)
SZk 0/0 0 kr., podzim
- doc. RNDr. David Svoboda, Ph.D.
- Goals: The student demonstrates the ability to publicly present her/his professional knowledge and experience corresponding to the chosen study program, as well as to argue and respond to questions.
- Learning outcomes: The student demonstrates the ability to publicly present her/his professional knowledge and experience corresponding to the chosen study program, as well as to argue and respond to questions.
- Syllabus: Master State exam.
SZMGR State Exam (MSc degree)
SZk 0/0 0 kr., jaro
- doc. RNDr. David Svoboda, Ph.D.
- Goals: The student demonstrates the ability to publicly present her/his professional knowledge and experience corresponding to the chosen study program, as well as to argue and respond to questions.
- Learning outcomes: The student demonstrates the ability to publicly present her/his professional knowledge and experience corresponding to the chosen study program, as well as to argue and respond to questions.
- Syllabus: Master State exam.
CORE012 Information Society
k 2/0 3 kr., podzim
- prof. RNDr. Jiří Zlatuška, CSc.
- Prerequisities:
typ_studia ( BM )
- Goals: The goal of this course is to introduce the nature of wider impacts of Informatics on the society.
- Learning outcomes: At the end of this course students will be able to understand and explain the nature of wider impacts of Informatics on the society; to use information about events characteristic for the impact of the information revolution; to draw parallels with the industrial revolution; to explain and characterize events and processes associated with the formation of information society; to better comprehend the role of the information and communication technologies in the society not only as technical tools, but also as a phenomenon enabling social processes transformation; to understand newly emerging organizational structures both in business and in e-government resulting from intensification of the information processing; to understand the nature of innovative processes associated with informatics and to thing through the consequences of differencec from prevailing older paradigms; to grasp idea of the structure of policies assiciated with information society; to present thoughful analyses of nontechnical impacts of widespread availability and use of services based on information processing; to think through and creatively develop designs of new possible applications; to develop motivation for future theoretical or practical work in this area.
- Syllabus:
This course deals with the impact of Information Technologies on society,
with the nature of computer (information) revolution,
and the advent of an information society.
Informatics in historical perspective.
Computer revolution.
Productivity paradox.
The Internet and WWW.
Digital economy.
Network economy and virtual communities.
Organizational and company structure.
Organizational transformation.
Teleceoomunications and information infrastructure.
Legal aspects of an information society.
Ethical problems.
Riskc of computing technology.
Social impacts.
There is a seminar IV057 Seminar on Information Society accompanying this course for students interested in presenting up-to-date material based on literature on an information society.
CORE012 Information Society
k 2/0 3 kr., jaro
- prof. RNDr. Jiří Zlatuška, CSc.
- Prerequisities:
typ_studia ( BM )
- Goals: The goal of this course is to introduce the nature of wider impacts of Informatics on the society.
- Learning outcomes: At the end of this course students will be able to understand and explain the nature of wider impacts of Informatics on the society; to use information about events characteristic for the impact of the information revolution; to draw parallels with the industrial revolution; to explain and characterize events and processes associated with the formation of information society; to better comprehend the role of the information and communication technologies in the society not only as technical tools, but also as a phenomenon enabling social processes transformation; to understand newly emerging organizational structures both in business and in e-government resulting from intensification of the information processing; to understand the nature of innovative processes associated with informatics and to thing through the consequences of differencec from prevailing older paradigms; to grasp idea of the structure of policies assiciated with information society; to present thoughful analyses of nontechnical impacts of widespread availability and use of services based on information processing; to think through and creatively develop designs of new possible applications; to develop motivation for future theoretical or practical work in this area.
- Syllabus:
This course deals with the impact of Information Technologies on society,
with the nature of computer (information) revolution,
and the advent of an information society.
Informatics in historical perspective.
Computer revolution.
Productivity paradox.
The Internet and WWW.
Digital economy.
Network economy and virtual communities.
Organizational and company structure.
Organizational transformation.
Teleceoomunications and information infrastructure.
Legal aspects of an information society.
Ethical problems.
Riskc of computing technology.
Social impacts.
There is a seminar IV057 Seminar on Information Society accompanying this course for students interested in presenting up-to-date material based on literature on an information society.
CORE013 Software Development: from an idea to working solution
k 2/0 3 kr., podzim
- doc. Ing. RNDr. Barbora Bühnová, Ph.D.
- Prerequisities:
typ_studia ( BM ) && ! fakulta ( FI )
- Goals: The aim of the course is to introduce the students to the development of software systems, from the development team composition, through the understanding of various aspects accompanying software development, to the operation and successful usage of the system.
- Learning outcomes:
At the end of the course, the student will be able to:
- understand the role of software systems in the today's digital age;
- name the main positions and activities accompanying the development process of software systems;
- understand the principles of software quality and approaches to ensure the quality;
- explain the key trends in tech, the opportunities and risks connected to them. - Syllabus:
Software products and services, software ecosystems, mobile applications.
Job positions contributing to the development and operation of software systems, software team composition.
Principles and processes of software development, agile development.
Algorithmic mindset and thinking.
Data management, data processing, data storage, user data-trace.
Quality of software systems and its assurance (prevention, detection, correction of software-quality issues).
Key quality attributes of software systems (reliability, performance, security, usability).
Deployment of software systems into operation, continuous evolution of software solutions.
Trends and future of information technologies, opportunities, and risks.
Cross-fertilization of software engineering with other disciplines.
CORE024 Ethics and Information Technology
k 2/0 3 kr., jaro
- Mgr. Tomáš Foltýnek, Ph.D.
- Prerequisities:
typ_studia ( BM )
- Goals: To acquaint students with ethical problems associated with information technology, ethical dilemmas, and ways to solve them. The course deals with ethical issues related to the collection, storage, processing, and presentation of data and information, algorithms to support decision-making, and their social overlap.
- Learning outcomes: The ability to identify problems related to information technology ethics and the ability to analyze these problems in a structured way. The ability to solve moral dilemmas related to information technology, including a thorough argumentation of the chosen solution. The ability to debate moral dilemmas, understand opponents' opinions, and be able to accept them, or deal with them in an argument.
- Syllabus:
1. Introduction to ethics, basic concepts: Ethics, morality, values, virtues. Moral dilemma, Discussion of moral dilemmas: Debate and dialogue
2. Ethical data handling: How to produce and collect data ethically? Who owns the data? Surveillance capitalism
3. Ethical aspects of social media and news servers: Positive and negative content and its attractiveness, Pay-per-click and social responsibility
4. ChatGPT: How does it disrupt education? And how to use it ethically?
5. Media manipulation and misinformation on the Internet: Consequences of poor quality, misleading and hateful content on the Internet, How can information technology prevent or limit the spread of misinformation?
6. Information filtering and censorship: When can information filtering be considered ethical? New Great Wall of China, The right to be forgotten in the EU
7. Bias in algorithms: Ethical aspects of data transformation into information and knowledge, Ethical aspects of data presentation
8. Ethical hacking: Hackers' mind, when is hacking ethical, Bug bounty programs
9. Internet and copyright: "Remix" culture, Public domain and Creative Commons licence, Plagiarism issues
10. Information technologies for prevention and detection of unethical behaviour: Plagiarism detection, Proctoring systems, AI-generated text detection
11. Ethics of artificial intelligence: Ethics by design, ethics in design, ethics for design. Laws of robotics
12. Professional ethics in IT: What does "being a good IT professional" mean? Ethical issues in IT design and development
CORE057 Human and Digital Technologies
k 2/0 3 kr., podzim
- prof. PhDr. David Šmahel, Ph.D. - Mgr. Michaela Šaradín Lebedíková, Ph.D. - Mgr. Adéla Švestková
- Prerequisities:
typ_studia ( BM ) && ! fakulta ( FI )
CORE067 Roboethics: from RUR to Artificial Intelligence
k 2/0 3 kr., podzim
- PhDr. David Černý, Ph.D.
- Prerequisities:
typ_studia ( BM )
This course has no prerequisites. - Goals: This course aims to introduce students to the fundamentals of AI ethics. Artificial intelligence is increasingly a part of our lives and affects us and society as a whole. The use of AI comes with various benefits but, unfortunately, also increasingly serious risks. Therefore, students must be familiar with the challenges of AI and aware of the threats associated with it. One of the course aims is to contribute to students' algorithmic literacy.
- Learning outcomes: Upon completion of the course, the student will be able to: - describe the basic types of artificial intelligence and robots - understand the basics of artificial intelligence and compare it with human intelligence - critically use basic tools of ethical analysis - define existential risks and apply them to the development and use of artificial intelligence - describe the risks associated with general artificial intelligence and superintelligence and realistically assess them - describe the benefits and risks of using artificial intelligence - apply ethical analysis to all relevant application areas of artificial intelligence - identify cognitive biases and their reinforcement by artificial intelligence - develop critical tools associated with algorithmic literacy - understand the basic problems of the philosophy of AI (ontology, epistemology, etc.) - use the tools of human rights theory and apply them to the different areas of human existence and coexistence with machines
- Syllabus:
1. Basic concepts (intelligence, artificial, human, types of artificial intelligence)
2. Superintelligence and existential risks
3. Basic ethical concepts and theories
4. Ethics of autonomous vehicles
5. Ethics of military robots
6. Ethics of social robots and sexbots
7. Critical thinking in the era of artificial intelligence
8. Algorithmic literacy
9. Philosophy of artificial intelligence (personal identity, uploads, cyborgs)
10. AI in a broader context (climate change, political philosophy)
11. Human rights, machine rights
12. Creativity, art and artificial intelligence
CORE147 Digital data in Social Sciences and Humanities
k 2/0 2 kr., podzim
- RNDr. Zuzana Nevěřilová, Ph.D. - Mgr. Hana Žižková, Ph.D.
- Prerequisities:
TYP_STUDIA ( BM ) && ! fakulta ( FI )
- Goals: The aim of the course is to introduce students to the world of social sciences and humanities (SSH) through the eyes of a data scientist. The data science approaches we will show in the course can be applied to economics, pedagogy, or law in addition to SSH. The practical goal is to introduce all components of data science applied to SSH: data collection and organization, data annotation, existing data sources, data preprocessing methods, software tools for data inspection, analysis and visualization, and evaluation methods. We will also introduce research infrastructures and digital archives that contribute significantly to the democratization of SSH. The course will review the important topics of SSH from a digital data perspective, show the data processing methods used, introduce software tools, and allow learners to try out the tasks independently.
- Learning outcomes:
Upon completion of the course, the student will be able to:
- understand the issues that SSH addresses: digitization, optical character recognition (OCR, ICR), preservation of cultural heritage; data and metadata, standardization, openness, sharing;
- understand the methods used by SSH: quantitative data description, visualization, data processing software tools, remote storage and remote services, application programming interfaces (APIs) and their use;
- understand the issues of data and metadata collection, processing, organization;
- to work fundamentally with textual data (corpora, word embeddings, language models);
- to work fundamentally with image data (object recognition, 3D imaging) and multimodal data (social link processing);
- list some examples of digital archives and research infrastructures;
- be able to process data from some SSH domain using freely available software tools - Syllabus:
stories of humanities and social sciences
digitization - the journey from paper to computer
tell a computer to tell another computer to do...
humanities scholars and texts
data chores
computers also see (but what? and how?)
Germany and Hitler are like Russia and ...?
there is a story everywhere
show me your infographic
data pipelines
(digital) humanities and project management
infrastructures for humanities and social sciences