Mathmaker: карманный олимпиадный помощник

14 Мая

Mathmaker.ru ― платформа для работы с базами олимпиадных задач. Михаил Григорьев вместе с командой четверокурсников ФИВТ разработали ее при поддержке ФЦК МФТИ. После проведения успешных испытаний проект был представлен математическому сообществу на турнире Колмогорова совместно с А.М. Райгородским. 

“Всю мою преподавательскую и олимпиадную деятельность огромное количество времени и усилий уходило на техническую работу с контентом ― поиск задач в разных местах, набор формул, решение проблем с кодировкой, коллаборация с коллегами различными способами. С теми же проблемами сталкивается большинство преподавателей. При этом вопрос решается написанием сайта, направленного на работу с задачами. Я и команда студентов ФИВТ решили это сделать,” ― рассказывает Михаил Григорьев, ассистент кафедры дискретной математики МФТИ.

Идея появилась у Михаила давно ― около десяти лет назад. Михаил неразрывно связан с олимпиадным сообществом: еще школьником участвовал в олимпиадах, а теперь сам их проводит. По опыту он знает, как много времени уходит на подготовку задач ― их хранят разрозненно, в разных форматах и верстают в разных программах. “Все страдают, но не настолько, чтобы что-то делать. Нужно написать базу один раз, чтобы облегчить всем жизнь,” ― комментирует Михаил.

олимпиады по математике

В 2012 году Михаил завоевал золото на международной математической олимпиаде школьников. На фото Михаил второй слева. Источник фото: Поток

Зарубежный Art Of Problem Solving больше похож на форум, куда выкладывают файлы с задачами прошедших олимпиад. Им неудобно пользоваться ― файлы с каждого мероприятия придется отсматривать вручную. В Mathmaker Михаил с командой добавили удобный поиск: можно выбрать класс, сложность, год и тему. Задачи на mathmaker.ru хранятся в публичной базе или в частных пользовательских ― каждый может добавить задачи в свою папку. 

Создание прототипа

Разработка началась год назад как часть инновационного практикума ФИВТ. Это предмет на 3 курсе, где студенты разбиваются на команды и работают над IT-проектами. Задачи обычно предлагают компании-партнеры факультета (например, Яндекс) или преподаватели. На практикуме Михаил и нашел будущую команду.

Заинтересовались идеей восемь третьекурсников ― все с олимпиадным прошлым. Полгода Михаил с командой писали прототип. Большая часть усилий уходила на общение с потенциальными пользователями сайта ― преподавателями кружков, составителями олимпиад и турниров. Аналитикой занимались трое: ребята составили картину пожеланий опрошенных, решили, какие функции появятся на сайте в первую очередь. Остальные писали сайт.

“Хотелось увидеть разработку продукта с нуля. До участия в проекте я имел только опыт разработки в крупной компании, с готовым стеком технологий и устоявшимся продуктом. Здесь же я надеялся попробовать себя в создании чего-то нового, не будучи ограниченным устоявшимися практиками и готовыми компонентами,” – делится впечатлениями о работе над проектом Степан Калинин, 4 курс ФИВТ, разработчик Яндекс.

Михаил планировал закончить первую версию за месяц, но разработка заняла гораздо больше времени. “Бэкенд сложный, надо много чего хранить. Это же не интернет-магазин с тремя базами данных. Баз много, и их нужно между собой связать,” ― поясняет Михаил. Свою роль сыграла нехватка времени и денег. Ребята занимаются платформой в свободное время по выходным или после основной работы, а устроить их на полный день и платить соответствующую зарплату нет возможности.

Бета-версию Михаил тестировал на турнире математических боев ФПМИ в 2019 году. Тогда на сайте был минимальный функционал, но с задачей Mathmaker справился.

Тестирование

Осенью 2019-го региональный этап Всероссийской олимпиады школьников уже составляли с помощью Mathmaker, а в декабре Михаил вместе с Андреем Михайловичем Райгородским представил платформу на турнире матбоев им. Колмогорова в Ижевске. Методкомитет турнира пользовался сайтом при подборе задач.

“Как составляют олимпиаду? Предлагают безумное количество задач, допустим, 120. Нужно отобрать по 8 на каждый класс, сделать сбалансированный по сложности вариант. Раньше эти 120 задач просто присылали кому-то на почту. В Mathmaker есть форма для предложения, добавляешь задачу и отправляешь ссылку. Все 120 задач в одном месте, выбирать удобно ― вот и сэкономлены несколько часов,” ― объясняет Михаил.

Функционал сайта позволяет хранить любые задачи, не обязательно по олимпиадной математике. С осеннего семестра mathmaker.ru пользуются преподаватели кафедры дискретной математики: удобно делиться с коллегами загруженными задачами и готовиться к семинарам. Михаил планирует позже расширить платформу на другие предметы: физику, химию, информатику.

На сайте есть контесты ― наборы заданий с автоматической проверкой ответа. В будущем Михаил хочет запустить контесты-соревнования для всех желающих, а пока их используют на дистанционных курсах МФТИ и в олимпиадном кружке Тинькофф. В таком формате удобно и пробежаться по материалу с преподавателем, и потренироваться самостоятельно.

В более удаленных планах перевод на английский язык. Перед тем, как представить платформу на международном мероприятии, нужно убедиться в востребованности сайта в англоязычном сегменте. “Пока не достигли вирусного распространения. Основной функционал есть, так что пойдем в пиар,” ― подытоживает Михаил.

Команда

Сейчас над сайтом работают трое программистов ― Степан Калинин, Денис Калиночкин и Ярослав Чиж. Ребята занимаются платформой в свободное время, как хобби. По выходным они с Михаилом собираются в переговорной ФПМИ, заказывают пиццу и пишут код. На одной из таких встреч придумали название. Кто-то нашел пакет в Python “mathmaker”, и всем понравилось: звучно и по делу.

“Ожидания оправдались – я посмотрел на продукт, который только-только создается. Неожиданным приобретением стал опыт исследования рынка. На старте проекта была только идея, нужно было провести очень много разговоров с потенциальными пользователями. Нужно было оценить прибыль, если захотим монетизироваться. Весь этот процесс, абсолютно не связанный с технической стороной проекта, оказался для меня новым и, определённо, полезным опытом,” – рассказывает Степан Калинин, студент ФИВТ.


Платформа Mathmaker.ru создана при поддержке ФЦК МФТИ.