FI MU Study Catalogue 2021/2022
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 (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 subject 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.
- Obtain at least two credits from Physical training. See University Sport Centre.
Compulsory subjects 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 |
PB007 |
Software Engineering I |
PB071 |
Principles of low-level programming |
PB151 |
Computer Systems |
PB152 |
Operating Systems |
PB154 |
Database Systems |
PB156 |
Computer Networks |
PV004 |
UNIX |
PV080 |
Information security and cryptography |
VB001 |
English Exam |
SBPrip |
Revisions for Bachelor State Exam |
SOBHA |
Defence of Thesis |
SZB |
State Exam (Bc degree) |
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 2 credits by passing subjects of the following list | |
VB035
|
English I |
VB036
|
English II |
VV064
|
Academic and Professional Skills in English for IT |
Common university background Obtain at least 10 credits by passing subjects of the following list | |
IV123
|
Informatics-Driven Future |
VB000
|
Elements of Style |
VB000Eng
|
Introduction to Academic Writing |
PB029
|
Electronic Document Preparation |
VB003
|
Economic Style of Thinking I |
VB004
|
Economic Style of Thinking II |
VB005
|
Panorama of Physics I |
VB006
|
Panorama of Physics II |
VB007
|
Philosophy of Science I |
VB008
|
Philosophy of Science II |
VB010
|
Philosophy of Language and Its Problems I |
VB011
|
Philosophy of Language and Its Problems II |
VB023
|
Folk Music |
VB041
|
The Principles of Legal Reasoning |
VB042
|
Intellectual Property |
VV014
|
Religionistics |
VV015
|
Political Science |
VV018
|
Topics in Religionistics |
VV019
|
Selected chapters in politology |
VV024
|
Interpretation of Texts |
VV026
|
Creative Writing Workshop |
VV027
|
Postmodern culture |
VV028
|
Psychology in Informatics |
VV030
|
Philosophy and Theories of the Mind |
VV031
|
Basics of Fine Art I |
VV032
|
Introduction to History of Fine Art II |
VV040
|
Theater Play |
VV063
|
Computers and Ergonomy |
VV065
|
Selected chapters in the Theory of Mind |
VV066
|
Keep up your English |
VV076
|
Ethics and Information Technology |
VV077
|
Business English for career in IT |
CORE*
|
Courses with prefix CORE |
Study option: Single-field study of Informatics
Compulsory subjects and other obligations of the study option
Pass all obligatory courses of the program. | |
IB107 |
Computability and Complexity |
---|---|
IB031 |
Introduction to Machine Learning |
PB016 |
Artificial Intelligence I |
Programming Pass at least 1 course of the following list | |
PB161
|
C++ Programming |
PB162
|
Java |
PV178
|
Introduction to Development in C#/.NET |
Fulfil the conditions of at least one focus group. |
Focus groups
Informatics with no focus
This choice is recommended to students who intend to stay without any focus in their Bachelors' degree study.
PV065 |
UNIX -- Programming and System Management I |
---|---|
MV008 |
Algebra I |
PB009 |
Principles of Computer Graphics |
PV003 |
Relational Database System Architecture |
IB109 |
Design and Implementation of Parallel Systems |
PV028 |
Applied Information Systems |
PV005 |
Computer Network Services |
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 |
Modern Markup Languages and Their Applications |
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 |
PV131 |
Digital Image Processing |
Choice in visual informatics Obtain at least 2 credits by passing subjects 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 |
PV272 |
3D Modelling |
PV066 |
Typography I |
PV131 |
Digital Image 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 |
Math Informatics
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.
MV008 |
Algebra I |
---|---|
IV109 |
Modeling and Simulation |
IV119 |
Seminar on Discrete Mathematical Methods |
MA010 |
Graph Theory |
MA018 |
Numerical Methods |
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 Computational Linguistics |
IB047 |
Introduction to Corpus Linguistics and Computer Lexicography |
PB095 |
Introduction to Speech Processing |
PB106 |
Corpus Linguistic Project I |
PV173 |
Natural Language Processing Seminar |
Extended math education
When selecting this option, the obligation of courses with prefix MB 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:MIN101 |
Mathematics I |
---|---|
PřF:M1VM01 |
Algorithmization and numerical computations |
PřF:MIN201 |
Mathematics II |
PřF:MIN202 |
Numerical calculations |
PřF:MIN301 |
Mathematics III |
PřF:MIN401 |
Mathematics IV |
PřF:M3121 |
Probability and Statistics I |
PřF:M4122 |
Probability and Statistics II |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
Spring 2023 (4. term)
Fall 2023 (5. term)
Study option: Major
Compulsory subjects 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 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
Spring 2023 (4. term)
Fall 2023 (5. term)
Study option: Minor
Compulsory subjects and other obligations of the study option
IB000 |
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 |
PB007 |
Software Engineering I |
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 2022 (3. term)
Spring 2023 (4. term)
Fall 2023 (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 subject 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.
- Obtain at least two credits from Physical training. See University Sport Centre.
Compulsory subjects 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 |
PB071 |
Principles of low-level programming |
PB138 |
Modern Markup Languages and Their Applications |
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 |
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 |
PV004 |
UNIX |
VB000 |
Elements of Style |
VB001 |
English Exam |
SBPrip |
Revisions for Bachelor State Exam |
SB100 |
Bachelor Internship - Programming and Development |
SOBHA |
Defence of Thesis |
SZB |
State Exam (Bc degree) |
Programming 1 Pass at least 1 course of the following list | |
PB161
|
C++ Programming |
PB162
|
Java |
Programming 2 Pass at least 1 course of the following list | |
PB173
|
Domain specific development |
PV168
|
Seminar in Java programming |
PV178
|
Introduction to Development in C#/.NET |
PV256
|
Introduction to Development for Android |
English Obtain at least 2 credits by passing subjects of the following list | |
VB035
|
English I |
VB036
|
English II |
VV064
|
Academic and Professional Skills in English for IT |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
Spring 2023 (4. term)
Fall 2023 (5. term)
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 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 subject 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.
Study option: Minor
Compulsory subjects and other obligations of the study option
IB000 |
Mathematical Foundations of Computer Science |
---|---|
IB110 |
Introduction to Informatics |
IB113 |
Introduction to Programming and Algorithms |
IB114 |
Introduction to Programming and Algorithms II |
PB151 |
Computer Systems |
PB153 |
Operating Systems and their Interfaces |
PB156 |
Computer Networks |
PV157 |
Authentication and Access Control |
PB007 |
Software Engineering I |
PB168 |
Introduction to DB and IS |
UB001 |
Assesment of teaching in Informatics |
SBPrip |
Revisions for Bachelor State Exam |
Programming Pass at least 1 course of the following list | |
PB161
|
C++ Programming |
PB162
|
Java |
PB071
|
Principles of low-level programming |
Application development Pass at least 1 course of the following list | |
PB069
|
Desktop Application Development in C#/.NET |
PB138
|
Modern Markup Languages and Their Applications |
PV239
|
Mobile Application Development |
Collect at least 70 credits from courses tought at FI with prefixes IB, IB, PB, or PV. |
Recommended course of study
Spring 2022 (2. term)
Fall 2022 (3. term)
Spring 2023 (4. term)
-
IB110
Introduction to Informatics - Choice: Any course from Programming section
Fall 2023 (5. 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 subject 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.
- Obtain at least two credits from Physical training. See University Sport Centre.
Compulsory subjects of the program
MB141 |
Linear algebra and discrete mathematics |
---|---|
IB000 |
Mathematical Foundations of Computer Science |
IB110 |
Introduction to Informatics |
IB113 |
Introduction to Programming and Algorithms |
IB114 |
Introduction to Programming and Algorithms II |
PB007 |
Software Engineering I |
PB071 |
Principles of low-level programming |
PB151 |
Computer Systems |
PB152 |
Operating Systems |
PB152cv |
Operating Systems - practicals |
PB156 |
Computer Networks |
PB156cv |
Computer Networks - practicals |
PB168 |
Introduction to DB and IS |
PV004 |
UNIX |
PV028 |
Applied Information Systems |
PV080 |
Information security and cryptography |
IV130 |
Pros and Cons of Intelligent Systems |
PV157 |
Authentication and Access Control |
PV175 |
MS Windows Systems Management I |
PV276 |
Seminar on Simulation of Cyber Attacks |
Programming Pass at least 1 course of the following list | |
PB161
|
C++ Programming |
PB162
|
Java |
Cybersecurity Pass at least 1 course of the following list | |
PV017
|
Information Technology Security |
PV210
|
Cybersecurity in an Organization |
PrF:BI201K |
ICT Law I |
PrF:BVV03K |
Cybercriminality |
FSS:BSSb1101 |
Introduction into Security and Strategic Studies |
FSS:BSSb1103 |
Security Policy of the Czech Republic |
FSS:BSSb1152 |
Cyber Warfare |
SB200 |
Bachelor Internship - Cybersecurity |
VB000 |
Elements of Style |
English Obtain at least 2 credits by passing subjects of the following list | |
VB035
|
English I |
VB036
|
English II |
VV064
|
Academic and Professional Skills in English for IT |
VB001 |
English Exam |
SBPrip |
Revisions for Bachelor State Exam |
SOBHA |
Defence of Thesis |
SZB |
State Exam (Bc degree) |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
-
Prf:BI201K
-
FSS:BSSb1152
Cyber Warfare -
PB007
Software Engineering I -
PV028
Applied Information Systems -
PV175
MS Windows Systems Management I -
VB001
English Exam
Spring 2023 (4. term)
Fall 2023 (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 subject 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.
- Fulfil requirements of at least one specialization.
Compulsory subjects of the program
IA006 |
Selected topics on automata theory |
---|---|
IA008 |
Computational Logic |
IA011 |
Programming Language Semantics |
IA012 |
Complexity |
IV003 |
Algorithms and Data Structures II |
IV111 |
Probability in Computer Science |
MA007 |
Mathematical Logic |
PV021 |
Neural Networks |
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 subjects of the specialization
IA168 |
Algorithmic game theory |
---|---|
MA010 |
Graph Theory |
PV027 |
Optimization |
MA009 |
Algebra II |
Advanced mathematics Pass at least 1 course of the following list | |
IA062
|
Randomized Algorithms and Computations |
PřF:M8190
|
Number Theoretic Algorithms |
MA017
|
Geometric Algorithms |
MA015
|
Graph Algorithms |
Choice of Seminar Obtain at least 4 credits by passing subjects 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 |
IA174 |
Fundaments of Cryptography |
IA101 |
Algorithmics for Hard Problems |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects 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 |
PV275 |
Introduction to Quantum Computer Programming |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects of the specialization
IA023 |
Petri Nets |
---|---|
IA159 |
Formal Verification Methods |
IA168 |
Algorithmic game theory |
IA169 |
System Verification and Assurance |
IV120 |
Continuous and Hybrid Systems |
PV260 |
Software Quality |
Choice of Seminar Obtain at least 4 credits by passing subjects 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 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects 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 |
IA158 |
Real Time Systems |
IA174 |
Fundaments of Cryptography |
IV010 |
Communication and Parallelism |
PA008 |
Compiler Construction |
PA037 |
Compiler Project |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subject 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.
- Fulfil requirements of at least one specialization.
Compulsory subjects of the program
MA012 |
Statistics II |
---|---|
IV126 |
Artificial Intelligence II |
PA039 |
Supercomputer Architecture and Intensive Computations |
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: 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 subjects of the specialization
IV106 |
Bioinformatics seminar |
---|---|
IV108 |
Bioinformatics II |
IV110 |
Bioinformatics project I |
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 |
PV027 |
Optimization |
PV225 |
Laboratory of Systems Biology |
Applications Pass at least 1 course of the following list | |
PV269
|
Advanced methods in bioinformatics |
PV270
|
Biocomputing |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
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 subjects of the specialization
IV111 |
Probability in Computer Science |
---|---|
IA008 |
Computational Logic |
PA163 |
Constraint programming |
PA153 |
Natural Language Processing |
PA228 |
Machine Learning in Image Processing |
Applications of Machine Learning Pass at least 1 course of the following list | |
PA167
|
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 subjects of the following list | |
PA026
|
Artificial Intelligence Project |
PV115
|
Laboratory of Knowledge Discovery |
IV127
|
Adaptive Learning Seminar |
IV125
|
Formela lab seminar |
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 |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
Specialization: Data Management and Analysis
Data Management and Analysis 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 subjects of the specialization
PA017 |
Software Engineering II |
---|---|
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 |
PV065 |
UNIX -- Programming and System Management I |
PV079 |
Applied Cryptography |
Projects and Laboratory Obtain at least 4 credits by passing subjects of the following list | |
PV253
|
Seminar of DISA Laboratory |
PV115
|
Laboratory of Knowledge Discovery |
PV229
|
Multimedia Similarity Searching in Practice |
PA026
|
Artificial Intelligence Project |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects of the specialization
IA161 |
Practical Techniques of Natural Language Processing |
---|---|
IV111 |
Probability in Computer Science |
PA153 |
Natural Language Processing |
PA154 |
Language Modeling |
PA156 |
Dialogue Systems |
Math Pass at least 2 courses of the following list | |
MA007
|
Mathematical Logic |
IA008
|
Computational 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 subjects 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 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
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, visualization, 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, visualization 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 subject 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.
- Fulfil requirements of at least one specialization.
Compulsory subjects 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 Visualization
Computer Graphics and Visualization specialization offers a set of courses about basic principles, as well as the latest achievements in computer graphics and data visualization. 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 visualization design of complex multidimensional datasets. In seminars and projects, students will enrich this knowledge by implementational tasks on selected topics.
Compulsory subjects 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 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects of the specialization
MA017 |
Geometric Algorithms |
---|---|
PA093 |
Computational Geometry Project |
PA166 |
Advanced Methods of Digital Image Processing |
PA170 |
Digital Geometry |
PA171 |
Digital Image Filtering |
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 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects of the specialization
PA213 |
Advanced Computer Graphics |
---|---|
PA199 |
Advanced Game Development |
PA215 |
Game Design I |
PA216 |
Game Design II |
PA217 |
Artificial Intelligence for Computer Games |
SA300 |
Internship - Computer Games |
PV227 |
GPU Rendering |
PV255 |
Game Development I |
PV266 |
Game Development II |
VV036 |
3D Character Modeling |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects 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 Obtain at least 9 credits by passing subjects of the following list | |
PV156
|
Digital Photography |
VV067
|
Concept and Intermedia |
VV034
|
Photography - artificial effects |
VV050
|
Motion Design |
PV110
|
Basics of Film Narratives |
PV101
|
Type Design III |
PV251
|
Visualization |
PV097
|
Visual Creativity Informatics |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
follow-up master's program (Czech) with specializations
The study program Computer Systems, Communications and Security aims to lead its graduate to an 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 chose 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. Graduate in the specialization Software Systems will be ready to take various roles 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. Graduate on the specialization Computer Networks and Communications will be able to work as an architect of large networks, manage network operations and related projects, or to work as an expert in applications or security of computer networks.
Requirements for successful graduation
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR subject 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.
- Fulfil requirements of at least one specialization.
Compulsory subjects of the program
IA174 |
Fundaments of Cryptography |
---|---|
MV013 |
Statistics for Computer Science |
PA191 |
Advanced Computer Networking |
PV079 |
Applied Cryptography |
PV260 |
Software Quality |
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 |
Theory of Informatics Pass at least 1 course of the following list | |
IA008
|
Computational Logic |
IA101
|
Algorithmics for Hard Problems |
IA169
|
System Verification and Assurance |
IV054
|
Coding, Cryptography and Cryptographic Protocols |
Hardware Systems Pass at least 2 courses of the following list | |
IA158
|
Real Time Systems |
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
|
Project from Designing Digital Systems |
PV193
|
Accelerating Algorithms at Circuit Level |
PV194
|
External Environments of Digital Systems |
PV198
|
Onechip Controllers |
PV200
|
Introduction to hardware description languages |
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 subjects of the specialization
IA158 |
Real Time Systems |
---|---|
PB170 |
Seminar on Digital System Design |
PB171 |
Seminar on Digital System Architecture |
PA175 |
Digital Systems Diagnostics II |
PA176 |
Architecture of Digital Systems II |
PA190 |
Digital Signal Processing |
PV191 |
Project from Designing Digital Systems |
PV198 |
Onechip Controllers |
PV200 |
Introduction to hardware description languages |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects of the specialization
IV003 |
Algorithms and Data Structures II |
---|---|
PA017 |
Software Engineering II |
PA039 |
Supercomputer Architecture and Intensive Computations |
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 |
Programming Obtain at least 3 credits by passing subjects of the following list | |
PV179
|
System Development in C#/.NET |
PV248
|
Python Seminar |
PV249
|
Development in Ruby |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects of the specialization
PV181 |
Laboratory of security and applied cryptography |
---|---|
PV204 |
Security Technologies |
PA197 |
Secure Network Design |
PA193 |
Secure coding principles and practices |
PA018 |
Advanced Topics in Information Technology Security |
PA168 |
Postgraduate seminar on IT security and cryptography |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
Specialization: Networks and Communication
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 subjects of the specialization
PA039 |
Supercomputer Architecture and Intensive Computations |
---|---|
PA053 |
Distributed Systems and Middleware |
PA151 |
Advanced Computer 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 |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 leading projects of bachelor students at the faculty. Given that the degree program is accredited in a professional profile and the content of the curriculum does not include the full scope of compulsory practice, it is assumed that the student enters the degree program in a situation where he completed part of compulsory practice at the bachelor's degree. If this is not the case, he/she is obliged to complete this part of the compulsory practice beyond the scope of the study plan.
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 subject 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.
- Fulfil requirements of at least one specialization.
- Fulfil the condition of 18 weeks (in total) of supervised professional internship (at least 12 weeks need to be realized within this master study, while up to 6 weeks of internships can be included from the previous bachelor study).
Compulsory subjects of the program
PA017 |
Software Engineering II |
---|---|
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) |
SA200 |
Internship - Software Engineering |
Programing Obtain at least 12 credits by passing subjects of the following list | |
PA165
|
Enterprise Applications in Java |
PV179
|
System Development in C#/.NET |
PV168
|
Seminar in Java programming |
PV178
|
Introduction to Development in C#/.NET |
PV264
|
Advanced 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 |
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 subjects 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 18 credits by passing subjects of the following list | |
PA165
|
Enterprise Applications in Java |
PV179
|
System Development in C#/.NET |
PV168
|
Seminar in Java programming |
PV178
|
Introduction to Development in C#/.NET |
PV264
|
Advanced 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 |
Data Analysis Pass at least 1 course of the following list | |
PA220
|
Database systems for data analytics |
PV212
|
Readings in Digital Typography, Scientific Visualization, Information Retrieval and Machine Learning |
Design and Analysis Pass at least 1 course of the following list | |
PV167
|
Seminar on Design and Architecture Patterns |
PV258
|
Software Requirements Engineering |
Information Security Pass at least 1 course of the following list | |
PA193
|
Secure coding principles and practices |
PV276
|
Seminar on Simulation of Cyber Attacks |
PV017
|
Information Technology Security |
User Interfaces Pass at least 1 course of the following list | |
PV247
|
Modern Development of User Interfaces |
PV278
|
Development of Intuitive User Interfaces |
PV182
|
Human-Computer Interaction |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects 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
|
Advanced Topics of Cyber Security |
PV276
|
Seminar on Simulation of Cyber Attacks |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subject 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.
- Fulfil requirements of at least one specialization.
Compulsory subjects of the program
PA017 |
Software Engineering II |
---|---|
PV206 |
Communication and Soft Skills |
PV079 |
Applied Cryptography |
MV013 |
Statistics for Computer Science |
PA152 |
Efficient Use of Database Systems |
PA179 |
Project Management |
SOBHA |
Defence of Thesis |
SZMGR |
State Exam (MSc degree) |
Internship Obtain at least 16 credits by passing subjects of the following list | |
SA100
|
Internship - Management |
SA101
|
Internship - Management 1/2 |
SA102
|
Internship - Management 2/2 |
Management Pass at least 1 course of the following list | |
PA182
|
Managing in Reality |
PV214
|
IT Service Management based on ITIL |
PV215
|
Management by Competencies |
PV237
|
Strategy and Leadership |
PV271
|
Risk Management in IT |
PV203
|
IT Services Management |
PV274
|
Data Quality Management Seminar |
Specialization: Software Systems Development and Management
Software Systems Development and Managment specialization focuses on software engineering, i.e., to acquire the knowledge and skills needed at all stages of development, management and maintenance of information, and other types of large software systems. The specialization emphasizes the ability to analyse and specify system requirements, system design, and implementation and deployment.
Compulsory subjects of the specialization
IA169 |
System Verification and Assurance |
---|---|
PA053 |
Distributed Systems and Middleware |
PA103 |
Object-oriented Methods for Design of Information Systems |
PA165 |
Enterprise Applications in Java |
PA197 |
Secure Network Design |
PV028 |
Applied Information Systems |
Programming Pass at least 1 course of the following list | |
PA036
|
Database System Project |
PV179
|
System Development in C#/.NET |
PV229
|
Multimedia Similarity Searching in Practice |
PV247
|
Modern Development of User Interfaces |
PV248
|
Python Seminar |
PV249
|
Development in Ruby |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
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 subjects of the specialization
PA116 |
Domain Understanding and Modeling |
---|---|
PA194 |
Introduction to Service Science |
PA181 |
Services - Systems, Modeling and Execution |
PV207 |
Business Process Management |
Computer networks Pass at least 1 course of the following list | |
PA151
|
Advanced Computer Networks |
PA159
|
Net-Centric Computing I |
PA191
|
Advanced Computer Networking |
PA211
|
Advanced Topics of Cyber Security |
PV210
|
Cybersecurity in an Organization |
PV177
|
Laboratory of Advanced Network Technologies |
Economy Pass at least 1 course of the following list | |
PV028
|
Applied Information Systems |
PV241
|
Enterprise and Financial Management |
Programming Pass at least 1 course of the following list | |
PA036
|
Database System Project |
PA165
|
Enterprise Applications in Java |
PV179
|
System Development in C#/.NET |
PV229
|
Multimedia Similarity Searching in Practice |
PV247
|
Modern Development of User Interfaces |
PV248
|
Python Seminar |
PV249
|
Development in Ruby |
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 |
IV057
|
Seminar on Information Society |
PV263
|
Intercultural Management |
IV064
|
Information Society |
PA212
|
Advanced Search Techniques for Large Scale Data Analytics |
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 2021 (1. term)
Spring 2022 (2. term)
Specialization: Cybersecurity Managment
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 subjects of the specialization
PrF:BVV14K |
Theory and Method of ICT Law |
---|---|
IA174 |
Fundaments of Cryptography |
PrF:BI301K |
ICT Law II |
PA197 |
Secure Network Design |
PV204 |
Security Technologies |
PA018 |
Advanced Topics in Information Technology Security |
PrF:BVV03K |
Cybercriminality |
IV128 |
Online Communication from Social Science Perspective |
Computer networks Pass at least 1 course of the following list | |
PA151
|
Advanced Computer Networks |
PA159
|
Net-Centric Computing I |
PA191
|
Advanced Computer Networking |
PA211
|
Advanced Topics of Cyber Security |
PV210
|
Cybersecurity in an Organization |
PV177
|
Laboratory of Advanced Network Technologies |
Recommended course of study
Fall 2021 (1. term)
-
PA017
Software Engineering II -
PV206
Communication and Soft Skills -
PV079
Applied Cryptography -
PrF:BVV14K
Theory and Method of ICT Law -
IA174
Fundaments of Cryptography - Choice: Any course from Computer networks section
Spring 2022 (2. term)
Fall 2022 (3. term)
Spring 2023 (4. term)
- Choice: Any course from Management section
-
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) 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 subject 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.
Compulsory subjects of the program
PA159 |
Net-Centric Computing I |
---|---|
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 |
VV064 |
Academic and Professional Skills in English for IT |
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:XS170 |
Technology for didactics |
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 subjects and other obligations of the study option
UB001 |
Assesment of teaching in Informatics |
---|---|
UA742 |
Exercises in Practical Education IV |
UA842 |
Exercises in Practical Education V |
PB071 |
Principles of low-level programming |
PB138 |
Modern Markup Languages and Their Applications |
PřF:XS020 |
Inspiratorium for teachers |
PřF:XS050 |
School pedagogy |
PřF:XS060 |
General and alternative 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 2021 (1. term)
-
PA159
Net-Centric Computing I -
PV094
PC Hardware -
PřF:XS080
Special pedagogy -
PřF:XS150
Educational Psychology -
UB001
Assesment of teaching in Informatics -
PřF:XS020
Inspiratorium for teachers -
PřF:XS050
School pedagogy -
PřF:XS093
Educational activity with gifted learners -
PřF:XS170
Technology for didactics -
PřF:XS092
School management
Spring 2022 (2. term)
-
UA104
Didactics for Informatics I -
UA442
Exercises in Practical Education I -
PřF:XS130
Personality psychology -
PřF:XS060
General and alternative didactics -
PřF:XS140
Foundations of Psychology -
PřF:XS090
Initial teacher training -
PřF:XS220
Reflective seminar -
VV064
Academic and Professional Skills in English for IT -
PV004
UNIX
Fall 2022 (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 subjects and other obligations of the study option
PA159 |
Net-Centric Computing I |
---|---|
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 2021 (1. term)
Fall 2022 (3. term)
Follow-up Master's Degree Programs (English)
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, visualization, 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, visualization 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 subject 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.
- Fulfil requirements of at least one specialization.
Compulsory subjects 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 Visualization
Computer Graphics and Visualization specialization offers a set of courses about basic principles, as well as the latest achievements in computer graphics and data visualization. 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 visualization design of complex multidimensional datasets. In seminars and projects, students will enrich this knowledge by implementational tasks on selected topics.
Compulsory subjects 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 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects of the specialization
MA017 |
Geometric Algorithms |
---|---|
PA093 |
Computational Geometry Project |
PA166 |
Advanced Methods of Digital Image Processing |
PA170 |
Digital Geometry |
PA171 |
Digital Image Filtering |
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 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects of the specialization
PA213 |
Advanced Computer Graphics |
---|---|
PA199 |
Advanced Game Development |
PA215 |
Game Design I |
PA216 |
Game Design II |
PA217 |
Artificial Intelligence for Computer Games |
SA300 |
Internship - Computer Games |
PV227 |
GPU Rendering |
PV255 |
Game Development I |
PV266 |
Game Development II |
VV036 |
3D Character Modeling |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
follow-up master's program (English) with specializations
The study program Computer Systems, Communications and Security aims to lead its graduate to an 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 chose 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. Graduate in the specialization Software Systems will be ready to take various roles 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. Graduate on the specialization Computer Networks and Communications will be able to work as an architect of large networks, manage network operations and related projects, or to work as an expert in applications or security of computer networks.
Requirements for successful graduation
- Obtain at least 120 credits overall and pass the final state exam.
- Obtain 20 credits from SDIPR subject 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.
- Fulfil requirements of at least one specialization.
Compulsory subjects of the program
IA174 |
Fundaments of Cryptography |
---|---|
MV013 |
Statistics for Computer Science |
PA191 |
Advanced Computer Networking |
PV079 |
Applied Cryptography |
PV260 |
Software Quality |
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 |
Theory of Informatics Pass at least 1 course of the following list | |
IA008
|
Computational Logic |
IA101
|
Algorithmics for Hard Problems |
IA169
|
System Verification and Assurance |
IV054
|
Coding, Cryptography and Cryptographic Protocols |
Hardware Systems Pass at least 2 courses of the following list | |
IA158
|
Real Time Systems |
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
|
Project from Designing Digital Systems |
PV193
|
Accelerating Algorithms at Circuit Level |
PV194
|
External Environments of Digital Systems |
PV198
|
Onechip Controllers |
PV200
|
Introduction to hardware description languages |
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 subjects of the specialization
IA158 |
Real Time Systems |
---|---|
PB170 |
Seminar on Digital System Design |
PB171 |
Seminar on Digital System Architecture |
PA175 |
Digital Systems Diagnostics II |
PA176 |
Architecture of Digital Systems II |
PA190 |
Digital Signal Processing |
PV191 |
Project from Designing Digital Systems |
PV198 |
Onechip Controllers |
PV200 |
Introduction to hardware description languages |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects of the specialization
IV003 |
Algorithms and Data Structures II |
---|---|
PA017 |
Software Engineering II |
PA039 |
Supercomputer Architecture and Intensive Computations |
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 |
Programming Obtain at least 3 credits by passing subjects of the following list | |
PV179
|
System Development in C#/.NET |
PV248
|
Python Seminar |
PV249
|
Development in Ruby |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (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 subjects of the specialization
PV181 |
Laboratory of security and applied cryptography |
---|---|
PV204 |
Security Technologies |
PA197 |
Secure Network Design |
PA193 |
Secure coding principles and practices |
PA018 |
Advanced Topics in Information Technology Security |
PA168 |
Postgraduate seminar on IT security and cryptography |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
follow-up master's program (English) with specializations
- English
- doc. 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 subject 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.
- Fulfil requirements of at least one specialization.
Compulsory subjects of the program
PA017 |
Software Engineering II |
---|---|
PV206 |
Communication and Soft Skills |
PV079 |
Applied Cryptography |
MV013 |
Statistics for Computer Science |
PA152 |
Efficient Use of Database Systems |
PA179 |
Project Management |
SOBHA |
Defence of Thesis |
SZMGR |
State Exam (MSc degree) |
Internship Obtain at least 16 credits by passing subjects of the following list | |
SA100
|
Internship - Management |
SA101
|
Internship - Management 1/2 |
SA102
|
Internship - Management 2/2 |
Management Pass at least 1 course of the following list | |
PA182
|
Managing in Reality |
PV214
|
IT Service Management based on ITIL |
PV215
|
Management by Competencies |
PV237
|
Strategy and Leadership |
PV271
|
Risk Management in IT |
PV203
|
IT Services Management |
PV274
|
Data Quality Management Seminar |
Specialization: Software Systems Development and Management
Software Systems Development and Managment specialization focuses on software engineering, i.e., to acquire the knowledge and skills needed at all stages of development, management and maintenance of information, and other types of large software systems. The specialization emphasizes the ability to analyse and specify system requirements, system design, and implementation and deployment.
Compulsory subjects of the specialization
IA169 |
System Verification and Assurance |
---|---|
PA053 |
Distributed Systems and Middleware |
PA103 |
Object-oriented Methods for Design of Information Systems |
PA165 |
Enterprise Applications in Java |
PA197 |
Secure Network Design |
PV028 |
Applied Information Systems |
Programming Pass at least 1 course of the following list | |
PA036
|
Database System Project |
PV179
|
System Development in C#/.NET |
PV229
|
Multimedia Similarity Searching in Practice |
PV247
|
Modern Development of User Interfaces |
PV248
|
Python Seminar |
PV249
|
Development in Ruby |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
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 subjects of the specialization
PA116 |
Domain Understanding and Modeling |
---|---|
PA194 |
Introduction to Service Science |
PA181 |
Services - Systems, Modeling and Execution |
PV207 |
Business Process Management |
Computer networks Pass at least 1 course of the following list | |
PA151
|
Advanced Computer Networks |
PA159
|
Net-Centric Computing I |
PA191
|
Advanced Computer Networking |
PA211
|
Advanced Topics of Cyber Security |
PV210
|
Cybersecurity in an Organization |
PV177
|
Laboratory of Advanced Network Technologies |
Economy Pass at least 1 course of the following list | |
PV028
|
Applied Information Systems |
PV241
|
Enterprise and Financial Management |
Programming Pass at least 1 course of the following list | |
PA036
|
Database System Project |
PA165
|
Enterprise Applications in Java |
PV179
|
System Development in C#/.NET |
PV229
|
Multimedia Similarity Searching in Practice |
PV247
|
Modern Development of User Interfaces |
PV248
|
Python Seminar |
PV249
|
Development in Ruby |
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 |
IV057
|
Seminar on Information Society |
PV263
|
Intercultural Management |
IV064
|
Information Society |
PA212
|
Advanced Search Techniques for Large Scale Data Analytics |
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 2021 (1. term)
Spring 2022 (2. term)
Specialization: Cybersecurity Managment
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 subjects of the specialization
BVV14Keng |
Theory of Cyber-Law |
---|---|
IA174 |
Fundaments of Cryptography |
PrF:MVV60K |
Cybersecurity Law |
PA197 |
Secure Network Design |
PV204 |
Security Technologies |
PA018 |
Advanced Topics in Information Technology Security |
PrF:SOC022 |
European Cyberlaw |
IV128 |
Online Communication from Social Science Perspective |
Computer networks Pass at least 1 course of the following list | |
PA151
|
Advanced Computer Networks |
PA159
|
Net-Centric Computing I |
PA191
|
Advanced Computer Networking |
PA211
|
Advanced Topics of Cyber Security |
PV210
|
Cybersecurity in an Organization |
PV177
|
Laboratory of Advanced Network Technologies |
Recommended course of study
Fall 2021 (1. term)
Spring 2022 (2. term)
Fall 2022 (3. term)
Spring 2023 (4. term)
- Choice: Any course from Management section
-
PrF:MVV60K
Cybersecurity Law -
IV128
Online Communication from Social Science Perspective -
SDIPR
Diploma Thesis -
SOBHA
Defence of Thesis -
SZMGR
State Exam (MSc degree)
List of courses open at FI (2021/2022)
This list has been built on 10. 12. 2021. 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
- doc. RNDr. Martin Čadek, CSc.
- Prerequisities:
! NOW ( MB151 ) && ( ! MB151 || ! MB154 ) && ( ! MB101 || ! MB104 )
- 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. Linear processes. 7. Afinne geometry. 8. Scalar product. 9. Eukleidian geometry. 10. Elementry number theory. 11. Congruences. 12. Application in kryptography.
MB142 Applied math analysis
zk 2/2 3 kr., podzim
- doc. RNDr. Michal Veselý, Ph.D.
- Prerequisities:
! MB152 && ! NOW ( MB152 ) && ! MB102 && ! MB202
High school mathematics - Goals: This is a basic course of mathematical analysis. The content is differential and integral calculus and infinite series. Students will understand practical methods and will be able to apply these methods to concrete problems. The course places more emphasis on examples.
- Learning outcomes:
At the end of the course students will be able to:
work practically 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
- Mgr. Andrea Kraus, M.Sc., Ph.D.
- Prerequisities:
MB141 || MB142 || MB101 || MB201 || MB102 || MB202
- 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:
! MB101 && ! MB201
- 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. Mgr. Petr Hasil, Ph.D.
- Prerequisities:
( ! MB202 && ! MB102 )
High school mathematics - 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. The emphasis on theory and examples is balanced in the course.
- 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 || MB101 || MB201 || MB152 || MB102 || MB202 ) && ( ! MB103 && ! MB203 && ! MV011 )
Prerequisites: calculus in one and several variables, basics of linear algebra. - 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 coeficient 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.
Basics of testing hypothesis. Testing hypothesis in R language.
Regression analysis in R language.
MB154 Discrete mathematics
zk 2/2 3 kr., podzim
- prof. RNDr. Jan Slovák, DrSc. - doc. Lukáš Vokřínek, PhD.
- Prerequisities:
! MB104 && ! MB204 && ( MB101 || MB201 || MB151 || MB102 || MB202 || MB152 )
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).
MA002 Calculus
zk 2/2 3 kr., podzim
- Mgr. Peter Šepitka, Ph.D.
- Prerequisities: Basic knowledge from the calculus and multivariable calculus
- Goals: This course extends the basic knowledge from mathematical analysis. It is devoted to the basic study of systems of linear differential equations, line integrals, the theory of complex functions of complex variable, and calculus of variations.
- Learning outcomes: At the end of the course students should be able to: to define and interpret the basic notions used in the fields mentioned above; to formulate relevant mathematical theorems and statements and to explain methods of their proofs; to use effective techniques utilized in these subject areas; to apply acquired pieces of knowledge for the solution of specific problems; to analyse selected problems from the topics of the course.
- Syllabus:
Systems of linear differential equations.
Line integral.
Analysis in complex domain.
Calculus of variations.
MA007 Mathematical Logic
zk 2/1 4 kr., podzim
- prof. RNDr. Antonín Kučera, Ph.D.
- Prerequisities:
MB005 || MB101 || MB201 || PřF:M1120 || PřF:M1125
Students should have passed the course MB005 Foundations of mathematics or the course MB101 Mathematics I. A recommended course is MB008 Algebra I. - 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.
MA009 Algebra II
zk 2/2 3 kr., jaro
- doc. Mgr. Michal Kunc, Ph.D.
- Prerequisities:
( MB008 || MV008 || program ( N - IN )|| program ( N - AP )|| program ( N - SS ))
- Goals: The aim of the course is to become acquainted with basic notions of universal algebra employed in computer science, namely lattice-ordered sets and equational logic.
- Learning outcomes: After passing the course, students will be able to: use the basic notions of the theory of lattices and universal algebra; define and understand basic properties of lattices and complete lattices; verify simple algebraic statements; apply theoretical results to algorithmic calculations with operations and terms.
- Syllabus:
Lattice theory: semilattices, lattices, lattice homomorphisms, modular and distributive lattices, Boolean algebras, complete lattices, fixed point theorems, closure operators, completion of partially ordered sets, Galois connections, algebraic lattices.
Universal algebra: algebras, subalgebras, homomorphisms, term algebras, congruences, quotient algebras, direct products, subdirect products, identities, varieties, free algebras, presentations, Birkhoff's theorem, completeness theorem for equational logic, algebraic specifications, rewriting systems.
MA010 Graph Theory
zk 2/1 3 kr., podzim
- prof. RNDr. Daniel Kráľ, Ph.D., DSc.
- 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, connected components, directed graphs.
Trees and the Minimum Spanning Tree problem.
Vertex and edge connectivity.
Planar graphs, duality of planar graphs, Euler's formula and its applications.
Graph coloring, its basic properties and variants, including edge-coloring and list coloring.
Matchings in graphs and packing problems.
Computationally hard graph problems.
Selected advanced topics (to be chosen from): Interval graphs, chordal graphs, graph minors, graph embeddings on surfaces, Ramsey theory.
MA012 Statistics II
zk 2/2 3 kr., podzim
- Mgr. Ondřej Pokora, Ph.D.
- Prerequisities: Prerequisites: calculus, basics of linear algebra, probability and statistics (including basic experience with software R) from course MV011 Statistics I.
- Goals: The course introduces students to advanced methods of mathematical statistics -- explains the algorithms, computational procedures, conditions, interpretation of results and practical use of these methods for the analysis of real datasets in statistical software R. After completing the course, the student will understand the principles of advanced statistical methods (analysis of variance, nonparametric tests, goodness-of-fit tests, correlation analysis, principal component analysis, generalized linear models, regression diagnostics, independence testing), will be able to use them in analyzing real datasets and will be able to interpret the 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 the real dataset in the software R;
- interpret the results obtained by the statistical analysis. - Syllabus:
Analysis of variance (ANOVA): one- and two-factor, with interactions.
Nonparametric tests: rank tests.
Goodness-of-fit tests.
Correlation analysis, correlation coefficients, rank correlation coefficients.
Regression diagnostics.
Autocorrelation, multicollinearity.
Principal component Analysis (PCA).
Generalized linear models (GLM): logistic regression and use of ROC curve, some other GLM.
Contingency tables and independence testing.
MA015 Graph Algorithms
zk 2/1 3 kr., podzim
- doc. Mgr. Jan Obdržálek, PhD.
- Prerequisities:
MB005 ||( MB101 && MB102 )||( MB201 && MB102 )||( MB101 && MB202 )||( MB201 && MB202 )||( PřF:M1120 )|| PROGRAM ( N - IN )|| PROGRAM ( N - AP )
Knowledge of basic graph algorithms and datastructures. Specifically, students should already understand the following datastructures and algorithms: Graphs searching: DFS, BFS. Network flows: Ford-Fulkerson. Minimum spanning trees: Boruvka, Jarnik (Prim), Kruskal. Shortest paths: Bellman-Ford, Dijkstra. Datastructures: priority queues, heaps (incl. Fibonacci), disjoint set (union-find) - Goals: The course introduces graph important algorithms beyond the reach of standard algorithms and data structures courses. Covered algorithms span most of the important application areas of graphs algorithms.
- Learning outcomes: At the end of the course students will under know and understand important graph algorithms beyond the reach of standard algorithms and data structures courses. Covered algorithms span most of the important application areas of graphs algorithms. The students also should be able to choose an algorithm best suited for a given task, modifying it when necessary, and estimate its 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 - 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
- Mgr. Jiří Zelinka, Dr.
- 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. Error analysis: absolute and relative error, representation of numbers, error propagation
2. Iterative methods for solving of nonlinear equations: general iterative method, order of the convergence, Newton method and its modifications
3. Direct methods for solving systems of linear equations: methods based on Gaussian elimination, methods for special matrices
4. Iterative methods for solving of systems of linear equations: general construction of iterative methods, Jacobi method, Gauss-Seidel method
5. Solving of systems of nonlinear equations: Newton method
6. Interpolation and approximation: polynomial and piece-wise polynomial interpolation, curve approximations, subdivision schemes, least squares method
7. Numerical differentiation: differentiation schemes
8. Numerical integration: methods based on interpolation, Monte Carlo integration
MV008 Algebra I
zk 2/2 3 kr., podzim
- doc. Mgr. Michal Kunc, Ph.D.
- Prerequisities:
( MB005 || MB101 || MB201 || MB151 ) && ! MB008
- 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
- 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.
- 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, algorithms, 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, algorithms, and relevant proofs.
- Syllabus:
The course focuses on understanding basic mathematical tools:
Basic formalisms - statements, proofs, and propositional logic.
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, connectivity, trees.
Graph distance, spanning trees. Directed graphs.
Proof techniques for algorithms.
Infinite sets and the halting problem.
IB002 Algorithms and data structures I
zk 2/2 4 kr., jaro
- prof. RNDr. Ivana Černá, CSc.
- Prerequisities:
IB001 || IB111 || IB999
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. - 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. RNDr. Mojmír Křetínský, CSc.
- Prerequisities:
IB000 && ! IB102
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 0/2 2 kr., jaro
- Bc. Vladimír Chlup - Bc. Adam Matoušek - RNDr. Vladimír Štill, 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).
Context-aware traversal of data structures (Zippers, Lens).
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 Computational Linguistics
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. - doc. RNDr. Lubomír Popelínský, Ph.D.
- Prerequisities: Recommended courses are MB102 a MB103.
- 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 statistics, logic, 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 statistics, logic, 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 and rules
Logic and machine learning: specialization and generalization, logical entailment
Evaluation: training and test sets, overfitting, cross-validation, confusion matrix, learning curve, ROC curve; sampling, normalisation
Probabilistic models: Bayes rule, MAP, MLE, naive Bayes; introduction to Bayes networks
Linear regression (classification): least squares, relationship wih MLE, regression trees
Kernel methods: SVM, kernel transformation, kernel trick, kernel SVM
Neural networks: multilayer perceptron, backpropagation, non-linear regression, bias vs variance, regularization
Lazy learning: nearest neighbor method; Clustering: k-means, hierarchical clustering, EM
Practical machine learning: Data pre-processing: attribute selection and construction, sampling. Ensemble methods. Bagging. Boosting. Tools for machine learning.
Advanced methods: Inductive logic programming, deep 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.
IB053 Efficient Programming Methods
k 1/1 2 kr., jaro
- Mgr. Petr Steinmetz
- Prerequisities: Knowledge of programming at some of languages C, C++, Pascal, Delphi, Java, C#; knowledge of object oriented programming; basic awareness of machine code
- Goals: Purpose of this lecture is to forward knowledge and experiences needed to development of software. A term "efficient programming" is here meant in two sense. Partly as work expended on creation of program that is to be efficient as possible and partly as program self whose implementation is also to be efficient as possible, i.e. so that computer while performs program makes minimum overhead (noneffective activity). Subject of lecture is not algorithm design self in term of complexity.
- Learning outcomes: At the end of course student gains knowledge and routine leading to more efficient creation of software including more efficient implementation od algorithm.
- Syllabus:
Work efficiency in algorithm design.
Cutback of error rate in program creation.
Cutback of time needed to elimination of mistakes.
Usage of earlier written parts of programs.
Independence of program from later changes.
Portability of program to other environment.
Program efficiency.
Data access mechanism.
Implementation of program structures.
Difference in interpreted and compiled languages.
IB107 Computability and Complexity
zk 2/1 3 kr., podzim
- doc. RNDr. Jan Strejček, Ph.D.
- Prerequisities:
IB005 || IB102
- 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 computers usage and consequences these limitations have for advancing information technologies.
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. Polynomial computational thesis.
Reduction a 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 PB071.
- 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
- RNDr. Petr Novotný, Ph.D.
- Prerequisities:
! IB005 || ! IB107
none - 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 4 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
- 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. - 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
- Goals: At the end of the course students should be familiar with main research and applications in computational logic; They will be able to use automatic provers for propositional and predicate logic and also for its extensions; They will be familiar with, and able to use, methods for inductive inference in those logics;
- 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.
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 (e.g. C/C++/Java) and one functional language (e.g. Haskell). Knowledge of additional programming languages is an advantage.
- Goals:
By the end of the course, the student 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:
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 underlying theory of functional programming. Show some of the modern advanced functional programming concepts (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.
IO and Concurrency.
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.
IA040 Modal and Temporal Logics for Processes
zk 2/0 2 kr., podzim
- prof. RNDr. Luboš Brim, CSc.
- Prerequisities: Recommended: IV010 Communication and Parallelism
- Goals:
The aim is to acquire basic knowledge and develop skills in the use of modal and temporal logics for specification, analysis and verification of computer systems.
By the end of the semester, students should be able:
to understand definitions of the logics and logical systems presented in the course, the ideas of the proofs;
to understand the differences in the logics, and their capabilities and limitations;
to understand the utility, potential and limitations of formal verification, in particular model checking, for linear-time and branching-time logics. - Learning outcomes: By the end of the semester, students should be able: • to understand and apply definitions of the logics and logical systems presented in the course, the ideas of the proofs; • to understand the differences in the logics, and their capabilities and limitations; • to understand the utility, potential and limitations of formal verification, in particular model checking, for linear-time and branching-time logics.
- Syllabus:
Modal logics: propositional modal logic, modal mu-calculus.
Temporal logics: propositional temporal logic, linear and branching time, temporal operators.
Classification of properties, liveness, safety, local and global properties.
Model checking, applications.
IA041 Concurrency Theory
k 0/2 2 kr., jaro
- prof. RNDr. Mojmír Křetínský, CSc.
- Prerequisities:
IA006
Knowlegde corresponding to the courses IA006 - Automata IB107 - Computability and complexity - Goals: Students should study, understand, present and to work with the basic concepts and techniques used for modelling, analysis and verification of concurrent processes.
- Learning outcomes:
At the end of the course students should be able:
to understand and to work with the basic techniques used for modelling, analysis and verification of concurrent processes;
to make deductions based on acquired knowledge on actual topics and results of concurrent processes and their formal verification. - Syllabus:
Processes, labelled transition systems and their (finite) specifications.
Operational semantics. Caucal a Mayr hierarchies.
Selected sematic equivalencies (and preorders) for processes and their relationships (linear time - branching time spectrum).
Boundaries of algorithmic verification (equivalence checking) -- undecidability, decidability and complexity of some semantic equivalencies on selected classes of infinite state processes.
IA046 Computability
zk 2/0 2 kr., jaro
- prof. RNDr. Luboš Brim, CSc.
- Prerequisities: Prerequisities: IB107 Computability and Complexity
- Goals:
The course is focused on deeper understanding of results in the computability theory with emphasis on methods and techniques used to prove such results.
At the end of the course the students will be able to understand basics of computability over real numbers; will get acquainted with additional results about classification of computational problems, in particular about arithmetical hierarchy and relativised theory of computability. - Syllabus:
Recursion theorem, generalized Rice theorem, Rogers isomorphism theorem.
Application to logic. Arithmetical sets and functions, Goedel-Rosser incompleteness theorem. Goedel's second incompleteness theorem.
Relativised computability. Programs with oracles.
Kleene hierarchy, Turing reducibility, tt-reducibility, arithmetical hierarchy.
Post's problem.
Analytical hierarchy.
Computability on real numbers, complete partial orders, domains.
IA062 Randomized Algorithms and Computations
zk 2/2 3 kr., jaro
- prof. RNDr. Jozef Gruska, DrSc.
- Prerequisities: No special requirements are needed.
- Goals: The aim: randomized algorithms and methods are becoming one of the key tools for an effective solution of a variety of problems in informatics and its aplications practically in all theoretical and aplication areas.
- Learning outcomes: After finishing the lecture student will be able: To manage basic techniques to design randomized algorithms; to understand differences concerning power of deterministic and randomized algorithms; to manage basic tools for analysis of randomized algorithms; to work with tail inequalities; to understand power and use of the probabilistic method; to understand power of random walks; to understand power of randomized proofs; to understand basic principles of randomized cryptographic protocols.
- Syllabus:
Randomized algorithms and methods.
Examples of randomized algorithms.
Methods of game theory.
Main types of randomized algorithms.
Randomized complexity classes.
Chernoff's bounds.
Moments and deviations.
Probabilistic methods.
Markov chains and random walks.
Algebraic methods.
Aplications:
Linear programming.
Parallel and distributed algoritms.
Randomization in cryptography.
Randomized methods in theory of numbers.
IA066 Introduction to Quantum Computing
zk 2/0 2 kr., podzim
- prof. RNDr. Jozef Gruska, DrSc.
- Prerequisities:
IB005 || IB102
linear algebra, automata and languages, no quantum physics is necessary, algorithm design - Goals: Quantum computing in particular and quantum information processing in general are one of the hotest subjects in science in general and in informatics in particular. The goal of this introductory course is to present basic aims, concepts, methods and result in this fascinating area.
- Learning outcomes: After completing the course student will be able: to understand principles of the design of quantum algorithms; to understand basic ideas of Shor's and Grover's algorithms; to design simple quantum circuits; to understand recognition power of several quantum automata; to understand basic principles of quantum cryptography - theory, experiment and practical systems; to design quantum error-correcting codes.
- Syllabus:
Motivácie, historia, základné kvantové experimenty,
ohraničenia a paradoxy kvantového spracovania informácie
Hilbertové priestory, kvantové bity, registre, hradla a obvody
kvantové výpočtové primitíva
kvantové entanglovanie a nelokálnost
jednoduché kvantové algoritmy, Shorove kvantové algoritmy, algoritmus Grovera a jeho aplikácie
kvantové konečné automaty
kvantové samoopravujúce kody a kvantové fault-tolerantné hradla.
kvantová krzptografia
vesmír ako kvantový systém
IA067 Informatics Colloquium
z 1/0 1 kr., podzim
- prof. RNDr. Jozef Gruska, DrSc.
- 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
- prof. RNDr. Jozef Gruska, DrSc. - doc. RNDr. Barbora Kozlíková, Ph.D. - prof. RNDr. Daniel Kráľ, Ph.D., DSc.
- 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
- doc. RNDr. Jan Strejček, 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
- doc. RNDr. Jan Strejček, 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.
IA080 Seminar on Knowledge Discovery
k 0/2 2 kr., podzim
- doc. RNDr. Lubomír Popelínský, Ph.D.
- Goals: At the end of the course students should be able to understand scientific works in the area of machine learning and knowledge discovery in data and use it in their work. They will be able to evaluate contributions of such research studies.
- Learning outcomes:
A student will be able
- to understand research papers from machine learning and data mining;
- of critical reading of such papers;
- to prepare and present a lecture on advanced methods of data science. - Syllabus: The seminar is focused on machine learning and theory and practice of knowledge discovery in various data sources. Program of the seminar contains also contributions of teachers and PhD. students of the Knowldge Discovery Laboratory, as well as other laboratories, on advanced topics of knowledge discovery.
IA080 Seminar on Knowledge Discovery
k 0/2 2 kr., jaro
- doc. RNDr. Lubomír Popelínský, Ph.D.
- Prerequisities: Prerequisite for enrollment in the subject is 1) being familiar with advanced machine learning 2) approval of the application by the teacher
- Goals: At the end of the course students should be able to build and evaluate advanced machine learning systems and to understand scientific works in the area of machine learning and data science and use it in their work. They will be able to evaluate contributions of such research studies.
- Learning outcomes:
A student will be able
- to understand research papers from machine learning and data mining;
- of critical reading of such papers;
- to prepare and present a lecture on advanced methods of data science. - Syllabus: The seminar is focused on machine learning and theory and practice of knowledge discovery in various data sources. Program of the seminar contains also contributions of teachers and PhD. students of the Knowldge Discovery Laboratory, as well as other laboratories, on advanced topics of knowledge discovery.
IA081 Lambda calculus
zk 2/0 2 kr., jaro
- prof. RNDr. Jiří Zlatuška, CSc.
- Goals: The goal is to introduce lambda-calculus to students and to demonstrate expressive power of lambda-caluclus on a couple of general computation concepts.
- Learning outcomes: At the end of this cource, students shall learnd and understand basic techniques and results of the theory of sequential functions as described by the lambda-calculus and combinatoru logic; will understand the basics of the typed and untyped version of the formalism; shall learn basic elements of model construction for of lambda-calulus; shall be able to employ recursive constructs used in programming as well in the corresponding semantics constructs; will be abble to use it as a reference formalism useful for variaous applications.
- Syllabus:
Pure lambda-calculus: lambda-terms, structure of terms,
equational theories.
Reductions: one-way transformations, general reductions, beta-reduction.
Lambda-calculus and computations: coding, recursive definitions, lambda-computability, fixed-point combinators, undecidable properties.
Modification of the theory: combinatory logic, extensionality, eta-reduction.
Typed lambda-calculus: types and terms, normal forms, set models, strong normalization, types as formulae.
Domain models: complete partial orders, domains, least fixed points, partiality.
Domain construction: compound domains, recursive domain construction, limit domains.
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
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.
IA158 Real Time Systems
zk 2/0 3 kr., jaro
- doc. RNDr. Tomáš Brázdil, Ph.D.
- Prerequisities: Basic programming skill in C is expected.
- Goals: At the end of the course students should: know specific aspects of real-time systems; understand main problems of the design of real-time systems and know some solutions; be able to use formal reasoning about real-time systems.
- Learning outcomes: At the end of the course student will have a comprehensive knowledge of real time systems and related areas. Will be able to distinguish basic types of real-time systems. Will be aware of typical design errors in real-time and embedded systems and their standard solutions. Will understand fundamental real-time scheduling and resource management algorithms. Will have a basic knowledge of implementation details of these algorithms in standard programming environments.
- Syllabus:
Real-time aspects of embedded systems; examples of real-time systems. Soft and hard real-time systems.
Real-time scheduling: periodic and aperiodic tasks, priority-driven scheduling, resource access control.
Basic information about real-time operating systems and programming.
IA159 Formal Verification Methods
zk 2/0 2 kr., jaro
- doc. RNDr. Jan Strejček, Ph.D.
- Prerequisities:
IV113 || IA169
- Goals:
At the end of this course, students should understand and be able to explain principles, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems; - Learning outcomes:
At the end of this course, students should understand and be able to explain principles, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems; - Syllabus:
Overview of formal verification methods.
LTL model checking of finite and infinite-state systems including partial order reduction.
Abstraction.
Counterexample-guided abstraction refinement (CEGAR).
Static analysis, abstract interpretation.
Shape analysis.
Software verification via automata, symbolic execution, and interpolation.
Property-Directed Reachability (PDR/IC3).
IA161 Practical Techniques of Natural Language Processing
k 1/1 2 kr., podzim
- doc. RNDr. Aleš Horák, Ph.D. - RNDr. Miloš Jakubíček, Ph.D. - RNDr. Marek Medveď - RNDr. Zuzana Nevěřilová, Ph.D. - RNDr. Adam Rambousek, Ph.D. - doc. Mgr. Pavel Rychlý, Ph.D. - RNDr. Vít Suchomel, 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 Computational Linguistics 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 2 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 System Verification and Assurance
zk 2/0 4 kr., podzim
- prof. RNDr. Jiří Barnat, Ph.D.
- Prerequisities:
(! IV113 ) && (! NOW ( IV113 ))
User-level familiarity with Unix/Linux operating system. Basics of C programming. Basic astract math reasoning. - Goals: The student will understand the necessary theoretic background as well as acquire hands-on experience with relevant tools for bug finding and formal verification techniques. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
- Learning outcomes:
Students will:
be aware of fundaments of black-box testing;
understand priciples of deductive verification;
understand the theory and application of model checking;
have hand-on experince with a couple of verification tools. - Syllabus: This course will provide the necessary theoretic background as well as hands-on experience with relevant tools for bug finding and formal verification techniques. An introductory insight into security standards like Common Criteria for Information Technology Security Evaluation and FIPS 140 shall be provided first, together with a discussion of security threat models. Following this, the core topics of this course will include testing, simulations, advance testing and symbolic execution, abstract interpretation, static analysis, theorem proving, automated formal verification as well as an introduction to model-based verification. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
IA174 Fundaments of Cryptography
zk 2/0 3 kr., podzim
- RNDr. Petr Novotný, Ph.D.
IV003 Algorithms and Data Structures II
zk 2/2 3 kr., jaro
- prof. RNDr. Ivana Černá, CSc.
- Prerequisities:
( IB002 || program ( PřF:N - MA )) && ! IB108
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.
IV010 Communication and Parallelism
zk 2/0 2 kr., jaro
- prof. RNDr. Luboš Brim, CSc.
- Goals:
The goal is to acquire basic skills that are used for formal specification and analysis of communicating systems, including the theoretical background.
By the end of the course the students should be able: to develop simple specifications and implementations of communicating systems in CCS, to check formally their equivalence and to understand various kinds of process equivalences and their limitations. - Learning outcomes: By the end of the course the students should be able: to develop simple specifications and implementations of communicating systems in CCS, to check formally their equivalence and to understand various kinds of process equivalences and their limitations.
- Syllabus:
Introduction, overview of models for concurrent systems. Modelling
communication, examples of communicating systems.
Language of CCS: synchronization, actions and transitions, internal communication, semantics of CCS.
CCS with value passing and its translation into pure CCS.
Equational laws and their applications: classification of combinators, expansion theorem, dynamic and static laws.
Bisimulation and equivalence: Strong bisimulation, weak bisimulation, weak congruence, basic properties, solving equations, other equivalences, finite state processes.
Temporal properties of processes.
IV022 Design and verification of algorithms
zk 2/0 2 kr., jaro
- prof. RNDr. Luboš Brim, CSc.
- Goals: The goal is to get acquaint with methods for design and verification of small sequential algorithms. The students acquire basic verification techniques.
- Learning outcomes: By the end of the semester, students should be able to develop small sequential algorithms and prove their correctness.
- Syllabus:
Programs as predicate transformers, weakest precondition, properties of
predicate transformers, program correctness.
Garded command language. Skip and abort commands, composition, alternative command, iterative command.
Verification of programs, proof outlines, verification rules for sequential composition, alternative, and loop commands. Array manipulation.
Constructive verification of programs, basic principles and strategies, developing loops from invariants and bounds, developing invarinats.
Examples of program development. Deriving of efficient algorithms, Searching and sorting.
IV029 Introduction to Transparent Intensional Logic
zk 2/0 2 kr., podzim
- prof. RNDr. Marie Duží, CSc.
- Prerequisities: Foundations of the first-order predicate logic
- Goals:
Students enrolled in the course will obtain knowledge on a rather new discipline Logical semantics and knowledge representation that belongs to the fundamentals of artificial intelligence.
Adequate analysis of the meaning of natural language expressions consists in discovering algorithmically structured procedure known as TIL construction encoded by the expression. The analysis should be as fine-grained as possible so that the inference machine is neither over-inferring nor under-inferring. At the same time it is necessary to formalize the results of an analysis so that they are computationally tractable. - Learning outcomes: The students will learn to solve relevant problems in such a way that undesirable paradoxes and inconsistencies are avoided. The formalized analysis can be used in knowledge-base systems of artificial intelligence, in automatic translation, in multi-agent systems, etc.
- Syllabus:
Deductive reasoning as the subject of logic
Paradoxes stemming from a coarse-grained analysis of premises
Frege-Church semantic schema; denotational vs. procedural semantics
Transparent Intensional Logic; constructions as procedures
Simple theory of types comprising non-procedural objects; epistemic base; intensions and extensions
Ramified theory of types comprising procedural objects
Extensional, intensional and hyperintensional context
Extensional rules: Leibniz’s law and existential quantification into
The problem of non-existence and modalities
Ontology as a logic of intensions; conceptual analysis
Logic of attitudes; hyperintensional knowledge representation
Dynamic reasoning and tense logics
Communication of agents in a multi-agent system
IV054 Coding, Cryptography and Cryptographic Protocols
zk 2/1 5 kr., podzim
- prof. RNDr. Jozef Gruska, DrSc.
- Prerequisities:
! NOW ( IA174 ) && ! IA174
Basics of linear algebra and o discrete mathematics, see also Appendix in http://www.fi.muni.cz/usr/gruska/crypto21 - Goals: The lecture deals with the basic methods to solve three key problems of the transmission of information - transmission, storing, hiding. All three problems are of large practical importance and their solutions are often based on elegant and deep theoretical results. To verify, for ambitious students, their capability to work hard to be successful in very competitive informatics + mathematics environment.
- Learning outcomes: On successful completion of the course students should be able to: understand problems of the theory of error-correcting codes and their solutions; understand basic principles and results of the theory of secure communications; principles and problems of basic cryptosystems for encryption (both secret and public key), digital signatures and authentication; methods to create core cryptographic protocols primitives; analyze and practically use cryptosystems and such primitives as eliptic curves, hash-functions and secret-sharing methods. Basic methods for hiding information presented in steganography and watermarking. Finally, (s)he gets familiar in using quantum information processing tools and laws in general and in application to cryptography in particular. He gets also familiar with development and use cryptographic machines and with history of cryptography be experienced in methods of quantum cryptography and steganography
- Syllabus:
Coding theory and modern cryptography are rich on deep, elegant,
interesting and
practically very important ideas, methods, and systems. Main concepts
of modern cryptography are closely connected with fundamental concepts
of theoretical informatics. Current cryptography and its methods and
systems are of key importance for modern communication and information
systems. Basic knowledge of coding methods and of modern cryptography
are
necessary for each graduate of informatics.
Lecture will be rich also on examples and experiences from a very rich and interesting history of cryptography.
Basic concepts of coding theory and linear codes
Cyclic and channel codes, very modern coding methods
Classical cryptography
Public-key cryptosystems, knapsack, RSA, public key exchange
Other cryptosystems and cryptographic primitives
Digital signatures
Elliptic curves in cryptography and integer factorization
Basic cryptographic protocols
Authentication, identification, secret sharing, e-commerce
Steganography and watermarking
From crypto-theory to crypto-practice
Quantum cryptographic protocols
Machines and history of cryptography
IV054 Coding, Cryptography and Cryptographic Protocols
zk 2/1 5 kr., jaro
- prof. RNDr. Jozef Gruska, DrSc.
- Prerequisities: Basics of linear algebra and of the theory of numbers
- Goals: The lecture deals with the basic methods to solve three key problems of the transmission of information. All three problems are of large practical importance and their solutions are based on elegant theoretical results.
- Learning outcomes: On successful completion of the course students should be able to: understand problems of the theory of error-correcting codes; understand basic principles and results of the theory of secure communication; know principles and problems of basic cryptosystems for encryption (both secret and public key), digital signing and authentication; know methods to create core cryptographic protocols primitives; analyze and practically use simple cryptosystems; be experienced in methods of quantum cryptography and steganography
- Syllabus:
Coding theory and modern cryptography are rich on deep, elegant,
interesting and
practically very important ideas, methods, and systems. Main concepts
of modern cryptography are closely connected with fundamental concepts
of theoretical informatics. Current cryptography and its methods and
systems are of key importance for modern communication and information
systems. Basic knowledge of coding methods and of modern cryptography
are
necessary for each graduate of informatics.
Lecture will be rich also on examples and experiences from a very rich and interesting history of cryptography.
Basic concepts of coding theory
Linear codes
Cyclic and channel codes
Classical cryptography
Public-key cryptosystems, knapsack, RSA, public key exchange
Other cryptosystems and cryptographic primitives
Digital signatures
Elliptic curves in cryptography and integer factorization
Basic cryptographic protocols
Authentication, identification, secret sharing, e-commerce
Steganography and watermarking
From crypto-theory to crypto-practice
Quantum cryptographic protocols
Machines and history of cryptography
IV057 Seminar on Information Society
k 0/2 2 kr., podzim
- prof. RNDr. Jiří Zlatuška, CSc.
- Goals: At the end of the course, students should be able to understand better issues related to the information society, gain deeper insight into more specialized topics, and to develop their own ability to interpret technological and social issues related to the information society.
- Learning outcomes: Ability to think about impacts of IT on society.
- Syllabus:
Seminar focuses on some aspects of the Information Society.
A loose companion seminar to IV064 Information Society based on students work
with literature on this topic and talks by the students based
on the literature. Studets are required to work independently with relevant literature.
Information technologies and the society.
Information as a real value.
Economic and social impact.
Civilizational impacts of the Information Society.
Information technologies and democracy.
IV064 Information Society
zk 2/0 2 kr., podzim
- prof. RNDr. Jiří Zlatuška, CSc.
- Prerequisities:
! CORE012 && !( NOW ( CORE012 ))
- 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.
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.
IV105 Bionformatics seminar
k 0/1 1 kr., podzim
- Mgr. Monika Čechová, Ph.D. - 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
- Mgr. Monika Čechová, Ph.D. - 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
- 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
- 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 Bioinformatics project I
k 1/1 2 kr., podzim
- Mgr. Monika Čechová, Ph.D. - 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, cryptography etc).
IV114 Bioinformatics and Systems Biology Project
k 0/1 2 kr., podzim
- Mgr. Monika Čechová, Ph.D. - 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.
- 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. - prof. RNDr. Daniel Kráľ, Ph.D., DSc.
- 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.
See https://www.google.com/search?q=proofs+from+the+book+pdf for a quick overview of this book.
IV120 Continuous and Hybrid Systems
zk 2/1 3 kr., podzim
- doc. RNDr. David Šafránek, Ph.D. - prof. RNDr. Jiří Barnat, Ph.D.
- Prerequisities:
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.
IV123 Informatics-Driven Future
zk 2/0 2 kr., jaro
- prof. RNDr. Jozef Gruska, DrSc.
- Prerequisities: There are no special technical requirements. Main requirement is a deeper interest to know the expected role of Informatics for society in future, , as well as its main challenges and potential
- Goals: Exponentially fast developments in Informatics, especially in information storing, transmission and processing driven technologies, and in artificial intelligence, create potential for enormous impacts on society. The impact that has potential to be very positive, but also very negative, even historical. Moreover, due to that development, what can be nowadays expected as to happen in the next 50-100 years, in most of the areas of society, especially in science, technology, health care,...., if the current rate of development is sustained, can happen actually already within next 20-40 years. The goal of the course is to provide a visionary and thoughts-provoking, but well grounded, analysis of the main developments that we can, reasonably, expect, and why, in the (very) near future. Especially due to the development in all information processing and communication driven technologies, nanotechnologies, genetics, non-biological (artificial) intelligence and in fights with natural death and in explorig intelligence as a commodity. Informatics, once properly understood and developed%and sufficiently broadly and deeply understood, is to play at that a key role. Merits of the favorable future, but also ways to avoid perils, if possible, will also be discussed. The course should be of interest and importance to all those interested to find out the frameworks, tools, tasks and main challenges they and society will face in the (already quite near) future. To understand that should be for anyone not only very interesting, but actually much needed for knowing how to prepare oneself in the best way for the expected long future carrier in enormously fast changing frameworks. Contents: 1. Introduction: Why and how to foresee future? Main megachallenges. 2. Evolution - from biological to non-biological one and to their merge. 3. Exponential acceleration of all information-driven technologies. 4. New perception of Scientific Informatics and its grand challenges. 5. Impulses and roads to a new perception of Informatics 6. Technological and Applied Informatics and their grand challenges. 7. New, Informatics-driven, methodology and its grand challenges. 8. Developments in the understanding and simulation of human brains. 9. GNR-revolution - Artificial intelligence and robotics,aibeings 10. GNR revolution - Genetics and Nanotechnologies. 11. Singularity: merge of bio- and non-bio-intelligence-merits/perils. 12. Longevity - Can we fight death? Can we make life enjoyable till/after 150?!
- Learning outcomes: Understanding of unpredictability of impact of IT evolution to the future.
- Syllabus: 1. Introduction. Why and how we need/can forsee future? Old and new mega-challenges of science, technology and informatics. 2.Evolution. From biological to non-biological (technological) evolution and their merge. Enormous expected impacts of the merge ot the biological and non-biological intelligence. 3. Exponential developments in information processing and communication technologies and their impacts on science, technology and the rest of society 4.New perception of informatics and its grand challenges. Informatics as a merge of scientific, engineering, methodological and application informatics. New perception of the scientific informatics and its grand challenges. 5. New perception of the technological iand applied nformatics and their grand challenges. 6. New, informatics-driven methodology for science, technology, and actually for all areas of society. 7. Recent developments in understanding and simulation of human brains and minds 8. GNR revolution - I. Robotics and artificial intelligence. Long hhistory, hot outcomes, big dangers. 9. GNR Revolution - II. Geniomics and nanotechnologies 10. Singularity - a merge of biological and non-biological evolution. 12. Longevity - Can we fight death? How (much). Can we make life ebjyable till/after 150?!
IV124 Complex Networks
k 0/2 2 kr., jaro
- doc. RNDr. Eva Hladká, Ph.D. - Ing. Eva Výtvarová
- 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. Course includes tutorials where real data sets will be analysed.
- Learning outcomes: The students will be able to define the local and global network topological measures, and will be aware of the algorithms which can be used for their computation. They will be ready to explain the principles of generating random graphs with given structural properties and to understand their role in data analysis. The students will be able to apply the complex network analysis to empirical data sets across the application domains. 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. - doc. Mgr. Jan Obdržálek, PhD. - RNDr. Petr Novotný, Ph.D. - Dr. rer. nat. Achim Blumensath
- 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. 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 Artificial Intelligence II
zk 2/0 3 kr., podzim
- doc. Mgr. Hana Rudová, Ph.D.
- Prerequisities:
The course is a continuation of the PB016 Artificial Intelligence I,
PB016 completion is not a prerequisite for course completion.
It is presumed knowledge of probability theory corresponding to the course MB103 Continuous models and statistics. - 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, domain-specific planning. Plan space planning, partial order planning.
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, 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:
SOUHLAS
- Goals: Students gain experience with reading and presenting research papers and they perform and present their own research and development in the area of adaptive learning.
- Learning outcomes: At the end of the course, students will be able to critically assess current research and development in the area of adaptive learning.
- 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:
SOUHLAS
- Goals: Students gain experience with reading and presenting research papers and they perform and present their own research and development in the area of adaptive learning.
- Learning outcomes: At the end of the course, students will be able to critically assess current research and development in the area of adaptive learning.
- 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.
PB001 Introduction to Information Technologies
zk 2/0 2 kr., podzim
- prof. RNDr. Luděk Matyska, CSc. - doc. RNDr. Eva Hladká, Ph.D.
- Prerequisities:
! PB002 && ! NOW ( PB002 )
- 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.
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, 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.
Protocols, multimedia systems, distributed computing, mobile and wireless computing.
Basics of Human-Computer interaction, graphical systems.
Social context of IT, Information society, New economics.
Internet, grows, management, international issues.
Professional and ethical responsibility, basic laws (personal data protections, digital signature, ...). Ethic codes, professional bodies, organizational's "Acceptable use policy".
PB006 Principles of Programming Languages and OOP
zk 2/0 2 kr., podzim
- doc. Mgr. Jan Obdržálek, PhD.
- Prerequisities:
( IB111 || IB002 ) && PB071
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 be able:
to choose a programming language (programming paradigm) suitable for a given problem domain;
to analyze both strong and weak aspects of a given programming language;
to quickly obtain an in-depth understanding a of new programming language;
understand the principles of object-oriented programming. - 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. Event handling.
PB007 Software Engineering I
zk 2/2 3 kr., podzim
- doc. Ing. RNDr. Barbora Bühnová, Ph.D.
- Prerequisities:
PB006 || NOW ( PB006 ) || PB161 || NOW ( PB161 ) || PB162 || NOW ( PB162 ) || IB114
- 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
- doc. RNDr. Barbora Kozlíková, Ph.D. - RNDr. Jan Byška, Ph.D. - RNDr. Katarína Furmanová, Ph.D. - Mgr. Marek Trtík, Ph.D.
- Prerequisities: The knowledge of matrix calculus, linear algebra, and geometry.
- Goals: The aim of the course is to give the students an overview of the basic algorithms and methods for modeling and rendering. 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 within the lectures.
- 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.
Basic graphical primitives and algorithms for rasterization, differences between raster and vector graphics.
Sampling, reconstruction, antialiasing, algorithms for closed area filling.
2D clipping.
Representation and modeling of 3D objects.
2D and 3D transformations, projection.
Free-form curves and surfaces.
Visibility in object space.
Speed-up techniques for real-time rendering, scene hierarchy representations.
Color, color models, color perception.
Basic lighting models, shading, texturing.
Ray tracing, basics of photorealistic and physically-based rendering.
PB016 Artificial Intelligence I
zk 2/2 3 kr., podzim
- doc. RNDr. Aleš Horák, Ph.D. - doc. RNDr. Lubomír Popelínský, 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.
Modal logic. Multivalued logic.
Knowledge representation and reasoning, reasoning with uncertainty.
Learning, decision trees, neural networks.
Natural language processing.
PB029 Electronic Document Preparation
zk 2/1 3 kr., podzim
- 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, 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 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. Specifics of presentation preparation.
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
- Ing. Matej Lexa, Ph.D. - doc. RNDr. David Šafránek, Ph.D.
- 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
PB069 Desktop Application Development in C#/.NET
zk 2/2 3 kr., jaro
- RNDr. Jaroslav Pelikán, Ph.D.
- Prerequisities: Knowledge of programming, C# programming language that is adequate to the course PV178 Introduction to Development in C#/.NET, and MS Windows operating system (on a user level).
- Goals: The course Desktop Application Development in C#/.NET introduces students to the basic techniques used for development of applications aimed for the environment of MS Windows operating systems. The course targets development of simple applications together with their graphical user interface, using C# programming language, MS .NET platform, Windows Forms programming interface, and Windows Presentation Foundation. The topics are taught and demonstrated in Microsoft Visual Studio.
- Learning outcomes:
At the end of the course, the student will:
know the principles and rules of event-driven programming;
be familiar with the MS Visual Studio environment, Windows Forms interface, and Windows Presentation Foundation;
know the rules of designing graphical user interfaces of applications;
be able to use the basic classes of the Windows Forms interface and the Windows Presentation Foundation;
be able to develop applications for the MS Windows environment together with their user interface. - Syllabus:
Event driven programming. The model of a MS Windows program.
Integrated development environment MS Visual Studio, simple applications creation.
Usage of Windows Forms basic classes and work with them.
Processing of events coming from the keyboard and mouse.
Programming with graphics.
Dialog boxes and their handling.
Basic standard dialogs.
Programming with the clipboard, support of drag & drop.
Rules for the design of graphical user interface of applications.
Design of applications using Windows Presentation Foundation.
XAML language.
Classes representing controls.
New WPF features.
Resources, styles, triggers.
Programming with graphics.
Data binding.
Templates.
Printing from the environment of MS Windows.
Support of multi-threading in applications.
Programming with Windows registry.
PB071 Principles of low-level programming
zk 2/2 4 kr., jaro
- doc. RNDr. Petr Švenda, Ph.D.
- Prerequisities: 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
PB130 Introduction to Digital Image Processing
zk 2/1 3 kr., podzim
- doc. RNDr. Petr Matula, Ph.D.
- Prerequisities:
! PV131
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 Modern Markup Languages and Their Applications
zk 2/2 3 kr., jaro
- doc. RNDr. Tomáš Pitner, Ph.D. - Mgr. Luděk Bártek, Ph.D. - RNDr. Adam Rambousek, Ph.D. - Ing. Lukáš Grolig
- Prerequisities: Basic knowledge of formal languages, as well as some experience in OO programming, such as in Java, C++, C# or ECMAScript, and databases is required. Moreover, basic orientation in a markup language (HTML) and Internet services is needed, too.
- Goals: The subject acquaints with basic standards and principles of working with technologies of modern markup languages mainly based on XML, JSON and Yaml. Upon successful completion of this course, students will create modern applications written in TypeScript using React and modern markup languages that retrieve data from the backend using REST interfaces or GraphQL query language, or using hybrid persistence, such as XML extensions of RDBMS or NoSQL databases.
- Learning outcomes:
Students will be able to:
Explain the advantages, disadvantages and purpose of tagged data and documents
Actively use terminology of markup languages
Choose the appropriate markup language for the application
Actively use XML
Describe the characteristics of Internet technologies such as HTML 5, JavaScript, React, JSON, GraphQL and other modern web standards and use them in real applications
Describe principles of Single Page applications - Syllabus:
Structure and terminology of marked documents.
XML: standards of the XML family, analysis and processing of XML data.
Document object model, event-driven processing.
Navigation and querying in XML data. XPath, XML databases and extensions.
YAML: syntax and application
HTML documents
Basics of modern javascript applications, Node.js ecosystem, dependency management using NPM
Introduction to React, JSX/TSX language
Definition of components and their composition, life cycle of components, application status, work with lists, forms
Validation of web applications using Lighthouse JSON: syntax, data types, arrays, objects
Principles of the REST interface
GraphQL: schemas, queries, mutations, types, validation
PB150 Computer-Systems Architectures
k 2/0 2 kr., podzim
- doc. Ing. Michal Brandejs, CSc.
- Prerequisities:
! PB151 && ! NOW ( PB151 )
- 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 )
- 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 implemente