Software Engineering

09.03.04In english and russian

Level of education Bachelor

Type of instruction Full-time

Duration 4 years

Main courses
  • Algorithms and Data Structures
  • Software Engineering, Architecture and Design
  • Formal Languages and Automata Theory
  • Probability Theory and Mathematical Statistics
  • Algebra
  • Mathematical Analysis
  • Computer Workshop
  • Discrete Mathematics
  • Functional Programming
  • Computational Mathematics
  • Quality Assurance and Software Testing
  • Programming Language Translation
  • Databases
  • Graph Theory
  • Intelligent Systems
  • Software Requirement Analysis
  • Software Project Management
  • Optimisation Methods and Operations Research
  • Operating Systems 
  • Software Development
  • Internship
Our advantages
  • The outstanding team of teachers and researchers provides training in almost all areas of modern computer science and information technology.
  • The existing scholarly traditions make it possible for students to be deeply involved in research work directly within the University.
  • The programme is unique in that it provides a balance of mathematical and technical disciplines. There is a large choice of special courses from the history of computer technology to model theory. In contrast to theoretical directions, software engineering is developing together with applied tasks. These are posed not only in computer science but also in other sciences. This makes it possible for software engineering not to become a ‘thing in itself’, but to provide for the urgent needs of many other areas. This makes software engineering interdisciplinary by nature.
Practical training and career opportunities

Practical training takes place at St Petersburg University centres.

The programme is designed to train highly qualified specialists who are able to successfully solve theoretical and practical problems in the field of software production for information and computing systems for various purposes, related to

  • the development and use of mathematical tools of information systems;
  • the development of software and methods for administering information systems and networks, including global ones;
  • the development of software for computer equipment and automated systems;
  • the use of computer technology, as well as the development of new areas and methods of application of computer technology and automated systems in information systems and networks.

Key positions

  • Programmer

  • Software architect
  • Database administrator
  • Information systems specialist
  • IT project manager
  • QA engineer
  • Software development manager
  • Technical writer (specialist in IT technical documentation)
  • Systems analyst
  • Support technician for information and communication systems
  • Systems programmer