«Прикладная математика и информатика»: кому подойдет эта программа и что на ней изучают
Программа «Прикладная математика и информатика» открылась в Вышке четыре года назад. Она готовит разработчиков, которые владеют современными технологиями разработки ПО и несколькими языками программирования, а также с первого курса работают над реальными задачами. Как налажено сотрудничество с бизнесом, как устроена проектная работа и какие предметы будут изучать ребята — подробнее в материале.
О чем программа и кому она подойдет
«Прикладная математика и информатика» — исторически первая программа по IT, которая появилась в Питерской Вышке. Студенты получат глубокие навыки в программировании, математике, теории алгоритмов. Также они изучат такие языки программирования — С++, Python, Java, Haskell и Kotlin. Навыки разработки программа дополняет специализациями по одной из пяти областей — промышленному программированию, теоретической информатике, биоинформатике, машинному обучению и анализу данных. Однако если абитуриенту интереснее заниматься не написанием программ, а применением машинного обучения, ему больше подойдет «Прикладной анализ данных и искусственный интеллект».
На входе важно, чтобы у абитуриента был хороший набор навыков по математике и программированию. На программе учатся сильные студенты, которые регулярно выходят в финал чемпионата мира по программированию ICPC. Идеально — если абитуриент участвовал в олимпиадах. Когда есть база, проще начинать учебу. Однако абитуриенту с хорошими баллами ЕГЭ тоже вполне реально попасть на программу и хорошо учиться, главное — старание.
Как выглядит учебный процесс
За первые два года студенты должны освоить минимальную базу, необходимую для каждого программиста вне зависимости от области, которую он выберет дальше. По математике это математический анализ, линейная алгебра, абстрактная алгебра и другие предметы. Что касается программирования, студенты будут изучать C++, Python, Java и Haskell. Будут и общие предметы — по алгоритмам и структурам данных, операционным системам, архитектуре компьютера и парадигмам программирования.
Важно учесть, что на первом и втором курсах у студентов высокая нагрузка. Около 12–15 пар в неделю и домашние задания. Но если вложиться в учебу, можно получить знания высокого качества. Работать потом будет проще, это инвестиция в себя.
На третьем курсе студент выбирает направление, в котором хочет развиваться, и следует ему до конца бакалавриата. Вместе с ним приходит и список предметов, которые нужно будет изучать. Но если студенту интересно нечто на стыке двух направлений, можно обсудить учебный план с кураторами программы: что-то добавить, чем-то пренебречь. На все предметы сразу ходить не получится, нужно выбрать.
Направления есть как основные, так и дополнительные. Основные — «Технологии промышленного программирования», «Теория языков программирования», а также «Машинное обучение и анализ данных». Остановимся подробнее на первых двух.
«Технологии промышленного программирования» — для тех, кто хочет работать в индустрии. Там изучают частные вопросы, которые касаются современных фреймворков, мобильной и веб-разработки, работы с высоконагруженными системами и другие аспекты, которые нужны прикладному разработчику. «Теория языков программирования» — про языковые инструменты и системы, в которых разработчики пишут код. На этом направлении изучают, как создавать компиляторы, анализировать и верифицировать программы на корректность, разрабатывать IDE.
Дополнительные направления открываются в том случае, если есть студенты, которым они приглянулись. На выбор есть два варианта — «Биоинформатика», «Теоретическая информатика». Трек по биоинформатике реализован при поддержке компании BIOCAD. А на «Теоретической информатике» можно узнать, как придумывать алгоритмы и разбираться с задачами, решений для которых в общих случаях пока нет.
В чем основное преимущество программы
«Прикладная математика и информатика» изначально создавалась, исходя из требований IT-компаний к своим сотрудникам. Преподаватели — не просто университетские работники. Они совмещают преподавание с работой в компаниях, и именно за счет этого студенты могут получать актуальные и свежие знания. Наполнение курсов тоже обновляется благодаря таким кейсам от бизнеса.
Кроме того, учеба на программе базируется на проектной работе. Руководство программы собирает от компаний и лабораторий список актуальных задач, к которым могут подключиться студенты. И за счет этого по окончании учебы ребята получают портфолио с реальными проектами, которые можно сразу показывать работодателям. Это дает преимущество при трудоустройстве.
Как устроена проектная работа
На первом курсе студентов ждет учебный проект по С++. Если сделать его качественно, на каникулах есть шансы пройти на стажировку по этому языку в крупную компанию. На втором курсе есть проект по Java, который можно заменить одним настоящим из списка. За третий год нужно справиться с двумя реальными проектами, на четвертом — с дипломным. При этом важно, что дипломная работа может быть частью реального проекта — например, в этом году Екатерина Шелухина взяла для этих целей Robbi, платформу машинного обучения. Бывают студенты, которые занимаются одним проектом с первого по четвертый курс, просто отчитываются по частям. Но такая ситуация — скорее исключение.
Чтобы попасть на проект, нужно пройти отбор. Все как при устройстве на работу. Сначала нужно сделать тестовое задание, по его итогам приглашают на одно или два собеседования. Если разговор был удачным, студента приглашают на проект, если нет — нужно поискать другой.
Когда студенты работают над проектами компаний, они по сути встраиваются в ее работу. Их ментор — реальный сотрудник. Ребятам, которые показывают успехи, часто предлагают стажерские позиции. Кроме того, они работают над продуктом, который интересен самой компании. Например, в этом году можно было присоединиться к мастерской по виртуальным платформенным решениям от VK, где разрабатывали платформу Robbi.
Дополнительный проектный опыт можно получить во время стажировки — в одной из компаний-партнеров и не только. В числе партнеров программы — VK, «Яндекс», «Газпром нефть» и Saint Petersburg Research Center. Обычно студенты «Прикладной математики и информатики» идут стажироваться после второго или третьего курса, но некоторые начинают сразу после первого.
Что, если студенту интересна научная работа
В Школе физико-математических и компьютерных наук есть несколько научно-исследовательских лабораторий. Студент может присоединиться к Лаборатории естественного языка ВШЭ-Яндекс или к Центру анализа данных и машинного обучения, которым руководит Алексей Шпильман. При желании можно обратить внимание и на другие подразделения Вышки — например, на междисциплинарную Лабораторию социальной и когнитивной информатики.
Важно понимать, что наука в области IT — прикладная. Поэтому после выпуска можно работать в исследовательских отделах крупных компаний, которые разрабатывают алгоритмы и тестируют гипотезы.
Кем можно работать после выпуска
Все зависит от направления, которое выбирают студенты. После технологии промышленного программирования можно получить позицию middle software developer. Если ребята заканчивают трек по машинному обучению, можно стать средним или младшим специалистом по разработке или анализу данных. Студенты направления по биоинформатике или теории языков программирования обычно становятся исследователями-разработчиками в своей сфере.
Большинство студентов получают офферы уже прямо во время учебы. Например, в текущем выпуске студенты уже работают в таких компаниях, как Ozon, VK, «Яндекс», JetBrains. Также можно устраиваться в одну из компаний-партнеров через удачные проекты и стажировки.
Какие бонусы программа предлагает олимпиадникам
Для абитуриентов-олимпиадников есть программа повышенной академической нагрузки. Она откроется и в грядущем учебном году. Программа дает больше возможностей для проектной деятельности и готовит к олимпиадам по программированию и хакатонам. Аналог такой программы планируется запустить и для второкурсников.
На программе «Прикладная математика и информатика» 30 бюджетных и 30 платных мест, а также пять мест для иностранцев. Следить за новостями программы можно на сайте. Для вопросов также есть открытый Telegram-чат.
Шпильман Алексей Александрович
Заведующий Центром анализа данных и машинного обучения