Degree Plans - Artificial Intelligence

Coordinating Department: Department of Theoretical Computer Science and Mathematical Logic Specialization Coordinator: Prof. RNDr. Roman Barták, Ph.D.

The specialization Artificial Intelligence integrates the formal foundations of computer science with their application to the solution of complex problems such as automated planning and scheduling, natural language processing, processing of visual, textual and multimedia data, machine learning, big data and data mining, autonomous robotics, and computer vision. The understanding of the mathematical and logical foundations of computer systems given by the specialization Articial Intelligence is directed towards the design of smart systems.

The specialization Artificial Intelligence has the following branches:

Robotics
Machine Learning
Natural Language Processing

Each branch runs according to the same rules, using the same set of obligatory and elective courses, and they have the common topic Foundations of Artificial Intelligence in the State Final Exam. Each branch then has its own additional topic in the State Final Exam.

Common obligatory courses in Computer Science

Common obligatory courses for all specializations are listed above in the section giving general information.

6.1 Obligatory Courses

CodeSubjectCreditsWinterSummer
NAIL120Introduction to Artificial Intelligence 52/2 C+Ex
NPRX005Non-procedural Programming 52/2 C+Ex
NMAX055Mathematical Analysis 2 52/2 C+Ex

6.2 Elective Courses

Elective courses – group 1

A prerequisite for taking either part of the State Final Exam is to have obtained at least 25 credits from courses in this group.

CodeSubjectCreditsWinterSummer
NAIX028Introduction to Robotics 52/2 C+Ex
NPGR002Digital Image Processing 43/0 Ex
NPGR036Computer Vision 52/2 C+Ex
NPFL054Introduction to Machine Learning 52/2 C+Ex
NPGR035Machine learning in computer vision 52/2 C+Ex
NAIL121Seminar on Data Mining 41/2 MC
NDMI098Algorithmic Game Theory 52/2 C+Ex
NPFL012Introduction to Computer Linguistics 32/0 Ex
NPFL125Text processing in UNIX 30/2 MC
NPFL124Natural Language Processing 42/1 C+Ex
NPFL101Competing in Machine Translation 30/2 C
NPFL123Dialogue systems 52/2 C+Ex
NAIL119Nature inspired algorithms 52/2 C+Ex

Elective courses – group 2

A prerequisite for taking either part of the State Final Exam is to have obtained at least 10 credits from courses in this group.

CodeSubjectCreditsWinterSummer
NPRX041Programming in C++ 52/2 C+Ex
NPRX013Programming in Java 52/2 C+Ex
NPRX035Programming in C# 52/2 C+Ex

Elective courses – group 3

A prerequisite for taking either part of the State Final Exam is to have obtained at least 10 credits from courses in this group.

CodeSubjectCreditsWinterSummer
NPRX051Advanced Programming in C++ 52/2 C+Ex
NPRX021Advanced Progamming in Java 52/2 C+Ex
NPRX038Advanced Programming in C# 52/2 C+Ex
NPRG042Programming in Parallel Environment 62/2 C+Ex
NPRX036Data Formats 52/2 C+Ex
NMAX073Probability and Statistics 2 52/2 C+Ex
NDBI045Video retrieval and exploration 52/2 C+Ex
NOPX046Discrete and Continuous Optimization 52/2 C+Ex
NPGR038Introduction to computer game development 52/2 C+Ex
NPRX037Microcontroller Programming 52/2 C+Ex

6.3 Recommended Course of Study

The recommended course of study gives all the obligatory courses, while only some elective courses and optional courses are listed. Students need to choose other such courses themselves. Obligatory courses are printed in boldface, elective courses in roman, and optional courses in italics.

First year

Common to all specializations – see under general information above.

Second year

CodeSubjectCreditsWinterSummer
NAIX062Propositional and Predicate Logic 52/2 C+Ex
NTIX061Algorithms and Data Structures 52/2 C+Ex
NDMX011Combinatorics and Graph Theory 1152/2 C+Ex
NMAX055Mathematical analysis 2152/2 C+Ex
NAIX028Introduction to Robotics 52/2 C+Ex
NPRX041Programming in C++ 52/2 C+Ex
NTIX071Automata and Grammars 52/2 C+Ex
NMAX059Probability and Statistics 1 52/2 C+Ex
NPRG045Individual Software Project 40/1 C
NPRX051Advanced Programming in C++ 52/2 C+Ex
NAIL120Introduction to Artificial Intelligence 52/2 C+Ex
NPRX005Non-procedural Programming 52/2 C+Ex
 Elective courses    
 Optional courses    

Third year

CodeSubjectCreditsWinterSummer
NDBX025Database Systems 52/2 C+Ex
NPFL054Introduction to Machine Learning 52/2 C+Ex
NPRX013Programming in Java 52/2 C+Ex
NPFL012Introduction to Computer Linguistics 32/0 Ex
NPGR036Computer Vision 52/2 C+Ex
NAIL121Seminar on Data Mining 41/2 MC
NPFL124Natural Language Processing 42/1 C+Ex
NPRX036Data Formats 52/2 C+Ex
NSZZ031Bachelor Thesis 60/4 C
 Elective courses    
 Optional courses    

1 In 2019/2020 the courses Mathematical Analysis 2 and Combinatorics and Graph Theory 1 are taught in the summer semester for students who started their studies in previous years. For students starting their studies in 2019/20, the courses will be taught in the winter semester of 2020/21.

6.4 State Final Exam

The State Final Exam knowledge requirements common to all specializations are described in the first section of this chapter (General Information on Computer Science bachelor's degree plans). Students of the Artificial Intelligence specialization will be further tested according to the information below.

The topic Foundations of Artificial Intelligence is required in all branches. Each branch then has its own additional topic in the State Final Exam.

Foundations of Artificial Intelligence
Problem solving via search (algorithm A*); constraint satisfaction. Logical reasoning (forward and backward chaining, resolution, SAT); probabilistic reasoning (Bayesian networks); knowledge representation (situation calculus, Markovian models). Automated planning; Markov decision processes. Games and theory of games. Machine learning (decision trees, regression, reinforcement learning).

Recommended courses:

CodeSubjectCreditsWinterSummer
NAIL120Introduction to Artificial Intelligence 52/2 C+Ex

Branch Robotics
Kinematics: motion and transformation, basic problem-solving. Control systems: architectures, implementation, specific run-time environments. Motion, sensorics: motion types, basic actuators and sensor types, closed loop control, input data processing. Localization and mapping: possibilities for determining position, map types, model situation solving, simultaneous localization and mapping. Image processing, computer vision: object searching and tracking.

Recommended courses:

CodeSubjectCreditsWinterSummer
NAIX028Introduction to Robotics 52/2 C+Ex
NPGR036Computer Vision 52/2 C+Ex
NPRX037Microcontroller Programming 52/2 C+Ex

Branch Machine Learning
Supervised learning: classification and regression, error measure, model assessment (test data, cross validation, maximum likelihood), overfitting and regularization, the curse of dimensionality. Instance-based learning, linear and logistic regression, decision trees, pruning, ensemble learning (bagging, boosting, random forest), support vector machines, t-test, chi-squared test. Unsupervised learning, clustering.

Recommended courses:

CodeSubjectCreditsWinterSummer
NPFL054Introduction to Machine Learning 52/2 C+Ex
NAIL121Seminar on Data Mining 41/2 MC
NPGR035Machine learning in computer vision 52/2 C+Ex

Branch Natural Language Processing
System of layers in language description, morphological and syntactic analysis. Fundamentals of probability theory and information theory. Statistical methods in natural language processing, language models. Machine learning, classification, regression. Estimation of generalization error, overfitting, regularization. Word embedding, fundamentals of deep learning. Applications in natural language processing, examples of evaluation measures.

Recommended courses:

CodeSubjectCreditsWinterSummer
NPFL054Introduction to Machine Learning 52/2 C+Ex
NPFL012Introduction to Computer Linguistics 32/0 Ex
NPFL124Natural Language Processing 42/1 C+Ex