Computer Science and Knowledge Discovery

Graduates will be able to use modern information and communication technologies (applied software packages, local and global computer networks) for acquiring, processing and analyzing various types of information.

Graduates will also manage to estimate software quality and apply software for solving professional tasks in various fields. Graduates will have special knowledge in software techniques of information security. Special skills will be obtained in the field of applied and computer mathematics. Furthermore, students will also acquire professional skills in mathematical modelling and advanced data analysis. Special training will be provided in the fields of artificial intelligence (data mining), signal and image processing, parallel and distributed computing, and biometric technologies.

 Program presentation.

 Program booklet.

 Information about lecturers.

 Information about research.

The structure of the degree program consists of advanced professional studies, elective courses and Master’s Thesis.

Program curriculum includes the following advanced courses:

  • Intelligent systems;
  • Computer tools in education;
  • Algorithmic mathematics;
  • Professionally oriented foreign language;
  • Digital signal processing;
  • Advanced mathematical methods;
  • Information technologies in academic research and project activity;
  • Parallel computing;
  • Advanced data analysis and machine learning;
  • Languages for hardware design and verification;
  • Biometric technologies;
  • Distributed systems and technologies;
  • Mathematical modelling of linear and non-linear systems;
  • Basics of system theory;
  • Data and visual analytics;
  • Information security;
  • Foreign language;
  • Mathematical foundations of computer science;
  • Computational systems;
  • Social communications in professional environment;
  • Commercialization of academic results and developments;
  • Algorithm design and optimization;
  • Software development technology.

The department of Computer Science and Engineering is one of the oldest and most renowned departments in the University (founded in 1931). The research areas of the department encompass software and hardware development and verification, development of FPGA, digital signal processing, distributed systems, microprocessor systems, artificial intelligence and machine learning, parallel computing, embedded systems, etc.

Students will have access to high-performance cluster with cloud computing and modern software-hardware systems.

Programme: 120 ECTS credits, full-time study (2 years), Master’s Degree

Eligibility: candidates must hold a Bachelor's Degree in the corresponding field

Scholarship: scholarship covers the tuition fee and some study materials

An academic year includes 2 semesters beginning on 1st September and 10th February, Winter holidays - 2 weeks, Summer holidays - 2 months (July, August). Master’s Thesis defense is in June.

Educational programs of «LETI» are constantly modernized, following the principle «Training through research». Graduates of our university receive new, profound knowledge and practical skills of work.

The program is offered by the Faculty of Computer Science and Technology

Program Director: Prof. M. Kupriyanov, Dean of the Faculty of Computer Science and Technology

Programme Coordinator: Ass. Prof. D. Klionskiy, Deputy Dean for international affairs

Summaries of the courses:



The discipline is aimed at studying the possibilities of biometric dynamic and static characteristics of humans. We consider all stages of image processing in biometric tasks: original data acquisition, face image preprocessing, feature extraction from these images. We draw special attention to efficient algorithms of reducing feature space dimension using features oriented to image processing as two-dimensional data. The discipline also covers algorithm implementation using vector-matrix procedures programmed in MATLAB. We discuss the main principles of constructing, simulation, and testing of human recognition systems based on face images, and computer experiment models. Examples of handling practical biometric tasks are considered.


Information security includes all issues connected with determining, reaching, and supporting confidentiality as well as the following properties of information or its processing tools: integrity, availability, non-repudiation, accountability, authenticity, and reliability. The discipline familiarizes students with the main concepts and problems of information security and offers a number of important techniques of information security. The course is aimed at forming skills for working with existing products and designing information security software.


The discipline provides theoretical and practical training in the field of information analysis techniques and information analysis tools as well as new knowledge extraction from raw data.

The course program includes studying the main areas of data analysis, techniques, algorithms, and models of exploring big data and extracting new, non-trivial, and useful knowledge. The discipline also covers parallel and distributed analysis of data. All lectures on this discipline are accompanied by examples.


Students studying this discipline acquire new knowledge allowing them to start a career in the field of parallel programming. We provide a brief characteristic of principles for constructing parallel computational systems and consider mathematical models of parallel algorithms and programs for analyzing the efficiency of parallel computing. The discipline considers low-level possibilities of modern operating systems for providing parallelism and also high-level tools built on their basis. 


The course consists of selected topics from linear and multilinear algebra and numerical linear algebra that are important for applications in different branches of mathematics and physics, primarily in vector analysis, differential geometry, and numerical methods of ordinary and partial differential equations. Besides we discuss some natural applications of linear algebra such as recurrence relation and linear differential equations with constant coefficients. Some of the applications are left for students’ homework.


The discipline familiarizes students with the basics of mathematical modeling and synthesis of linear and non-linear systems at the input/output mapping. We study different forms of models classified as multidimensional polynomials, regression models, and neural networks. The comparative analysis of mathematical models is performed. The discipline also covers methods and algorithms of model design by solving the problems of system operator approximation in the root mean square metric using the input and output signal sets. The skills of various neural network synthesis in the software system MATLAB are given. The examples of modeling and synthesis of nonlinear transformers, filters, compensators are represented.

The discipline is also aimed at studying nonlinear behavior of dynamical systems. It discovers the main properties of nonlinear processes appearing during the design and use of complex technical system. The discipline considers the theory and practice of nonlinear dynamics as well as modern tools of dynamical analysis given through graphical programming environments. Students study mathematical representation of nonlinear systems and processes and their computer simulation through numerical integration.


The discipline is devoted to studying software packages for numerical and symbol computing. We consider three different packages: numerical computations are represented in GNU Octave and R, symbol computations are represented in SageMath. All packages are distributed free of charge and are available for downloading. Special attention is paid to data types in embedded programming languages and visualization techniques, i.e. plotting graphs and diagrams.


Algorithmic mathematics (computer algebra, symbolic or algebraic computations) is the field that deals with research and development of algorithms and software for operating mathematical expressions and other mathematical objects.

This course familiarizes students with basic polynomial methods and algorithms over infinite and finite fields, Groebner bases and algebraic varieties.

The course allows students to get acquainted with theoretical fundamentals of basic methods and algorithms of polynomial factorization including Berlekamp’s algorithm, algorithms for solving polynomial equations including those based on Groebner bases and Buchberger’s algorithm. 


Visual analytics is an advanced form of data analysis in which analytical reasoning is enforced by adoption of the highly interactive visualization techniques. This course introduces students to the concepts and tasks of visual analytics and examines several important data analysis and visualization techniques. It provides hands-on experience with both existing products and in the development of custom visual analytics software.


The discipline is oriented to mastering a number of areas of mathematic and system analysis used in engineering practice and academic research. The course encompasses all stages of complex system design beginning with information transform in digital form and its statistical processing and ending with system model design and its parameter optimization. 


The discipline is aimed at studying tools for joint representation and debugging of software-hardware systems using SystemVerilog including special data types, object-oriented programming and quasi-stochastic representation of such systems.


The discipline "Intelligent systems" provides a study of the basics of designing intelligent agents that solve a wide range of problems: from movement, obstacle avoidance and pathfinding to tactical analysis and decision-making. The discipline also covers the use of algorithms based on decision trees, state machines, and elements of fuzzy logic. We consider application of decision tree training methods, the simplest neural networks and implementation of reinforcement learning. The discipline also includes fundamentals of multiagent systems, specific of designing intelligent agent environment, solving problems of knowledge management and natural language processing. This course provides practical application of the algorithms in a virtual environment (video game). 


The main purpose of the discipline is studying a wide range of issues connected with the main principles, concepts, and technologies of distributed systems: connection, processes, identity, synchronization, integrity, and replication, fault protection and security. The knowledge provided by this discipline can be used for constructing and management of distributed systems.

The discipline includes 8 practical training classes (total 54 hours). The unsupervised work of students suggests studying the recommended sources of literature and preparation for classes.

The final certification is based on graded examination results. 


The course familiarizes the audience with basic methods and algorithms of digital signal processing using computer simulation in the MATLAB software package. The topics include discrete signals and their transforms, linear discrete systems and their characteristics, discrete Fourier transform (DFT) and its applications, design and analysis of FIR and IIR filters, quantization effects in digital systems, spectral analysis of signals (non-parametric and parametric techniques), multirate signal processing, adaptive filters and their application in practical tasks, wavelet transform and its application in signal processing.

The course allows us to get acquainted with theoretical fundamentals of basic methods and algorithms of digital signal processing, to master the technology of computer simulation of these methods and algorithms in MATLAB. Furthermore, the discipline makes it possible to study embedded software packages (FDATool, FVTool, SPTool, WAVETool) for handling specialized tasks of digital signal processing. 


The discipline is devoted to the techniques and tools of parallel and distributed academic research using modern software and hardware tools. Students also acquire skills of working with high-performance computational systems.


The purpose of the discipline is studying and mastering the foreign language (English, German, French). The criterion is the ability to use the most common language tools in the main types of speech activity: speaking, listening, reading, and writing. The goal of the course is the ability to communicate in the vast majority of situations which can arise in everyday life and professional activity. The structure of the course can be represented by the following modules: speaking and listening, reading, writing practice, translation practice, practical grammar, which are different by the subject and lexical content of the academic and information material. These modules are related to each other by the necessity of systematic improvement of all four language skills and the main grammar topics.


The discipline is aimed at forming and developing general cultural competences of students including interpersonal professional communication skills, group/team management, adaptation to the changing environment conditions, ability to behave adequately in non-standard situations.

The course includes three independent parts.

Part 1. Basic communication skills.

  • Communication styles and self-presentation techniques.
  • Efficient listening as a tool of conversation control.
  • Emotional self-regulation in tense situations.

Part 2. Group management: efficiency factors.

  • Sociometric analysis of group structure and group dynamics.
  • Decision-making features in organized professional groups.
  • Social and psychological effects of group pressure: from conformism to destructive submission phenomenon.

Part 3. Business speech.

  • Factors of successful public performance.
  • Basics of written business and professional communication.
  • Rules of business telephone communication.

The classes include the analysis of particular communicative situations in the professional environment, group discussions, role games, which allows students to test their weak and strong sides in professional intercultural communication, to correct their social behavior.


Commercialization of academic research results and developments is the process of their involvement in economic (commercial) use in different segments of national and global markets. The importance of this discipline is caused by the course of Russia’s economy modernization. In this situation we need to perform project evaluation and substantiation of economic efficiency of projects oriented to the production of high-technology production and advancement of new technologies. The first topic of the course considers basic principles and organization forms of scientific and technical activity and its results. We explain the notions “technology” and “technology transfer”, represent the main stages of life cycle of the goods and technology. The second topic of the course covers the contents of the main techniques of estimating the commercial potential of the technology, its usefulness, and potential cost. The third topic of the course considers each stage of the commercialization of research results. We provide models for commercialization of research results. The fourth topic considers the issues connected with intellectual property protection and the rights for their usage in the commercialization of research results. The topics ranging from fifth to ninth consider the issues connected with theoretical and methodological aspects of business scheduling for commercialization of research results. We consider in a detailed way each part of a business schedule: marketing plan, production plan, organizational plan, financial plan including the forecast of money flow. Special attention in the discipline is paid to methodological basics of evaluating economic efficiency of the suggested projects. 


The discipline belongs to the basic part of the curriculum for Specialization “Computer Science and Engineering”. This discipline can be viewed as a continuation of the disciplines “Discrete mathematics” and “Mathematical logic and algorithm theory” studied by bachelor students. The purpose of the discipline is to advance mathematical background of students, master the main models and techniques of computer mathematics. The discipline consists of the following parts: basics of universal algebra, discrete analysis, discrete functional schemes, applied logic, proof theory. 


The discipline belongs to the basic part of the curriculum for Specialization “Computer Science and Engineering”. It can be considered as a continuation of the discipline “Mathematical foundations of computer science” and it is an integral part of education in the field of computer science and information technologies. The purpose of the discipline is to advance the mathematical background of students and master the main techniques of designing, analysis, and optimization of algorithms. The discipline consists of the following parts: methods and strategies of algorithm design, algorithm complexity, sort algorithms and search algorithms, numerical algorithms, graph algorithms, general complexity theory of algorithms.  


The discipline provides knowledge and skill acquisition in the field of modern technologies of group development of software. We consider different models of the life cycle of software development, their advantages and drawbacks, capability maturity model-integrated (CMMI) and its key areas, team software process (TSP) and personal software process (PSP) developed in SEI University. We provide an overview of modern standards, methodologies, and documented processes and development environments: Rational Unified Process (RUP), Microsoft Solutions Framework (MSF), and TeamFoundation Server (TFS), agile development methodologies. We consider the issues of designing a project process, distribution of project roles, work planning and work tracking, quality monitoring and risk management. The knowledge obtained by students from this course is tested by a semester project on software development (the team consists of 3-4 persons). The main requirement is the use of modern development tools (Java / .Net), version control systems, configuration control tools and fault tracking, automatic testing and code quality monitoring. The project teams have to submit weekly results and reports by demonstrating project metrics providing high level of competitiveness and reliability.


The discipline is oriented to acquiring skills of applying high-performance computer engineering and information technologies for academic research and practical tasks from different knowledge domains.

Students should be able to master new software packages and technologies for computational systems with different architecture, perform analysis of information technologies and select those that are the most efficient for handling practical and academic tasks formulated within the scope of industrial and/or pre-graduation practice. Thesetaskscanbeusedforresearchandgraduationproject.

Students should be able to arrange the results of their research in accordance with State Standard requirements, to prepare presentations and give high-level oral talks.

Contact us

For support in registration, accommodations or any questions about the admission process, please contact International Students Office

For questions regarding programme content, please contact the programme coordinator Dmitry Klionskiy