Modern Programming

01.03.02In english and russian

Level of education Bachelor

Type of instruction Full-time

Duration 4 years

Main courses

Basic courses

  • Functional Programming
  • Operating Systems
  • Databases
  • Algorithms and Data Structures
  • Discrete Mathematics
  • Mathematical Analysis
  • Mathematical Statistics 
  • Object-Oriented Programming
  • Linux Fundamentals
  • Fundamentals of Programming
  • Theoretical Computer Science
  • Probability Theory 
  • Mathematical Logic in Computer Science
  • Machine Learning
  • Designing High Load Systems
  • Software Engineering
  • Current Issues in Computer Science and Information Technology (In English)
  • Algorithms and Dynamical Programming Method
  • Introduction to Bioinformatics 
  • Computational Geometry
  • Network Algorithms
  • Graph Drawing
  • C Programming
  • C++ Programming
  • Algebra
  • Kotlin Programming
  • Computer Architecture
  • Computer Networks
  • Algorithms for NP-Hard Problems

Elective courses

  • Software Testing
  • Computer Graphics
  • Bioinformatics
  • Introduction to Programming Language Theory
  • Convex Optimisation
  • Computer Networks
  • Fundamentals of Web Technologies
  • Development of Web Applications
  • Principles of Cryptography
  • Linux Programming
  • Parallel Programming
  • Compiler Development
  • 3D Computer Vision
  • Python Programming Language
  • Rust Programming Language
  • Scala Programming Language
  • Analysis of Programmes
  • Blockchain Technology
  • Introduction to Metacomputing
  • Software Verification in the Coq System
  • Practical Aspects of Compiler Development
  • Virtualisation and Cloud Computing
  • Distributed Systems and Algorithms
Our advantages
  • Students are instructed in fundamental mathematical disciplines by outstanding teachers and scholars of the University, in particular, by research fellows of the P. L. Chebyshev Research Laboratory headed by the Fields Prize winner Stanislav Smirnov
  • Traditional classical university education is combined with the up-to-date educational technologies. At the end of their second year, students are given the opportunity to choose the sets of academic disciplines: Machine Learning and Data Analysis, Cloud Technologies and Virtualisation, Industrial Programming, Programming Languages and so on
  • Special attention is paid to specialised technological disciplines developed in collaboration with the leading IT companies (JetBrains, Yandex, etc.), whose employees are involved in teaching. The close interaction of the University and potential employers ensures the applicability of the knowledge provided to students
  • In the process of learning, students will be able to choose programme-oriented and research projects they can work on under the guidance of their teachers or representatives of the partner companies
  • Training in competitive programming will be organised under the guidance of leading instructors
  • Personal scholarships from ten to fifteen thousand roubles a month from the JetBrains company
Practical training and career opportunities

Practical training is one of the most important components of the programme. Internships will be organised at such leading IT companies as JetBrains and Yandex.

The graduates are trained to work as:

  • programmers
  • developers
  • data analysts, systems analysts
  • researchers
  • information systems engineers

The graduates are employed by research centres, educational institutions, businesses, and IT companies.