По пунктам:

  1. Что за направление?
  2. Это перспективно?
  3. А что с программированием в ИТМО?
  4. Как участвовать в олимпиаде по треку?
  5. Что проверяют на олимпиаде?
  6. Как готовиться к заданиям?
  7. Что дает победа?

Что за направление?

Направление «Программирование и информационные технологии» основано на знании математики, информатики и технологий ― ключевых навыков для программиста. Вопреки расхожему мнению, чтобы разрабатывать программы и приложения, недостаточно просто знать тот или иной язык программирования. Чтобы программные решения действительно работали и были надежными и безопасными, разработчику нужно понимать сами принципы, по которым работают алгоритмы, знать правила, требования и стандарты, уметь применять специфические технологии, интегрируя их в свое решение.

Это перспективно?

Несмотря на популярность профессии разработчика, на рынке все еще ощущается кадровый голод. Например, на сайте hh.ru прямо сейчас опубликовано более пяти тысяч вакансий для программистов в Санкт-Петербурге, и более 16 тысяч ― в Москве.

Еще одно преимущество профессии в многообразии выбора карьерного пути. Это может быть веб- или мобильная разработка, работа над ПО или системами управления, работа с базами данных или машинным обучением, искусственным интеллектом или разработкой игр.

А что с программированием в ИТМО?

ИТМО ― альма-матер победителей международных соревнований по программированию: ICPC (университет ― единственный в мире семикратный чемпион), Google Code Jam, Facebook Hacker Cup, Яндекс.Алгоритм, Russian Code Cup, Topcoder Open и других. В университете работает сразу несколько факультетов, на которых готовят будущих разработчиков. Например, на факультете информационных технологий и программирования учат фундаментальным основам программирования и разработки, на факультете программной инженерии и компьютерной техники ― решать прикладные задачи (например, проектировать интерфейсы, создавать веб-приложения или коммерческие информационные сервисы), а на факультете инфокоммуникационных технологий ― мобильной разработке и работе с данными.

Благодаря своей экспертизе и репутации ИТМО регулярно становится куратором трека «Программирование и информационные технологии» на Всероссийской олимпиаде «Я ― профессионал».

Выпускник ИТМО Геннадий Короткевич, двукратный чемпион ICPC, многократный победитель Google Code Jam и других соревнований. Фото: ITMO.NEWS

Выпускник ИТМО Геннадий Короткевич, двукратный чемпион ICPC, многократный победитель Google Code Jam и других соревнований. Фото: ITMO.NEWS

Как участвовать в олимпиаде по треку?

В олимпиаде «Я ― профессионал» могут участвовать студенты бакалавриата, специалитета или магистратуры всех форм обучения. Первый шаг, который нужно сделать, ― до 15 ноября зарегистрироваться на сайте «Я — профессионал», используя имеющийся аккаунт «Яндекса» или создав новый. Затем нужно выбрать направления олимпиады, в которых хотите участвовать (в данном случае ― «Программирование и информационные технологии»), и загрузить документ, подтверждающий, что вы студент российского вуза.

С 18 ноября по 4 декабря пройдет отборочный этап, на котором участникам предстоит решить задания олимпиады онлайн. Кстати, отборочный этап могут не проходить победители, призеры и медалисты олимпиады прошлых лет. Также организаторы могут засчитать пройденные на отлично онлайн-курсы на площадках Coursera и EdX, полный их список указан на сайте.

Что проверяют на олимпиаде?

Задания делятся на фундаментальные и практикоориентированные, причем последних существенно больше. Фундаментальные задания охватывают вопросы дискретной математики, алгоритмов, структур данных и архитектуры ЭВМ. Практикоориентированные нацелены на понимание деталей и умение применять конкретные технологические решения в таких областях, как базы данных, хранилища данных, компьютерные сети, многопоточное программирование, операционные системы и, конечно, технологии программирования.

В прошлом году на отборочном этапе было 12 заданий для студентов бакалавриата и 10 заданий для магистрантов. В туре для учащихся в бакалавриате в одной из задач надо было найти и исправить ошибку в нетривиальном SQL запросе к ненормализованной базе данных, в другом ― написать wildcard-маску для выделения определенных IPv4 адресов, в третьем ― проанализировать эффективность работы кэш-памяти процессора. А еще ― решить несколько задач по программированию в условиях ограничений использования вычислительных ресурсов, применив на практике знания дискретной математики и алгоритмов и структур данных.

В туре для магистрантов задания были направлены на практическое применение более специализированных и сложных технологий. Участник должен был оценить возможные проблемы конкретной реализации многопоточного решения, сформировать выборку данных из прототипа хранилища данных, реализовать алгоритм определения спама на основе наивного байесовского классификатора, проанализировать UML диаграмму состояний и решить несколько сложных задач на программную реализацию эффективных алгоритмов обработки данных.

На заключительном этапе и для первых, и для вторых используются точно такие же структуры туров, включая распределение заданий по темам. Основное отличие от отборочного этапа ― в сложности заданий, для решения которых требуются более комплексные знания в конкретных областях.

Региональный этап ICPC в ИТМО в 2019 году. Фото: ITMO.NEWS

Региональный этап ICPC в ИТМО в 2019 году. Фото: ITMO.NEWS

Как готовиться к заданиям?

После регистрации на сайте «Я ― профессионал» зарегистрированным участникам откроется доступ к большому массиву подготовительных материалов и литературы. Также полезно почитать спецификации олимпиад прошлых лет, в которых указана подробная информация о проверяемых знаниях и критериях оценивания. Помимо этого, можно посмотреть вебинары с разбором задач прошлых лет от преподавателей факультета информационных технологий и программирования.

Более того, перед тем как выполнять задания отборочного тура, можно пройти пробный контест, подготовленный организаторами, или попробовать порешать задачи олимпиадного уровня ― именно так, например, в свое время готовился победитель олимпиады 2020 года, выпускник ИТМО Илья Подуременных.

Что дает победа?

Все медалисты, победители и призеры получат диплом олимпиады, льготы при поступлении в российские университеты и доступ в центр развития карьеры «Я — профессионал». Там студенты смогут узнать о вакансиях и стажировках компаний-партнеров, онлайн-мероприятиях и экскурсиях на предприятия, а также получить консультацию HR-специалистов.

Помимо этого, золотые, серебряные и бронзовые медалисты могут рассчитывать на денежную премию (от 100 до 300 тысяч рублей в зависимости от медали и ступени обучения — бакалавриата или специалитета/магистратуры) и стажировки в крупных российских компаниях.

Направление «Программирование и информационные технологии» — один из трех треков олимпиады «Я ― профессионал», которые проводит ИТМО в этом сезоне. Генеральным партнером выступает Сбер. Также университет курирует в шестом сезоне треки «Информационная и кибербезопасность» и «Робототехника». Подробнее о том, как готовиться к последнему направлению, мы рассказывали здесь.