Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020)

Материал из 0x1.tv

Докладчик

В настоящее время существует много препятствий, мешающих студенту выйти на уровень своих способностей: Сложно выбрать для изучения современные технологии, на которых можно эффективно учиться, т.к. количество IT-технологий очень велико. Кроме учебы студенту требуется работать, чтобы получать средства к существованию. При этом у него есть сильный соблазн освоения простых технологий, позволяющих получать быстрый доход, значительный с точки зрения студента, но небольшой по сравнению с тем, что позволяют его потенциальные способности. Что приводит к отсутствию у студента времени на получение фундаментального образования.

В этих условиях мы предложили студентам в рамках входящего в учебный процесс проектного командного обучения (ПКО) принять участие в проекте разработки свободного ПО.

Видео

Презентация

Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020).pdf

Thesis

Существующая проблема

Современному студенту сложно выбрать изучаемые технологии, т.к. количество существующих IT-технологий очень велико, а количество реализующих их программ - в несколько раз больше. Большинство современных технологий быстро возникают и так же быстро теряют популярность. Студенты выбирают их для изучения случайно, без какой-либо системности. Таким образом, студенту оказывается сложно получить хорошее базовое IT-образование.

Кроме того, студенту необходимо получать средства к существованию, т.к. сейчас на стипендию прожить нельзя. При этом, начиная со второго — третьего курса, у него есть возможность быстро освоить относительно простую технологию и, используя ее, начать работать в одной из IT-компаний. Это дает студенту какие-то деньги, но приводит к отсутствию у него времени на получение фундаментального образования. А отсутствие фундаментального образования не даст ему возможности в будущем разрабатывать по-настоящему сложные системы.

Если студент после бакалавриата продолжил обучение в магистратуре, то возникает еще одна проблема: Магистратура предполагает научную деятельность. При этом сложно найти IT-компанию, работа в которой требовала бы решения научных задач. Поэтому в магистратуре трудно совмещать с работой написание магистерской диссертации с серьезной наукой. Что приводит к очень высокому отсеву (до 50% студентов отчисляются из магистратуры). Попытки использовать двухлетний «безотзывный» договор на магистерскую практику, встречают понятное сопротивление бизнеса т. к. такая форма сотрудничества имеет высокие риски для бизнеса (IT-компаний) — компании опасно связывать себя на два года со студентом, которого она плохо знает.

Поэтому предлагается искать темы для ВКР и магистерских диссертаций раньше, чем это традиционно делается — уже в конце 2-го или в начале 3-го курса. Надо искать темы работ у компаний, имеющих задачи, как уровня ВКР, так и уровня магистерских работ. Желательно, чтобы в рамках этих задач ВКР постепенно трансформировались бы в магистерские работы. Лучшими задачами являются идеи ведущего специалиста компании, до решения которых, у него не доходят руки из-за занятости.

Проектное командное обучение

Сдача экзаменов по материалам лекций и выполнение лабораторных работ не дает студенту, уже имеющему практику по изучаемой дисциплине (частое явление для IT-сферы) получить опыт создания законченного продукта, опыт коллективной работы над одной задачей, а также включить результаты в портфолио проектов для будущего работодателя. В этом смысле часто самостоятельная работа над ВКР и Магистерской работой оказывается для студента неожиданно сложной. Поэтому предлагается при изучении нескольких дисциплин разрешить студентам по желанию заменить выполнение лабораторных работ по дисциплине на прохождение ПКО (проектного командного обучения).

В рамках ПКО студенты 3-4 курсов организуются в команды из 2-4 студентов, для каждой команды создается проект для решения сложной задачи, который включает все темы, рассматриваемые в дисциплине, а также, возможно, некоторые не рассматриваемые темы. Результат ПКО представляется на открытой защите, куда приглашаются представители IT-предприятий.

ПКО — решение адаптированных к учебному процессу реальных задач в виде коллективных проектов. В идеале ПКО должно быть эквивалентно «опыту работы от 2-х лет» в резюме. Награда за решение задачи ПКО — приравнивание к прохождению собеседования в компании, предоставившей задачу, возможно с несколько большей (на 20-30%) зарплатой, чем после «обычного» собеседования

Требование к задачам:

  1. Освоение технологий, предусмотренных программой курса. - Не менее 2/3 технологий, перечисленных в программе курса (из них, по согласованию с преподавателем, до ½ могут быть заменены аналогами).
  2. Наличие исследовательской составляющей
  3. Полезность темы работы для ВУЗа и/или внешнего заинтересованного партнера. Тему могут предложить: студент, преподаватель, внешний заинтересованный партнер. Преподаватель осуществляет контроль и модификацию задач с целью их соответствия программе дисциплины. Приоритет получают задачи имеющие в дальнейшем потенциал ВКР/Магистерской работы.
  4. Должно быть пройдено четыре обязательных этапа представления работы за семестр и промежуточный контроль активности (раз в неделю или раз в две недели). Команда, не представившая результаты этапа в срок, отправляется выполнять лабораторные с самого начала.
  5. Должна быть возможность публичной защиты выполненной задачи (последний этап) с приглашением представителей фирм, которых может заинтересовать тема или команда разработчиков

Ожидаемые результаты:

  • Студент часто не знает своих интересов и возможностей, а пробовать на бакалаврской или магистерской работе, обычно уже поздно. ПКО дает ему такую возможность. Студенты находят себе темы для бакалаврской работы и (или) организацию для практики заранее (т.е. до 4-го курса) и, поэтому имеют время для «маневра темой»
  • Студенты имеют возможность попробовать проверить/реализовать «свою» тему.
  • Студент лучше понимает что ему важнее: результат или процесс, кто он в команде: координатор (лидер), разработчик, демонстратор (продвиженец), тестировщик.
  • Есть студенты, которым помощь мешает, а есть - которым помощь нужна в «повышенном объеме». ПКО позволяет гибко работать с этим. Преподаватель имеет больше возможностей (времени) для занятий с теми, кому требуется его помощь, и не «тормозит» усредненными заданиями тех, кто уже достаточно знает и умеет.
  • Тема работы может стать стартапом команды, который они совместно затем «допиливают» на базе бакалаврских и магистерских диссертаций. Если тема предоставлена внешним заинтересованным постановщиком из IT отрасли, то компания имеет возможность начать готовить специалиста «под себя»

Для лучшей эффективности ПКО при отборе предприятиями тем для ПКО предлагается исходить из следующих критериев:

1. Идеи/потребности ведущих специалистов до проверки/реализации которых не находилось человеческого ресурса

2. То, что давно хотелось сделать, но не «доходили руки»

У ведущих специалистов всегда много идей и они всегда слишком заняты текущей работой, чтобы их проверять/реализовывать. На проверку таких идей часто бывает недостаточно ресурсов в виде отвлечения других сотрудников.

Но при этом эти идеи имеют нужный для развития хорошего студента потенциал. ПКО позволяет проверить такую идею с разумным риском и наградой по результату. Такие задачи могут сразу иметь потенциал ВКР и магистерской работы.

Нужные «вещи», которые обязательно сделали бы если бы появился хотя-бы маленький свободный ресурс. Такие задачи, это скорее, ВКР и в меньшей степени магистерская работа.

Чем шире список тем/задач ПКО, тем выше шанс у участников процесса: студента, ВУЗа, предприятия найти друг-друга, чтобы достигнуть следующих целей:

  1. Получение квалификации (личной)
  2. Получение специалиста (проф. и деловые навыки)
  3. Решение задачи (своей или «заказной»)
  4. Получение команды (под задачу)
  5. Создание бизнеса (стартап)

ПКО по задачам свободного проекта RunaWFE Free

В конце января 2019 г. на 14 конференции «Свободное программное обеспечение в высшей школе» авторы настоящего доклада договорились включить задачи проекта RunaWFE Free в число задач для ПКО студентов третьего курса института СПИНТех МИЭТа.

Свободное программное обеспечение удобно для проведения ПКО по следующим причинам:

  1. Студентам не требуется получать доступ к документации и коду ПО, которое они модифицируют. - Все выложено в интернет. Любая команда студентов может выполнить задачу и направить пул-реквест в репозиторий на github.com. Далее опытные разработчики проекта знакомятся с пул-реквестом и начинают работать с командой: писать замечания, предлагать решения, проверять требования к качеству кода, тестировать и т.д.
  2. Репозиторий является открытым, любой желающий может удостовериться, что данный студент является участником открытого проекта, посмотреть его коммиты.
  3. В частности, студенты имеют возможность показать свой код будущему работодателю при устройстве на работу

Для ПКО студентам МИЭТа были предложены следующие задачи:

  1. Реализовать проверку наличия возможных бесконечных циклов на схеме бизнес-процесса.
  2. Реализовать проверку схем бизнес-процессов на корректность. Схема бизнес-процесса называется корректной, если экземпляр бизнес-процесса, соответствующего данной схеме, обязательно завершится в случае корректного задания всех условий (исключающих шлюзов, обработчиков, посылаемых сообщений и т.п.) и корректного выполнения заданий узлов-действий.
  3. Чат участников экземпляра бизнес-процесса.
  4. Пилот для web-дизайнера.

При реализации задач предполагалось использовать следующие технологии: Язык — Java + Web (HTML, CSS, JavaScript).

За выполнение задач взялись две команды студентов, но одна из команд не справилась с ПКО и в конечном счете предпочла вместо ПКО выполнить лабораторные работы. Вторая команда, состоящая из двух студентов, взялась за третью задачу «Чат участников экземпляра бизнес-процесса», которую в конце концов выполнила и разместила пул-реквест в репозиторий проекта RunaWFE Free — https://github.com/processtech.

В дальнейшем доработка чата трансформировалась из ПКО в официальную производственную практику ВКР с оформлением необходимых документов.

В процессе выполнения ПКО у студентов возникли следующие проблемы: Сложно было прийти к одинаковому пониманию поставленной задачи и распределить между собой обязанности. Потребовалось разобраться в большом объеме кода системы RunaWFE Free. Оказалось сложно работать с документацией. Разработанные функции сначала неудачно назвали, поэтому их трудно было обсуждать с основными разработчиками системы. Были проблемы в понимании некоторых моментов работы IDE Eclipse. Несколько разделов первоначальной архитектуры решения оказались плохо продуманы, что привело к проблемам при реализации. Некоторые технологии, которые потребовалось применить (многопоточность, асинхронность, технология Web-Socket’ов, некоторые особенности реляционных баз данных), на момент реализации задачи выходили за рамки учебной программы.

Со стороны компании «Процессные технологии» сложности были следующими: на работу со студентами у сотрудников компании ушло больше усилий, чем изначально планировалось. В частности, трудно оказалось объяснить требования к архитектуре решения, к качеству кода и структурам данных. Несколько раз студентам потребовалась помощь преподавателей. Сроки полностью выдержаны не были — что-то студентам пришлось доделывать в сессию и даже уже после сессии.

Но, в конце концов поставленная цель была достигнута.


Привлечение студентов к разработке свободной системы RunaWFE Free в рамках проектного командного обучения (OSEDUCONF-2020)!.jpg

Примечания и ссылки

  • Ссылка на сайт проекта RunaWFE Free: \url{http://runawfe.org}
  • Михеев А. Г., Орлов М. В. Система управления бизнес-процессами и административными

регламентами. Программные продукты и системы, № 3, 2011, с. 126--130.