Привет, это Александр Нозик, и этот пост посвящен еще одной "интересной" магистерской программе (на этот раз на физтехе, совместно с JetBrains, Таврида Электрик и целым списком научных организаций). Про интересность вы решите сами, но программа в этот раз действительно уникальная (пока по крайней мере). Называется она Научное программирование (официальное название "Разработка и применение программного обеспечения в физических исследованиях") и расположена на ФПМИ и ЛФИ в МФТИ. Посвящена не отдельно физике, не отдельно программированию, не отдельно computer science, а стыку всего этого.
Если вы уже поняли, что это про вас, то можно бежать читать подробности и заполнять анкету на сайте программы.
Если нет, то читаем дальше.
Зачем это?
Комната в CERN, где был изобретен интернетДело в том, что все аспекты нашей современной жизни так или иначе связаны с компьютерами и программированием, наука и инженерия не исключение. Ученые и инженеры существенную часть своего рабочего времени посвящают работе с компьютерами. Если мы говорим про науку, то все начинается со стадии проектирования эксперимента. Мы делаем большие объемы математического моделирования, чтобы понять, что вообще можно измерить и как это лучше сделать. В конце концов, мы не можем работать методом тыка. Современные эксперименты очень дороги, и делать их, не зная заранее, что там можно измерить, очень невыгодно. Дальше нам надо собрать данные, для этого используются разнообразные автоматизированные системы управления. Эти данные нужно хранить (а данных может быть очень много, петабайты). К данным нужно обеспечить удобный доступ, организовать резервное хранение, сервисы по индексации и визуализации. В конце концов данные нужно обработать. А тут уже нужно задействовать весь арсенал современных компьютерных методов работы с данными от параллельных и распределенных вычислений до машинного обучения.
В индустрии проблем не сильно меньше. То же самое математическое моделирование, тот же сбор данных, но также добавляется использование автоматических систем проектирования, инфраструктурные проекты и многое другое.
Во всех этих задачах нужно не только знать соответствующие алгоритмы, но и создавать и поддерживать программные инструменты. Практика показывает, что для этого нужно понимать не только прикладное программирование, но и ту область, в которой решения будут применяться (предметную область). В то же время физики и инженеры должны знать прикладное программирование, чтобы работать с современным программным обеспечением и совершенствовать его.
Как это?
Как вы, наверное, уже догадались, тут как раз и включается наша магистерская программа. Она организована на стыке областей, и наша цель научить физиков (и вообще "предметников") программировать, а программистов понимать предметную область. Разумеется, невозможно знать все одинаково хорошо. Но тем не менее мы и наши партнеры верим в то, что в будущем профессия физик-программист (или химик-программист, или биолог-программист), то есть тот, кто не просто может написать скрипт на Python, а умеет создавать и поддерживать прикладное программное обеспечение в предметной области, будет весьма востребована.
Разумеется, тут есть некоторая техническая сложность. Дело в том, что за последние 30 лет пути IT и естественных наук сильно разошлись, и оказывается, что физики плохо владеют IT-инструментами, а IT-шники не знают предметной области. Нам нужны и те и другие, но обучать их нужно по-разному. Поэтому нужно сделать так, чтобы программа была максимально гибкая и могла быть подстроена и под тех, и под других. Решение это минимальный набор общих предметов:
-
Вычислительные методы
-
Анализ данных
-
Научная этика
-
Научный семинар
Остальные предметы выбираются студентом совместно с научным руководителем. Научный руководитель в нашей программе играет ключевую роль, потому что мы пытаемся охватить очень широкую область со множеством узких специализаций, и именно научный руководитель (и компания или институт, стоящие за ним) являются "направляющей", по которой студент будет двигаться. По этой причине руководителя нужно выбрать заранее и убедиться в том, что он (или она) вам подходит и вы подходите ему (или ей). В качестве бонуса от такой процедуры вы можете получить гарантированное поступление в магистратуру МФТИ. Наши промышленные партнеры (JetBrains и Таврида Электрик) готовы оплатить обучение для ограниченного количества студентов, которые прошли собеседования с руководителями, но по какой-то причине не прошли по конкурсу.
Направления работы
Давайте теперь кратко подробно никакого поста не хватит остановимся на темах тех научных руководителей, которые участвуют в программе.
Математическое моделирование в физике частиц
Это направление представлено очень широко, поскольку создатели программы выходцы из этой области.
Максим Долгоносов из ИКИ РАН и ВШЭ представляет широкое направление, связанное с моделированием космических детекторов и высокоэнергетических процессов в атмосфере (с заходом в физику плазмы). Над этой проблемой сейчас также работает очень активная группа в МФТИ под руководством Егора Стадничука и Екатерины Свечниковой из ИПФ РАН.
Художественное видение реакторной модели возникновения наземных гамма-всплесков. Автор: Екатерина СвечниковаИгорь Анатольевич Пшеничнов из ИЯИ РАН является ведущим мировым специалистом по фотоядерным реакциям, физике ядер-спектаторов и моделированию на платформе Geant4 как для экспериментов в физике частиц, так и для прикладных исследований, например медицинской физики. Ученики Игоря Анатольевича работают в МФТИ.
Кроме того существует широкий спектр задач в физике частиц (в основном в международных коллаборациях), требующих навыков работы с Geant4 (С++).
В лаборатории Nuclear Physics Methods JetBrains Research мы Александр Нозик и Roland Grinis также занимаемся разработкой новых экспериментальных инструментов для моделирования процессов (в основном на Kotlin и с использованием разных новых технологий.
Моделирование на сетках
Айно Константиновна Скасырская является уникальным специалистом по сеточным расчетам разного рода (гидродинамика, термодинамика, расчет механических напряжений, электромагнитные поля). Для таких расчетов нужно не только хорошо разбираться в решении дифференциальных уравнений на сетках, но и владеть современными коммерческими пакетами, такими как ANSYS и COMSOL. Ученики Айно Константиновны чрезвычайно востребованы в промышленности.
Анализ данных в астрофизике и физике космических лучей
На данный момент этой задачей занимаются сразу две не связанные между собой группы, сотрудничающие с нашей магистерской программой: Олег Евгеньевич Калашев из ИЯИ РАН и Дмитрий Костюнин из DESY (Германия). Обе группы занимаются анализом данных с крупных международных экспериментов, таких как Telescope Array, Tunka-rex и HESS, с использованием современных компьютерных методов, включая машинное обучение.
Иллюстрация из сборника "Физики шутят"Программное обеспечение для крупных проектов
Лев Шагалов курирует широкий спектр задач от крупной коммерческой компании Таврида Электрик одного из наших основных партнеров. Среди этих задач есть как разработка высоконагруженных распределенных систем последнего поколения для управления электросетями, так и разработка и внедрение "умных" алгоритмов в энергетической отрасли.
Константин Герценбергер является главой группы программного обеспечения в эксперименте BM@N на коллайдере NICA и занимается разработкой и поддержкой всех программных систем эксперимента. Петр Климай в рамках этой же коллаборации занимается системами хранения, индексации и визуализации больших объемов данных.
Игорь Хохряков входит в коллаборацию TANGO-controls и вместе со мной занимается разработкой распределенных гетерогенных систем сбора данных нового поколения и системами визуализации для них (кому интересно, пойдите посмотрите тут и тут.
Разработка инструментов для научных вычислений
Ильмир Усманов из JetBrains (отделение в Мюнхене) входит в команду Kotlin language research и занимается проектированием и оптимизацией элементов компилятора Kotlin, нужных в том числе для высокопроизводительных вычислений.
Roland Grinis в плотном сотрудничестве с лабораториями JetBrains Research и Kotlin scientific community занимается разработкой и интеграцией инструментов для высокопроизводительных тензорных вычислений и их использованием для реализации прикладного моделирования.
Еще?
Разумеется, тут описано далеко не все, чем планируется заниматься в рамках магистратуры. В одной только нашей лаборатории еще много работы по визуализации данных, распределенным вычислениям и куче всего.
Демонстрация библиотеки VisionForge. Визуализация трэков мюонов в подземном эксперименте Muon MonitorСписок руководителей постоянно обновляется. Кроме того, если у вас есть задача по научному программированию, под которую у нас не нашлось руководителя, то пишите нам, мы поищем. Ну и разумеется, можно приходить со своим руководителем.
Для того, чтобы примерно понять, о каких задачах идет речь, можно заглянуть сюда и посмотреть тестовые/стартовые задачи, оставленные нашими руководителями с пометкой "Магистратура".
Как к нам попасть?
Для начала надо заполнить анкету. В ней укажите свою контактную информацию и тех руководителей, с которыми вы хотели бы работать. Подача анкеты ни к чему вас не обязывает. Вы можете зарегистрироваться, пройти собеседование с руководителем и решить, что вам хочется чего-то другого.
Более подробная и актуальная информация есть на сайте.
Задать вопросы и обсудить разные аспекты научного программирования можно в телеграм-группе нашей лаборатории