“We believe that practical training is a crucial prerequisite for a successful career. That’s why students in the program will be getting hands-on experience with cutting-edge development tools from day one. We will be happy to welcome ITMO students as interns; we are glad to be sharing our advanced practices and principles that are applied by YADRO engineers every day,” says Mikhail Salamatov, who supervises academic programs at the company.
Graduates can build their careers as developers of IDEs and compilers, researchers or heads of research in software quality, quality/fuzzing engineers, or QA automation specialists.
“Importantly, we are training not just programmers, but experts capable of developing reliable tools for other developers. Our students and graduates will develop technologies that will facilitate software development in all fields, including energy industry, transport, finance, and medicine,” adds Anton Kuznetsov, the head of ITMO’s Institute of Applied Computer Science, the department implementing the program.
To be able to develop tools for programmers, professionals require expansive computational resources, as well as a deeper understanding of software and knowledge of formal methods used to work with it. The first semester of the program will include courses on formal methods and fundamentals of software development life cycle.
Starting from the second semester, students will be able to choose three out of eight tracks: static or dynamic software analysis, software verification, compiler/IDE/programming language design, virtual machines, and one additional track. The latter will give students an opportunity to access courses taught at other programs of the Institute of Applied Computer Science.
The new program corresponds to subject area 09.04.01 Software Engineering. A part of classes will be held online, making it possible for students to combine their studies with a part-time job (20 hours a week).
The program requires a Bachelor’s degree in computer science and computing, information systems and technologies, software engineering, applied informatics, or mathematics and computer science. Applicants don’t necessarily have to be specialists in software development and analysis but are required to have experience of using related tools and software.
Institute of Applied Computer Science