Магистерская программа МФТИ "Научное программное обеспечение" создана при поддержке двух школ МФТИ: Физтех-школы физики и исследований им. Ландау (ЛФИ) и Физтех-школы прикладной математики и информатики (ФПМИ), а также ряда академических и промышленных партнеров. В ее основе лежит взаимодействие студента и научного руководителя.
Цель программы — объединение усилий ученых и программистов для разработки лучших компьютерных решений и применения этих решений в области фундаментальной и прикладной науки и инженерии.
Студенты магистерской программы в рамках научной работы и в процессе выполнения проектов работают над такими актуальными задачами, такими как:
обработка и анализ данных физических и биотехнологических экспериментов;
задачи оптимизации и оптимального планирования (в том числе в геологоразведке);
разработка инструментов для сбора и анализа данных в научных и индустриальных приложениях;
И многих других.
Почему же это направление так актуально?
Существенная часть работы ученого так или иначе связана с компьютером. Компьютерные программы используются на всех этапах экспериментального или теоретического исследования. Любой работе предшествует компьютерное моделирование, затем требуется собрать и сохранить данные, проанализировать их и, наконец, представить результаты. Качество программного обеспечения — ключевой фактор в научных исследованиях и разработках.
Разработка современного программного обеспечения — это отдельная инженерная дисциплина, требующая соответствующего опыта и погружения в технологию, а также общения в профессиональных сообществах. Несмотря на то, что основы современного программирования зародились в процессе научных исследований, с тех пор прошло много времени, и во многих областях науки ученые в среднем уже не могут похвастаться хорошими знаниями в этой области. Качество программного обеспечения в естественных науках низкое. Те же проблемы свойственны инженерной индустрии.
Зачем для этого нужны ученые?
Попытки поручить разработку научного программного обеспечения профессиональным программистам не увенчались успехом. Чтобы правильно сформулировать программисту задачу, надо понимать, как работают современные компьютерные технологии и как их лучше применять.
Зачем все это программистам?
Задачи, возникающие на стыке физики и программирования, на порядок интереснее тех, что ожидают инженера-программиста в повседневной рабочей жизни. Также работа с учеными — это хороший повод опробовать все самые свежие и экспериментальные технологии. Кроме того, опыт в моделировании, обработке данных и работе с приборами в IT-среде бесценен.
Сотрудник ИЯИ РАН. Действующий член международной коллаборации Telescope Array
Разработка методов, основанных на алгоритмах машинного обучения, для анализа экспериментальных данных, а также для теоретических задач астрофизики частиц. Моделирование распространения космических лучей.
Ключевые слова: научное ПО, машинное обучение, анализ данных, физика частиц.
Лидер команды программирующих математиков Julia ORG
Разработка и исследования методов компьютерного моделирования гибридных динамических систем.
Ключевые слова: гибридные динамические системы, текстовые языки моделирования, задача Коши для дифференциально-алгебраических систем уравнений, обнаружение событий разных типов, Julia, ModelingToolkit.jl.
Разработка и исследования методов компьютерного моделирования гибридных динамических систем.
Ключевые слова: гибридные динамические системы, текстовые языки моделирования, задача Коши для дифференциально-алгебраических систем уравнений, обнаружение событий разных типов, Julia, ModelingToolkit.jl.
Учебная программа
Особенность данной магистерской программы в том, что она объединяет ученых из разных областей и программистов, поэтому нет возможности создать четкий план обучения, единый для всех. Эта проблема решается созданием индивидуальных учебных планов. Учебные планы определяются научным руководителем и согласуются с руководством магистратуры.
Обязательные для всех курсы:
Вычислительные методы (годовой курс).
Статистические методы и анализ данных (годовой курс).
Научная этика и подготовка научных публикаций (семестровый курс).
Научный семинар (двухгодовой курс).
Дополнительно можно выбрать курсы из списка рекомендованных ниже или любой другой курс, который читается в МФТИ или в партнерских вузах.
Прохождение частиц через вещество (кафедра фундаментальных взаимодействий и космологии).
Курс посвящен основам физики взаимодействия элементарных частиц с веществом. В курсе освещается взаимодействие как адронов, так и бета- и гамма-частиц. Подробно обсуждаются различные каналы взаимодействия частиц с веществом.
Введение в физику частиц (кафедра фундаментальных взаимодействий и космологии).
Теоретические основы физики элементарных частиц и фундаментальных взаимодействий. Курс описывает как введение в физику сильного взаимодействия, так и феноменологические теории слабого и электрослабого взаимодействия.
Алгоритмы и структуры данных (кафедра алгоритмов и технологий программирования).
Базовый курс алгоритмов и структур данных для адаптации физиков. В данном курсе студенты закрепляют навыки программирования на С++, изучая и реализуя сложные современные алгоритмы. В их число входят алгоритмы на графах и связанные с ними структуры данных. Другой блок задач связан с работой со строками и построением индексов текста.
Методы Монте-Карло в ядерной физике (кафедра фундаментальных взаимодействий и космологии).
Курс посвящен основам моделирования взаимодействия частиц с веществом программными средствами библиотек Geant4 и CERN ROOT. В курсе будет разобрана специфика физической и объектной модели платформы GEANT4, предназначенной для моделирования процессов в физике частиц. Курс сопровождается практическими примерами применения платформы к реальным задачам. Упор будет сделан на особенности разработки сложных моделей.
Инструменты IT.
Курс посвящен практическому обзору использования современных инструментов для разработки программного обеспечения. Кроме того, в курсе будут разобраны современные практики оформления и документирования кода, инструменты и методы командной работы в сфере разработки ПО.
Неускорительные эксперименты в физике частиц.
Курс посвящен физике “подземных” экспериментов в физике элементарных частиц. Будет произведен обзор проектов по изучению темной материи, физики нейтрино и физики бета-распада. Особое внимание уделяется методам детектирования и фонам в “подземных” экспериментах.
Введение в научное программирование на языке Kotlin (кафедра алгоритмов и технологий программирования).
Курс посвящен особенностям языка Kotlin в контексте прикладной разработки программного обеспечения для научных исследований.
Методы многомерной оптимизации.
Этот практический курс посвящен математической и программной реализации методов оптимизации непрерывных функций. Непрерывная оптимизация является основной компонентой многомерного анализа данных в физических экспериментах. Также на ней построены задачи проектирования и принятия решений и даже некоторые методы моделирования. В данном курсе упор сделан именно на практическую реализацию этих методов, сравнение их между собой и оптимизации производительности.
Продвинутое программирование на языке Python.
В рамках курса углубленно рассматривается язык Python, изучается применение стандартной библиотеки и набора библиотек scikit для решения научных задач.
Программирование на С++ (кафедра алгоритмов и технологий программирования).
Курс посвящен языку С++ и его особенностям. Рекомендуется изучать параллельно курсу "Алгоритмы и структуры данных".
Байесовские методы в анализе данных.
Курс посвящен обзору байесовских методов в применении к анализу данных физических экспериментов.
Машинное обучение в астрофизике (кафедра фундаментальных взаимодействий и космологии).
Курс посвящен обзору методов машинного обучения и их применения в физических и астрофизических исследованиях.
А также любые курсы МФТИ или других ВУЗов по согласованию с научным руководителем и преподавателями. Курсы могут быть засчитаны в МФТИ (если это позволяет формат) или входить в зачетные единицы НИР.
Как поступить?
Чтобы принять участие в программе, необходимо:
заполнить анкету. В анкете надо указать одного или нескольких научных руководителей, с которыми вы бы хотели работать;
до 1 июня (I поток) или до 15 июля (II поток) пройти собеседование с научными руководителями и согласовать предполагаемый план обучения;
ВАЖНО: предварительное согласование с научным руководителем является обязательным для обучения в нашей магистратуре.
Сроки приёма документов при поступлении на очные программы магистратуры в МФТИ в 2023–2024 учебном году:
I поток поступления: 10 апреля – 20 июля;
II поток поступления: 21 июля – 4 августа.
Обязательные вступительные испытания для поступления:
в Физтех-школу физики и исследований им. Ландау (ЛФИ) на направление «Прикладные математика и физика» – экзамен по физике и математике;
в Физтех-школу физики и исследований им. Ландау (ЛФИ) на направление «Ядерная физика и технологии» – экзамен по физике;
в Физтех-школу прикладной математики и информатики (ФПМИ) на направления «Математика, информатика и компьютерные технологии» и «Прикладная математика и информационные технологии» – экзамен по специальности.