Корпоративная магистратура «Инструменты разработки и анализа программ» открыта в Университете ИТМО совместно с группой компаний YADRO. В процессе обучения молодые специалисты научатся создавать многофункциональные инструменты для разработчиков: анализаторы кода, фаззеры, IDE (Integrated Development Environment), а также их компоненты – дебаггеры и профайлеры. Кроме того, студенты будут проектировать новые языки программирования и разрабатывать для них компиляторы.
Выпускники смогут построить карьеру разработчика или архитектора IDE и компиляторов, руководителя исследований в области качества программного обеспечения, инженера по качеству, фаззинг-инженера, специалиста по автоматизации QA.
Особенность разработки инструментария заключается в большой наукоемкости, высоких требованиях к вычислительным ресурсам и необходимости глубоко понимать внутреннее устройство программного обеспечения и формальные методы, лежащие в основе работы с ним. Поэтому в первом семестре студенты изучат дисциплины, связанные с основами формальных методов, а также посвященные базовым вопросам обеспечения жизненного цикла ПО. Со второго семестра магистранты выберут 3 из 8 треков: статический или динамический анализ программ, верификацию ПО, проектирование компиляторов, языков программирования или сред разработки, виртуальные машины, а также свободный трек. В рамках свободного трека студенты смогут выбирать дисциплины, которые преподаются на других образовательных программах Института прикладных компьютерных наук.
Новая магистерская программа открыта по направлению подготовки 09.04.01 «Программная инженерия». Обучение очное, но отдельные курсы пройдут онлайн. Студенты смогут совмещать учёбу с 20-часовой рабочей неделей.
Для поступления и успешного обучения необходимо иметь профильное бакалаврское образование в IT по таким направлениям, как информатика и вычислительная техника, информационные системы и технологии, программная инженерия, прикладная информатика, математика и компьютерные науки. Необязательно специализироваться на создании инструментов разработки и анализе программ, но нужно иметь опыт их использования.