Evrone помогает обучать студентов в Бауманке
Сотрудники Evrone работают не только над коммерческими проектами. Мы активно поддерживаем
Мы научим первокурсников писать и понимать код, решать с его помощью научные и технологические задачи. В этой статье мы расскажем о том, почему для обучения выбран язык Julia, и как новые знания помогут студентам в профессиональной подготовке.
Помогаем обучать программистов
В 2018 году на организованном Evrone
Мы всегда охотно делимся знаниями и на собственных мероприятиях, и на чужих, поэтому согласились. Тем более для такой лекции у нас был подходящий спикер — Павел Аргентов. В Evrone он занимается технической адаптацией и обучением новых специалистов: знакомит с нашим подходом к разработке, помогает актуализировать знания, проверяет их, даёт тестовые задачи. Кроме этого Павел активно выступает на конференциях, так что толпа любопытных слушателей его не напугает.
Из нашего опыта мы предположили, что студентам было бы полезно узнать, как работать с кодом за пределами академического применения, сделав акцент на аспекты реальной жизни программистов. Поэтому рассказали им о качестве кода и инструментах, которые помогают его улучшать и исправлять ошибки. После чего познакомились с кафедрой
Лекция очень понравилась студентам и кафедра предложила нам сделать реальный опыт разработки на Ruby частью курса по
По отзывам студентов курс доцента Самарёва был у них одним из любимых, потому что в нём была сконцентрирована актуальная теория и практика
Запускаем курс для студентов БМТ
Курс «Алгоритмизация и программирование биомедицинской техники» является фундаментальным. Он знакомит студентов с основами программирования. Знания эти помогут в изучении других дисциплин. Раньше задачу обучения студентов программированию решал базовый курс «Информатика», но он использовал устаревший язык программирования и не давал необходимый объём знаний и навыков для решения современных задач биоинформатики и научных вычислений.
Курс — двухсеместровый. Первый семестр посвящён знакомству с программированием, начиная с самых азов: переменных, условий, циклов, объявления функций. Во втором семестре студенты занимаются прикладными задачами программирования: машинным обучением, матстатистикой, биоинформатическими расчётами (например, анализом последовательностей ДНК).
Вместе с куратором курса, Романом Самарёвым, мы выбрали для курса высокоуровневый
Язык Julia изящен в дизайне, лаконичен в синтаксисе, отлично подходит в качестве первого языка для изучения. В него встроены инструменты функционального программирования и продвинутая система типов. Навыки программирования и реализации программ на нём, могут быть использованы в дальнейшем как для работы на этом же языке, так и на других языках программирования.
Также мы рассматривали языки Python, Ruby и Pascal. Вот почему они не подошли:
- Язык Python — его легко освоить, но чрезмерная простота не позволяет использовать его в качестве «школьного» языка. Это лёгкий язык интеграций, скриптов. Python отлично применим для быстрого и качественного решения практических задач, но не может в нужном нам объёме дать академическое представление о программировании. Даже если на занятиях рассмотреть, например, реализацию алгоритма обращения матрицы, вряд ли
кто-то в реальной жизни будет использовать для него медленный Python. То есть, полученные навыки не будут востребованы. А студентов впереди ждут более сложные дисциплины, например «Введение в операционные системы реального времени» с использованием C, где фундаментальные знания будут исключительно востребованы. - Язык Ruby — отлично подходит с фундаментальной точки зрения, но использование в коммерческой разработке сделало его стандартным выбором для
веб-приложений . Научные вычисления на нём возможны, но реализуются сложнее и занимают больше времени и вычислительных ресурсов. С ним мы не смогли бы привить студентам должные навыки в оптимизации алгоритмов. - Язык Pascal — традиционный и уже архаичный язык Российского школьного образования. Его почти невозможно применять в повседневных научных расчётах. Кроме этого, Pascal — низкоуровневый язык, что хорошо для подготовки системных программистов, но не
инженеров-прикладников или учёных. Напомним, одна из наших ключевых задач — научить студентов использовать программирование в науке.
Julia — современный, производительный язык, которым активно пользуется научное сообщество. Студентам будет несложно при необходимости перейти с него на другие языки. Или — продолжать совершенствоваться на Julia в естественнонаучных областях и вычислительной математике.
Профессиональное и академическое сообщество активно поддерживает этот язык, всё больше университетов мира включают Julia в обязательный базис для магистерских и докторских программ, доступны разнообразные учебные пособия — от справочников по синтаксису до продвинутых руководств по алгоритмам и профессиональной разработке.
Для будущих учёных и инженеров это значит, что можно комфортно углубляться в изучение Julia, не боясь остаться с бесполезным инструментом на руках.
Телемедицина — это сфера практического применения биоинформатики. В нашем портфолио есть несколько проектов, связанных как со сложными научными вычислениями, так и с конкретными цифровыми услугами, применением AI в медицине. Мы успешно запускали
Мы рады, что можем передать будущим инженерам наш опыт в этих проектах и страсть к программированию, как инструменту решения задач. Надеемся, что они совершат великие научные открытия или запустят революционные стартапы, которые изменят жизнь людей к лучшему.