Проектная работа на первом курсе ПМИ — как это было
Проектная работа у студентов первого курса Прикладной математики и информатики началась с 3-го модуля, после сдачи курсов по программированию на Python и С++. За каждым студентом был закреплен ментор-наставник из индустрии или научной среды, который ставил задачи и курировал процесс их выполнения. Каждый студент должен был выбрать один из 53 возможных проектов. Менторы предложили самые разные проекты — от биоинформатики до компьютерной лингвистики, машинного обучения и разработки игр, веб-сервисы, архивацию, задачу коммивояжера, проекты про финансы и др.
В течение всей весны студенты упорно работали: предполагалось еженедельное общение с ментором. По итогам двух модулей менторы выдвинули лучших студентов на конкурс проектов, а кураторы проектного семинара отобрали 12 финалистов.
В результате презентации проект “Распознавание рукописных цифр при помощи многослойной нейронной сети” занял первое место, “Игра Rally для Oculus Rift” и “Задача коммивояжера” — второе место, а “Утилита для очистки текстов от обсценной лексики” и “Web-сайт на клиентских технологиях” — третье. Призом зрительских симпатий были отмечены проекты “Социальный портрет по профилю в Instagram” и “Игра с драконом для Oculus Rift”.
Топовые проекты получились очень хорошими, мы были приятно удивлены. Реализовать за выделенные на проектную работу 87 часов многослойную нейронную сеть и успешно применить ее к распознаванию цифр - это очень круто для первокурсника. Решать задачу коммивояжера на графе из 100 вершин за секунды или сделать игру для Oculus - тоже очень серьезно. Знакомые и коллеги, которым я про это рассказывал, все прониклись: мы в свое время на первом курсе и близко такого не делали.
Распознавание рукописных цифр при помощи нейронной сети
Полученные навыки за время проектной работы:
- Формулировка постановки задачи
- Написание надежного и понятного кода
- Основы теории нейронных сетей на примере классической модели Перспетрона Розенблатта
- Многослойные нейронные сети
Глеб Пособин, студент первого курса ПМИ, победитель конкурса проектов
Нейронная сеть — это взвешенный ацикличный ориентированный граф, у которого в каждой вершине стоит функция от одного аргумента. Есть такое утверждение, что для любой непрерывной функции найдется нейронная сеть, приближающая эту функцию сколь угодно хорошо. Это один из аргументов в пользу использования нейронных сетей в машинном обучении, в частности в распознавании картинок. Как обучать сеть? Например, подаем на вход вектор, “проталкиваем” его по сети, меняем коэффициенты в каждой вершине так, чтобы приблизиться к правильному ответу на этом векторе. В проекте у нас была задача: даны изображения рукописных цифр, нужно распознать что за цифры указаны. Данный модуль протестирован на известной обучающей выборке MNIST из десяти тысяч картинок
Социальный портрет по профилю в Instagram
Ментор: Андрей Казаринов, студент 4-го курса образовательной программы Программная инженерия, Яндекс
Полученные навыки за время проектной работы:
- Написание надежного и понятного кода
- Проектирование и разработка веб-приложений
- Использование реляционных или NoSQL баз данных
- Использование систем контроля версий
- Взаимодействие со сторонними сервисам через API
Александр Пушин, студент первого курса ПМИ, получил приз зрительских симпатий
Ментором решил стать в момент неофициального анонса ФКН в Яндексе. Так как я сам уже работал в Яндексе и в то же время был студентом программной инженерии, я очень хорошо понимал "внутреннюю кухню" и проблемы студентов и преподавателей.
На своем опыте я ощутил, что именно такого рода проектной деятельности не хватало на первом курсе в мое время, а еще больше не хватало ментора, который мог бы подсказать и направить и связь с которым была бы очень простой. Проект "Анализ профиля Instagram" должен был создать интерес у студентов за счёт новизны и перспективности данной области. В настоящее время тренд анализа социальных профилей только зарождается, а анализом "модного" на сегодняшний день Инстаграма занимаются всего несколько команд по всему миру.
Для реализации проекта были предложены популярные и "свежие" технологии и инструменты. Я пытался создать максимально легкие и быстрые каналы коммуникации: общение велось в группе ВКонтакте и чате. Студенты часто задавали вопросы в личных сообщениях, на которые я мог оперативно отвечать, что сильно ускоряло решение их проблем. Также была возможность пообщаться по видео и аудиосвязи, чем мы иногда пользовались. В итоге я был в курсе состояния дел каждого студента и мог корректировать курс "на лету", а они в свою очередь получали быструю помощь.
Казаринов Андрей
Ментор проекта, сотрудник Яндекса и студент 4-го курса ПИ
Задача коммивояжера
Полученные навыки за время проектной работы:
- Основы теории графов
- Основы приближённых алгоритмов
- Использование линейного программирования для оптимизации перебора
- Визуализация решения
Павел Поляков, студент первого курса ПМИ, 2-е место на конкурсе проектов
Этот проект для меня прежде всего некий вызов — удастся ли мне достичь по производительности существующие решения. В результате работы реализованы различные методы для создания и генерации случайных как абстрактных графов, так и графов с метрикой, реализованы эвристические и точные алгоритмы, пользовательский интерфейс и визуализиция решения.
Проект “Oculus VR Variations”
Ментор: Олег Чумаков, Nival
Полученные навыки за время проектной работы:
- Работа с Unity 3D/UE4
- Особенности оптимизаций для Oculus Rift (стереорендеринг)
- Особенности технологий Low Persistence и Time Warp
Денис Деркач, студент первого курса ПМИ, 2-е место на конкурсе проектов
Мой проект — это 3D игра на Oculus Rift. В начале работы я поставил себе цель сделать гонку, в которой реалистичное управление, есть соперник и трасса для соревнования. Мне было очень интересно работать над проектом, я хотел создать что-то похожее на настоящую игру, научиться работать с игровыми движками и графикой, а также с очками виртуальной реальности. Когда я начинал создавать проект, магазин Oculus состоял примерно из 20 приложений, причем гонок в них не было. Неделю назад, когда я снова заходил в Oculus магазин, там появились гонки, но их тоже было мало, но ралли среди них не было.
В моей игре два режима: вы можете соревноваться с соперниками или включить автопилот и наслаждаться поездкой по лесу.
Финальную версию моего проекта можно уже сейчас опробовать, скачав по ссылке.
Проектная работа студентов продолжится в следующем году, с третьего курса проекты станут командными, а некоторые студенты смогут зачесть стажировки в топовых компаниях за проектную работу.
Левин Михаил Владимирович
Куратор проектной работы на первом курсе ПМИ