Чем важна физика для программиста
Зачем программистам изучать физику
Многие люди, обучающиеся профессии программиста, искренне не понимают, зачем им нужно изучать такие дисциплины, как физика и математика. В одной из статей мы выяснили, что математика учит думать. Теперь давайте обсудим, зачем люди технических специальностей изучают физику.
Работа, связанная с физикой
Будущая работа программиста может быть связана с физикой напрямую. Допустим, в ваши задачи будет входить создание симулятора корабля, интерпретация данных, полученных от медицинского оборудования, или же разработка реалистичных компьютерных игр.
Если взять последнее направление, то применений физики можно найти огромное количество:
С первым пунктом всё более-менее понятно.
Умение строить модели
Если в математике всё всегда предельно строго (попробуйте выкинуть уравнение из системы!), то в физике человек зачастую работает с неким упрощением — моделью реальной системы. В некоторых случаях можно считать объект идеально упругим (в реальном макромире таковых нет), где-то можно пренебречь силой трения, в другой ситуации несущественной окажется сила Кориолиса.
Именно физика учит построению моделей объектов реального мира, записи их на строгом математическом языке, учит выделять главное и отбрасывать несущественное.
Для профессии программиста такой навык жизненно необходим, ведь работать с моделями приходится практически в любой сфере деятельности, начиная с поисковых систем и заканчивая банковским сектором.
Общее развитие
Знать, почему и при какой температуре закипает вода, почему скользят лыжи по снегу и почему выстреливает пробка из бутылки шампанского, должен любой образованный человек. Но если вы — представитель технической профессии, можете быть уверены, что окружающие будут ожидать от вас более глубоких познаний в области физики.
В некоторых жизненных ситуациях, человек, знающий, а главное понимающий физику, может находить простые решения сложных, на первый взгляд, проблем. А таких ситуаций жизнь активному человеку подкидывает великое множество.
В заключение
Незнакомое и непонятное всегда пугает человека. Древние люди считали, что гром и молния — это гнев богов, а сегодня, благодаря физике, эти явления сможет объяснить даже семиклассник.
Изучение математики и физики позволяет открыть для себя гармонию окружающего нас мира и даёт возможность восхищаться его красотой, вместо того, чтобы бояться и списывать всё на суеверия. На мой взгляд, это один из ценных подарков, которые дарит людям современная цивилизация.
***
Статья написана при поддержке физического сайта kalser.ru, где вы найдёте множество интересных материалов по физике: советы по решению задач, описания и демонстрации физических опытов, афоризмы и крылатые фразы из мира физики, выдержки из книг и учебников.
Реклама
Комментарии
💬 Из физиков в разработчики. Интервью с С# Middle Software Engineer
Библиотека программиста
Библиотека программиста: Здравствуйте, Роман. Расскажите, где вы сейчас работаете и в чём сейчас заключается работа? Какой стек технологий используете?
Роман Китар: Здравствуйте. Работаю я в Рязанском офисе EPAM на иностранном проекте. Мы занимаемся разработкой медицинских систем для заказчика из США. Большего я, к сожалению, сказать не могу.
Последствия пандемии
Б.П.: Как на вашу компанию и вас лично повлияла ситуация с коронавирусом?
Р.К.: Еще до объявления карантина по стране наш директор принял решение всем перейти на удаленную работу. В течение недели мы перевезли технику домой и начали работать. В начале было довольно трудно и непривычно согласовывать рабочие моменты в течение дня.
Команда работает по методологии SCRUM : у нас есть ежедневные митинги, ретро, IPM и так далее. Кроме того, мы релизимся каждую итерацию, что, конечно, было поначалу тяжело делать удалённо. Как нам, так и нашим коллегам из США. Но уже привыкли и работаем слаженно, хотя тоска по людям осталась. Мы всё ещё работаем из дома, и решения возвращаться в офис пока не было.
Первая программа
Б.П.: Расскажите, как вы начали программировать. Помните, что делала первая серьезная программа?
Р.К.: Если не считать обучения в вузе, то серьезно программировать я начал уже на курсах. Первой моей серьезной программой стал сторонний проект для друзей. Это было приложение на Android, отслеживающее вокруг себя bluetooth-маячки для активных игр на свежем воздухе.
Б.П.: Очень интересно! А в чём заключалась игра?
Р.К. : У каждой команды были планшеты, которые отслеживали рядом с собой bluetooth-маячки. Команды должны были как можно больше собрать маячков у своего флага. Можно было «украсть» маячки от флага соперников и принести к своему.
О языке C#
Б.П.: Судя по странице GitHub и предварительному знакомству с анкетой, вы в основном программируете на C#. Расскажите, чем вам нравится и не нравится этот язык.
Б.П.: Какие книги по C# вы бы посоветовали новичкам?
Про образование
Б.П.: Спасибо за рекомендации! В коротком описании для интервью вы писали, что в МФТИ учились разным языкам программирования. Но после университета работали управленцем на производстве и переводчиком на фрилансе. Почему не сразу пошли в IT?
Р.К.: Тогда у меня не было знакомых в этой отрасли, которые могли бы рассказать о работе и поделиться опытом, да и, честно говоря, IT мне тогда казалось скорее забавным подспорьем и хобби, чем родом деятельности. Теперь я конечно уже считаю иначе 🙂
Б.П.: То есть вы учились не по IT-специальности?
Р.К.: Я учился на факультете физической и квантовой электроники.
Б.П.: Почему тогда решили пойти на курсы и дальше учиться в IT? Сколько вам тогда было лет?
Р.К.: Мне тогда было 27 лет. Связано это с экономическим кризисом. Я просто решил попробовать сменить отрасль
Б.П.: Сколько времени уходило на учебу? Как проходило обучение?
На «внешних» курсах я делал задания без выходных три часа в день. Три лекции в неделю и домашние задания. Поступив на внутренние курсы я уже посвящал учебе шесть-семь часов в день, отдыхая по выходным. На внутренних курсах мы учились по программе в своем темпе, задания проверял наш ментор. Обучение в тренинг-центре по качеству материалов и уровню преподавательского состава было на высоком уровне, мне есть с чем сравнивать. Из минусов могу выделить то, что собеседование на курсы велось лишь по знанию теории. Это приводило к тому, что на курсы попадали ребята, которые не понимали, что делать с теорией на практике. Сейчас я уже сам нахожусь в составе RD-отдела, и со следующего набора мы проверяем не только теорию, но и навыки решения задач.
Трудоустройство
Б.П.: Сколько собеседований пришлось пройти до устройства на работу после обучения?
Р.К.: Сначала было собеседование на внешние курсы. После того, как я прошёл эти курсы, было собеседование и отбор на внутренние. А там всего одно собеседование на проект, на котором я сейчас работаю. Еще мне устроили пробное собеседование с будущими коллегами, уже работающими на проекте.
Б.П.: Какой вопрос с собеседования больше всего запомнился?
Об IT-мероприятиях
Б.П.: Участвуете в какой-то активности вне рамок проекта?
О проектах и планах на будущее
Б.П.: Есть ли проекты, за которые вы испытываете гордость? Что-то, что может оценить аудитория Библиотеки программиста.
Б.П.: Очень жаль. Какие проекты вы бы могли посоветовать нашим читателям, начинающим программировать, чтобы прокачать свои навыки кодинга, независимо от языка?
Б.П.: Спасибо. Какие у вас планы на будущее?
Р.К.: Я сейчас работаю на проекте, читаю лекции в Рязанском университете, помогаю учить студентов во внутренней лаборатории компании и еще многое другое. Я хотел бы в будущем, кроме продолжения моей работы, организовать в Рязани с помощью вузов и IT-компаний локальный образовательный IT-кластер с летними лагерями, олимпиадами, курсами и т. д. Приятно, что в последние годы быть инженером снова становится модно.
Б.П.: Спасибо за интервью! Могут ли читатели Библиотеки программиста сами задать вопросы? Не против ответить в комментариях?
Чем важна физика для программиста
Многие старшеклассники наивно полагают, что программирование — это лишь углубленное знание информатики, специальных языков и алгоритмов, но ведь на самом деле работа в этой сфере требует решения задач из абсолютно разных областей знаний. Как программисту помогает физика, биология и просмотр советских мультиков, а также о нюансах поступления в Институт системной и программной инженерии и информационных технологий (СПИНТех) МИЭТ нам рассказал кандидат технических наук, доцент СПИНТеха Алексей Роальдович Фёдоров.
— У Института СПИНТех вот уже несколько лет самый высокий проходной балл. Почему, как вы думаете?
— Оглянитесь вокруг. Просмотрите в свою сумочку. Почти половина предметов вокруг нас так или иначе связаны с электроникой и программированием. Начнем с самого дорогого, с чем не расстаются даже дети — смартфон, то есть «умный» телефон. Умным его делают программы. Это и Интернет, различные приложения, игры, платежные системы. Кстати, в вопросах платежей на кассе в магазине с помощью смартфона мы обогнали США. Там у вас это не получится сделать. Ну и далее — ключи от замка в подъезд, телевизоры, системы «умный дом», автомобили, автобусы, табло на автобусных остановках… И для всего этого надо разрабатывать алгоритмы и писать программы.
Разнообразие задач подразумевает многогранность подходов к их решению. Например, создать сайт из конструктора, взятого в Интернете, может даже школьник. Но этот сайт не будет нормально работать при большом количестве пользователей, не будет безопасным и т. п. Здесь уже нужны специальные знания, которые входят в образовательную программу СПИНТех. Без знания математики, теории алгоритмов невозможно создать что-то действительно сложное и полезное. Кстати, олимпийский принцип «быстрее, выше, сильнее», полностью соответствует решаемым в программировании задачам.
— В этом году у вас новшество — можно поступать не с физикой, а с информатикой. Это на какое направление подготовки?
— Да, это так: на образовательную программу «Программные компоненты информационных систем». Программа отличается прикладной направленностью, так как изначально предназначалась для обучающихся из стран ближнего и дальнего зарубежья, подготовка которых в области физики оставляет желать лучшего. В связи с пандемией приток иностранцев ослаб, а востребованность программистов только возрастает, вот мы и предоставили абитуриентам еще одну «лазейку»… Но не забывайте — студенты этой программы, как и программы направления «Прикладная информатика» не обеспечиваются общежитием. Прием на бюджет в этом году окончен, но до 15 сентября продолжается прием на контрактную форму обучения.
— А зачем вообще физика программисту?
— Я бы сказал, что программисту нужны не только физика, но и биология и история. Да и вообще все предметы, которые изучаются в школе. В том числе и литература и русский язык. Скажу больше: даже советские и российские мультфильмы нужны. Все это делает гибким мышление, способствует умению абстрактно мыслить, и как следствие находить новые подходы к решению различных сложных задач. А широкий кругозор помогает понимать постановку задач из разных областей знаний, а ведь заказчиком разработки могут быть и физики и лирики, и медики и биологи… Без базовых знаний в различных областях заказчик и программист не смогут понять друг друга.
— Какие языки программирования к моменту окончания обучения знают ваши выпускники?
— Это не совсем корректный вопрос. Институт СПИНТех создан на основе кафедры информатики и программного обеспечения вычислительных систем (ИПОВС) факультета Микроприборов и технической кибернетики (МПиТК) и двух кафедр факультета Прикладной информатики (ПРиТ) — кафедры корпоративных информационных технологий и систем (КИТиС) и кафедры системной среды качества (ССК). Программы обучения соответственно отличаются. Отличаются и языки программирования. Для профиля бакалавриата 09.03.04 Программная инженерия: С#; Python, Java. Для профиля 09.03.03 Прикладная информатика — C++, С#.
Но, как вы понимаете, это, как в фигурном катании, «обязательная программа». Бывает и «произвольная», но это в рамках факультативов и работы на профильных предприятиях.
— Вы сами не только преподаете, но и занимаетесь практикой магистрантов. Расскажите, с какими компаниями сотрудничает СПИНТех? Где проходят практику ребята?
— На сегодня у Института СПИНТех заключены договоры на прохождение студентами практики более чем с 30 компаниями. Наши основные научно-образовательные партнеры: АО «НПЦ ЭЛВИС» — обработка изображений для современных систем слежения; ЗАО НТЦ «ЭЛИНС» — разработка интеллектуальных микроэлектронных систем; ООО «АНКАД» — разработка современных средств защиты от кибератак и т. п.; Институт программных систем Российской академии наук (ИПС РАН) — суперкомпьютерные и параллельные вычисления, нейросети, аналитическая работа с большими данными; ООО «КомпНет» — программные средства глобальных сетей; ООО «Гринсайт» — заказные интернет- и веб-разработки.
Хочу особо отметить — мы не ограничиваемся каким-либо фиксированным списком предприятий. Мы не возражаем и даже приветствуем, если студенты самостоятельно находят профильное предприятие. И если это предприятие соответствует требованиям МИЭТ, то мы как правило заключаем с ним официальный договор. Кстати, договор определяет права и обязанности предприятия, и МИЭТ имеет право проверить, соответствует ли заявленная тематика реально выполняемой студентом работе.
— А часто практика студентов становится основным местом работы?
— Официальную статистику мы не ведем, но по ощущениям примерно в 25% случаев студенты после окончания МИЭТ работают как раз на предприятиях, где проходили практику. Практику студенты проходят на 4-ом курсе. Но некоторые компании (например, АО «Системы управления») приглашают студентов уже начиная с 3-го курса и продолжают с ними сотрудничать и в магистратуре. Конкретные фамилии студентов, оставшихся работать на местах практики, я назвать вам не смогу — это подпадает под закон о персональных данных. Но мы, СПИНТех, знаем этих людей и даже с некоторыми сотрудничаем — уже они приглашают наших студентов на практику на свои предприятия.
— Каким вы видите будущее программирования в России? Чего нам не хватает в этой области сегодня, на ваш взгляд?
— Молодые программисты, в том числе и выпускники СПИНТех, сегодня хорошо подготовлены и мотивированы на успех. Число областей применимости программных технологий постоянно растет. Появляются совершенно неожиданные и очень интересные и перспективные задачи, поэтому, на мой взгляд, эта профессия будет востребована всегда. А не хватает, опять же на мой взгляд, возврата к советской системе образования как в средней, так и в высшей школе и полного отказа от бакалавриата и магистратуры, ибо бакалавр — это недоинженер и даже не соответствует уровню советского техникума, магистр — недокандидат наук. А ЕГЭ — вообще убийца интеллекта.
— Жизнь можно запрограммировать?
— Запрограммировать можно все, для чего существует алгоритм. Алгоритм основывается на некоей модели, действующей в системе ограничений. Собственно жизнь человека тоже протекает в рамках модели (внутренней — задаваемой личностью, и внешней — задаваемой окружающей средой). И да, СПИНТех может в какой-то мере поспособствовать созданию эффективно работающей «программы» жизни — с минимумом «багов» для всех своих выпускников.
Беседовала Ирина Дорон ина
Как программисты помогают разгадывать тайны физики
Прошла Летняя школа по машинному обучению в физике высоких энергий, соорганизаторами которой стали факультет компьютерных наук ВШЭ и компания «Яндекс». О сотрудничестве физиков и программистов, об участии исследователей вуза и Яндекса в экспериментах CERN и о том, как обычные пользователи смартфонов помогут разгадать тайны Вселенной, рассказывает заведующий Научно-учебной лабораторией методов анализа больших данных ВШЭ Андрей Устюжанин.
Как машинное обучение помогает физикам
О Европейском центре ядерных исследований (CERN) и Большом адронном коллайдере (LHC) знает, наверное, каждый, кто хоть сколько-нибудь интересуется наукой или является поклонником ситкома «Теория Большого взрыва». Но немногие знают, что ученые Яндекса, а теперь и Вышки — точнее, исследовательская группа во главе с Андреем Устюжаниным, — сотрудничают с CERN еще с 2011 года. А все потому, что физикам в их экспериментах по поиску элементарных частиц не обойтись без помощи специалистов по большим данным. «Машинное обучение используется практически во всех областях, развиваемых специалистами CERN», — говорит Устюжанин.
Более того, область применения машинного обучения постоянно растет. «Мы начали применять наши технологии для оптимизации сетевых хранилищ данных (речь идет о GRID — сети датацентров участников экспериментов CERN), — продолжает Устюжанин. — Грубо говоря, для хранения данных есть дорогие и быстрые диски и дешевые, но медленные ленты. Используя статистику обращения к файлам, мы предсказываем, что можно оставить на дисках, а что сохранить на лентах. В результате работы такой модели можно сэкономить до 40 процентов дорогих дисков — без уменьшения скорости работы всей системы».
Эта модель сейчас реализуется на части «грида» CERN, которая принадлежит эксперименту LHCb (основной задачей этого эксперимента является исследование асимметрии материи и антиматерии во взаимодействиях b-кварков; в июле 2015 года LHCb объявил об обнаружении нового класса частиц — пентакварков). Школа анализа данных (ШАД) Яндекса в 2014 году вошла в число участников LHCb.
Что рассказывали на летней школе
По словам Андрея Устюжанина, Летняя школа по машинному обучению в физике высоких энергий (MHLEP-2015) стала «естественным продолжением отношений лаборатории с CERN». «От физики мы пригласили четырех ученых из разных экспериментов CERN, которые рассказали, как они используют машинное обучение для анализа данных, проверки физических гипотез, поиска новых теорий и онлайн-отбора событий, — говорит Устюжанин. — На самом этапе обработки данных 99,9% событий «выбрасывается в корзину», и очень важно, чтобы среди этого кажущегося мусора не оказалось физически значимых данных».
На школу было прислано вдвое больше заявок, чем предполагали организаторы. «Нам было важно, чтобы у участников был реальный интерес, — поясняет Андрей Устюжанин. — Замечательным результатом школы были бы реальные исследования, которые участники смогли усилить, вооружившись тем знанием, инструментами и методами, которые мы им дали в ходе школы».
Как найти нобелевскую премию
Еще один проект на стыке физики и компьютерных наук, в котором участвуют Вышка и ШАД вместе с экспериментом LHCb, — это организация конкурса на площадке онлайн-сервиса Kaggle. В 2014 году проходил конкурс, участники которого искали Бозон Хиггса (кстати, студент факультета компьютерных наук Станислав Семенов занял тогда седьмое место).
Нынешний конкурс посвящен новой физике — участникам предстоит разобраться с нарушениями законов симметрии аромата лептонов. Работать нужно как с реальными данными, полученными в эксперименте LHCb, так и с данными, полученными из симулятора. В конечном счете цель конкурса — коллективными усилиями найти новые методы обработки данных, которые помогут найти распад тау-лептона на три мюона. Этого распада никто никогда не видел, но если его получится найти — это находка уровня нобелевской премии.
«Приходишь на площадку Kaggle, регистрируешься, выбираешь соревнование «Flavours of Physics», знакомишься с правилами и получаешь доступ к данным, — объясняет Андрей Устюжанин. — Есть starter kit, который помогает новичкам разобраться и в данных, и в метрике, и в формате отправки решения. Важно, чтобы человек умел программировать, чтобы ему нравилось разбираться в данных и чтобы ему была интересна физика, именно исследовательская часть — мы постарались сделать так, чтобы участникам не приходилось разбираться в тонкостях собственно эксперимента». Результаты самых интересных работ могут быть использованы в анализе новых данных LHCb 2015 года.
Почему физика становится популярной
У каждого человека есть интерес к познанию окружающего мира, уверен Андрей Устюжанин. Для многих наука становится чем-то вроде хобби, и такая «оппортунистическая» научная деятельность может оказаться весьма продуктивной. «Новый взгляд всегда что-то добавляет, и чем больше нового, тем выше шансы, что оно даст что-то полезное, — говорит Устюжанин. — Мы это видим на примере нашего конкурса «Flavours of Physics», когда люди пытались выйти за рамки, которыми мы их ограничили, и способы обхода этих рамок, даже если они сами по себе были бесполезны для физики, вызывают цепную реакцию. Другие участники поняли: ага, так делать нельзя, но может быть, если немного изменить подход, то получится что-то полезное».
С любителями всегда охотно сотрудничали астрофизики. А вот физика высоких энергий долгое время оставалась закрытой для непрофессионалов из-за определенной культуры и специфики работы с данными, в которой человек «со стороны» не смог бы разобраться. Но ситуация меняется. «Есть движение со стороны науки, по крайней мере некоторых экспериментов, которые готовы делиться частью накопленных данных, чтобы привлечь экспертизу извне. В выигрыше от этого оказываются обе стороны, — отмечает Андрей Устюжанин. — Например, CERN выложил данные нескольких экспериментов за 2010 год и планирует опубликовать данные последующих лет».
Эксперименты CERN — не единственный проект, над которым работают сотрудники Научно-учебной лаборатории методов анализа больших данных ВШЭ (LAMBDA), возглавляемой Андреем Устюжаниным. Другой проект, Crayfis, как раз «открывает» науку для любителей.
Crayfis — это международный консорциум (Вышка является его партнером наряду с крупнейшими американскими университетами) по поиску космических частиц высокой энергии, которые попадают в атмосферу Земли. Когда они соударяются с верхними слоями атмосферы, то вызывают своего рода цепную реакцию, разгоняя другие частицы, — и получается «ливень» из частиц, который накрывает площадь около одного квадратного километра. Источник таких частиц — одна из неразрешенных загадок нашего времени.
Такие частицы очень редки (по некоторым оценкам на Землю их прилетает порядка 1 частицы на 100 квадратных километров в год), никто не знает, откуда они берутся, их ищут специальные обсерватории, построенные в Южной Америке, и понятно, что обслуживание таких обсерваторий и всего их оборудования стоит огромных средств.
Crayfis — проект поиска тех же самых частиц, но с помощью мобильных телефонов. Чувствительного элемента смартфона достаточно, чтобы его камера смогла зафиксировать продукты распада такой частицы.
«Мы занимаемся разработкой технической части: каким образом нужно фильтровать показания камеры, чтобы уменьшить шум, и как построить систему накопления данных, которая сохраняла бы информацию от всех участников проекта», — рассказывает Андрей Устюжанин. Но нужна огромная сеть из специально настроенных смартфонов, чтобы «поймать» в нее частицу. Проект будет успешным, если соберет около миллиона участников по всему миру. Доступ к данным, собранным этим экспериментом, будет открыт всем участникам, предоставившим свои смартфоны.
Наука или бизнес?
«Большинству людей интереснее приложить свои умения к тому, на чем они могут зарабатывать деньги, — говорит Устюжанин, — и в этом смысле для математиков, программистов, наверное, привлекательнее хедж-фонды или биржи, где ты запустил алгоритм — и сразу увидел, как это отражается на финансах компании. Но есть люди, которых интересуют вопросы более фундаментальные. Как хакеры исследуют устройство чужих программ и систем, так и эти люди пытаются найти ключ к тому, как работает Вселенная».
«Мы рассматриваем студентов лаборатории как потенциальных исследователей, которые в дальнейшем могут влиться в полноценную работу над физическими экспериментами», — отмечает руководитель LAMBDA. Но сфера применения полученных в лаборатории знаний гораздо шире. Умение работать с данными позволяет переключаться между разными областями науки — от финансов до медицины.
Главное — интерес и готовность самостоятельно использовать предложенные инструменты, а не ждать, что кто-то другой все посчитает за вас. «Экосистема, которую нам удалось создать вокруг, помогает нам привлекать именно таких коллег, и если среди читателей есть подобные люди, мы рады будем с ними пообщаться и посмотреть, чем мы можем быть полезны друг другу», — говорит Андрей Устюжанин.
А школьникам, интересующимся компьютерными науками или применением компьютерных наук в физике можно посоветовать обязательно прийти в Вышку 13 сентября на День программиста. Сотрудники лаборатории LAMBDA и ИТ-компаний объяснят, почему то, чем они занимаются, не только интересно, но и полезно для человечества.