BACHELOR STUDIES: Programming I Algoritmization Linear Algebra I Discrete Mathematics Principles of Computers Introduction to Computer Networks Introduction to Problem Solving Practical Course on Rapid Game Development Programming II Algorithms and Data Structures I Linear Algebra II Mathematical Analysis I Computer Systems Linux Systems Introduction to Problem Solving II Programming in C++ Programming of Web Applications Algorithms and Data Structures II Database Systems Propositional and Predicate Logic Combinatorics and Graphs Advanced C++ Programming Best Practices in Programming Introduction to Artificial Intelligence Automata and Grammars Probability and Statistics English - Exam for bachelors Mathematical Analysis II Programming in C# Introduction to Machine Learning with Python Algorithmic Game Theory Language Technologies Introduction to Computer Linguistics Non-Procedural Programming Nature Inspired Algorithms Natural Language Processing Video Retrieval C Programming Mathematical problems of non-mathematicians MASTER STUDIES: Introduction to Complexity and Computability Artificial Intelligence I Neutral Networks Data Structures I Evolutionary Algorithms I Probabilistic Methods Deep Learning Deep Reinforcement Learning Evolutionary Algorithms II Artificial Intelligence II