• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

«Средства анализа и разработки программного обеспечения»: новая специализация 2021 года

«Средства анализа и разработки программного обеспечения»: новая специализация 2021 года

Canva

В сентябре 2021 года была запущена новая специализация «Средства анализа и разработки программного обеспечения» базовой кафедры JetBrains для студентов бакалавриата «Программная инженерия». Мы решили узнать у преподавателей новых дисциплин и студентов первого набора, как началось обучение на специализации.

Васильев Андрей Дмитриевич
Лектор курса «Разработка IDE»

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

Поскольку предметом специализации является программирование как таковое, то затрагивается очень много аспектов компьютерных наук. Как минимум в моем курсе «Разработка IDE» можно узнать про:

  • теорию формальных языков и теорию компиляторов;

  • элементы теории типов;

  • специальные алгоритмы и структуры данных для редактирования текста и анализа программного кода;

  • статический анализ кода, анализ потока управления, анализ потока данных;

  • элементы архитектуры программного обеспечения;

  • элементы параллельного и многопоточного программирования;

  • средства отладки и профилирования кода;

и так далее.

Предполагается, что студент, прошедший курс, сможет прийти в компанию, занимающуюся «разработкой средств разработки» (конечно, мы будем рады, если это будет JetBrains), и сразу начать делать что-то полезное, сильно сократив период адаптации к предметной области.

Это курс про программирование, и он включает в себя командные домашние проекты, в рамках которых студенты разрабатывают собственные маленькие IDE, а затем реализуют поддержку учебного языка программирования в большой и настоящей IDE. Я уже очень приятно удивлен результатами выполнения домашних работ. У студентов есть свобода в выборе инструментов, алгоритмов и архитектурных подходов, и я совсем не ожидал, что студенты будут выбирать их не так, как проще, а так, как интереснее, и что они будут делать больше, чем требуется для сдачи работы.

Хочется отметить, что поскольку курс читается первый раз, то не все получается рассказать так, как виделось при планировании — следующему поколению студентов достанется гораздо более продуманная и адаптированная под аудиторию версия.

Литвинов Денис Владимирович
лектор НИСа «Машинное обучения для программной инженерии 1»

НИС «Машинное обучение для программной инженерии» затрагивает быстроразвивающуюся область применения data science для генерации и анализа кода. Моя часть НИСа читается студентам третьего курса и делает фокус на тех областях, алгоритмах и моделях машинного обучения, которые сейчас более актуальны для анализа кода. 

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

 

Азаматхан Арифханов, студент специализации:

Материал, который нам преподают, ощущается прикладным и нужным в узкоспециализированной сфере. Особенно полезным мне показался НИС «Машинное обучение в программной инженерии». Эту специализацию я бы посоветовал, например, желающим работать в JetBrains, так как она направлена на подготовку студентов к работе с профильной базой знаний компании.

Егор Скрыпников, студент специализации:

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

Мицюк Алексей Александрович
Базовая кафедра компании JetBrains: Заведующий кафедрой

Почти закончилась сессия первого семестра обучения, в том числе и для студентов специализации. Пока что до меня доходят скорее положительные отзывы от преподавателей и студентов. Хотя говорить об измеримых итогах обучения еще, конечно, рано: завершается только курс «Разработка IDE». Насколько я могу судить, студентам интересно то, что им рассказывают преподаватели специализации, а преподавателям-практикам интересно работать с нашими студентами.

Хочу также отметить, что примерно месяц назад закончилась кампания по выбору студентами проектов, которые они будут выполнять в течение всего учебного года. Преподаватели базовой кафедры и программисты компании JetBrains предложили в этом году более 30 тем для проектной работы, курсовых и дипломов. Проекты под руководством преподавателей кафедры будут выполнять не только студенты специализации, но и студенты основновного потока «Программной инженерии», программ «Прикладная математика и информатика», «Прикладной анализ данных». Будем ждать интересных результатов на защитах в конце учебного года. А пока поздравляю всех с наступающими праздниками!