Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017)
Материал из 0x1.tv
Содержание
Аннотация
- Докладчик
- Денис Силаков
В докладе предлагается подход к организации студенческих проектов, при котором преподавателю отводится роль посредника между студентами и upstream-разработчиками различных СПО-проектов.
Описывается опыт применения такого подхода при работе со студентами НИУ ВШЭ, выделяются его достоинства, недостатки и различные подводные камни, встреченные авторами за несколько лет применения подобной практики.
Видео
Слайды
Тезисы
Вопрос привлечения новых разработчиков актуален для многих проектов СПО. При этом ВУЗы и прочие учебные заведения предоставляют неисчерпаемый источник потенциальных энтузиастов, которые могут пополнить ряды разработчиков. Основной же проблемой является неосведомленность многих студентов о том, насколько велик мир свободного ПО и какие возможности он предоставляет.
Помочь в решении этой нестыковки могут преподаватели и кураторы студенческих проектов. Вместо выполнения учебных задач, многие из которых остаются неизменными из года в год, имеет смысл привлекать студентов к решению реальных проблем, стоящих перед теми или иными свободными проектами.
Помимо погружения студентов в реальную жизнь, такой подход позволяет переложить часть нагрузки с преподавателя на апстрим. Во всех наших проектах подобного рода мы рекомендовали студентам общаться с апстримом напрямую (в публичных списках рассылки, системах учета ошибок и прочих публично доступных инструментах, используемых проектом) и только проводили регулярной мониторинг такого общения.
Для каких курсов это подходит?
Присоединение студентов к разработке незнакомого им продукта всегда требует определенного времени. Поэтому давать такие задачи разумно только в рамках долгосрочных дисциплин — например, курсовых или дипломных работ либо предметов наподобие «Программного проекта» НИУ ВШЭ (который подразумевает работу команд студентов в течение нескольких месяцев над проектами конкретных заказчиков, в роли которых как раз и могут выступать различные СПО-сообщества).
Во многих ВУЗах студенты проходят двухнедельную производственную или технологическую практику. На наш взгляд, давать в рамках такой практики задачи, связанные с помощью некоторому свободному проекту можно только в том случае, когда студент сам неплохо знаком с этим проектом и готов ему помочь.
Как выбрать проект?
Чтобы выбрать проект, в который отправить студентов, преподавателю необходимо самому ориентироваться в мире СПО. Идеальными кандидатами являются проекты, в разработке которых преподаватель сам принимает участие, либо которыми он хотя бы пользуется. Поэтому первым делом познакомиться с проектом должен именно куратор со стороны ВУЗа — иначе возникнут трудности с точной формулировкой задачи, а впоследствии — с оценкой достигнутых результатов.
Например, в продуктах Virtuozzo используются открытые компоненты — в частности, ядро Linux, гипервизор KVM в связке с QEMU и множество других программ и библиотек для Linux. Неудивительно, что студенты, выполняющие задачи под руководством сотрудников Virtuozzo (например, в рамках прохождения курсов на соответствующей кафедре МФТИ), работают над этими продуктами и нередко их наработки отправляются в апстрим. В бытность автора сотрудником компании «РОСА», студенты выполняли немало задач для одноименных дистрибутивов Linux.
Если же говорить о выборе проекта, не имеющего непосредственного отношения к деятельности преподавателя, то следует обратить внимание на следующие аспекты:
- «адекватность» апстрима — существует немало проектов, внедриться в разработку которых человеку со стороны не очень просто, особенно если этот человек не имел подобного опыта;
- наличие у проекта внятного списка задач для реализации, среди которых есть такие, которые можно смело отдать студентам. Как правило, мы выбираем потенциально интересные для проекта задачи, к реализации которых долгое время никто не приступает.
Мотивация студентов
При выборе относительно больших задач (работа над которыми займет несколько месяцев) следует помнить, что студенты имеют право задуматься над вопросом — насколько выполнение задания пригодится им в будущем.
Не секрет, что многие учащиеся слабо знакомы с программированием под Linux и не очень-то жаждут исправить эту ситуацию (несмотря на то, что работа над открытым проектом даст им много навыков помимо собственно программирования — например, опыт работы в команде, использования популярных сервисов типа GitHub и так далее). Нынешние студенты гораздо охотнее занимаются веб-разработкой либо созданием приложений для мобильных устройств. Здесь их можно понять — рынок мобильных приложений существенно превосходит рынок настольных Linux-систем.
Однако следует помнить, что мир СПО вовсе не ограничивается традиционными Linux-приложениями. Например, в мире существует немало открытых программ для Andoid, а также мобильных версий популярных приложений для десктопа.
Примеры
Приведем примеры работ, предлагавшихся в 2015—2016 гг. студентам НИУ ВШЭ в рамках дисциплины «Командный проект»:
- Менеджер Bluetooth для LXQt;
- Android-клиент для системы сборки ABF;
- Универсальный инструмент подключения к облачным хранилищам (rosa-cloud-connector);
- Перевод QtRsynct на Qt5;
- Переиспользование учетных записей в Remmina;
- Веб-интерфейс для Koji на основе Bootstrap;
- Расширение форматов файлов, поддерживаемых QMMP;
- Инструмент локализации desktop-файлов с использованием online-сервисов автоматического перевода.
Среди указанных примеров (да и не только них), интерес вызвали только задачи, имеющие отношение к веб- или мобильной разработке. Из прочих проектов до стадии отправки в апстрим дошел только менеджер Bluetooth для LXQt. С учетом такой тенденции, в будущем мы планируем при выборе целевых проектов сместить акцент с приложений для рабочего стола на мобильные продукты и веб-сервисы. Надеемся, что в итоге подобные задания для студентов принесут пользу как самим обучающимся, так и сообществу СПО.
Примечания и отзывы
Plays:26
Comments:0