Научная статья на тему 'Автоматизированная система обучения работе с системой контроля версий «Git»'

Автоматизированная система обучения работе с системой контроля версий «Git» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
357
93
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Воронин Александр Александрович, Гарячевская Ирина Васильевна

Рассматриваются возможные решения задачи обучения сотрудников компьютерной фирмы работе с системой контроля версий Git путем автоматизации данного процесса и внедрения специализированных обучающих систем.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Automated training to work with version control system «GIT»

The article described automised developed learning system work with version control system Git. Training this system has two levels of access and enables pupils to gain the necessary skills to work as an administrator provides a convenient interface control. Administrator functions are implemented users management trainee jobs directly, but this statistic analysis unit allows to evaluate the very elaborate system.

Текст научной работы на тему «Автоматизированная система обучения работе с системой контроля версий «Git»»

УДК 681.518

АВТОМАТИЗИРОВАННАЯ СИСТЕМА ОБУЧЕНИЯ РАБОТЕ С СИСТЕМОЙ КОНТРОЛЯ ВЕРСИЙ «GIT»

ВОРОНИН А.А., ГАРЯЧЕВСКАЯ И.В._

Рассматриваются возможные решения задачи обучения сотрудников компьютерной фирмы работе с системой контроля версий Git путем автоматизации данного процесса и внедрения специализированных обучающих систем.

Введение

Рис. 1. Классификация обучающих систем

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

Анализ предметной области

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

В настоящее время применяется множество терминов, обозначающих автоматизированную обучающую систему, которые, по сути, являются аналогичными. Наиболее распространенные из них:

- система дистанционного обучения (СДО);

- автоматизированная система дистанционного обучения (АСДО);

- автоматизированная система обучения (АСО);

- обучающая программа;

- обучающая система и ряд других, менее распространенных терминов из области электронного обучения.

Независимо от используемой терминологии обучающие системы можно классифицировать на замкнутые и разомкнутые (рис. 1).

Из существующих обучающих систем наиболее полная информация о системе контроля версий Git представлена на официальном сайте: http://githowto.com/ (рис.2).

Для выработки навыков работы с Git необходимо изучить материал, состоящий из 51 урока.

Рис. 2. Официальная система обучения работе с Git

При использовании данной обучающей системы были выявлены существенные недостатки:

1. Возможность проходить задания в любом порядке, при этом пропуская некоторые из них.

2. Отсутствие подтверждения о правильности выполненного задания.

3. Редактирование существующих заданий и добавление н овых влечет за собой мн огочи сленны е манипуляции и изменение на уровне верстки сайта.

Проведенный анализ предметной области позволил сделать вывод, что для изучения системы контроля версий Git существующие системы обучения не дают возможности накопить необходимый объем знаний и навыков по работе с данной системой контроля версий.

32

РИ, 2013, № 3

Разработанная автоматизированная обучающая система для работы с Git

В разработанной автоматизированной обучающей системе реализовано взаимодействие основных ее компонентов (рис.3).

Рис 3. Компоненты системы

Веб-ориентированный интерфейс обучающей системы отображает всю необходимую информацию на web-странице и связан с базой данных, расположенной на сервере. Также с сервером и базой данных связана система Git. При прохождении пользователем учебного курса в базе данных фиксируется попытка решения. Фрагмент базы данных представлен на рис.4.

В случае правильного решения меняется статус задания, иначе, для текущего задания счетчик попыток увеличивается на единицу. Данные о попытках прохождения задания выводятся в отчетах по успеваемости пользователя и в статистике по заданиям.

Рис. 4. Фрагмент базы данных

Пользователь в процессе обучения взаимодействует с двумя компонентами системы. Непосредственно задание и его описание отображается на web-странице обучающей системы, в качестве второго компонента системы выступает консоль, через которую пользователь выполняет задания. Команды, набранные в консоли, обрабатываются системой контроля версий Git. Процесс выполнения продолжается до тех пор, пока пользователь не будет уверен, что он выполнил задание корректно. При выполнении команды Git Push происходит отправка на сервер пользовательского решения данного задания.

На сервере находится:

- база данных,

- программное обеспечение автоматизированной обучающей системы,

- файлы с эталонными решениями заданий обучающего курса.

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

Число попыток прохождения заданий отображается у пользователя на странице заданий и будет использоваться при работе модуля «статистика».

Ниже представлен пользовательский интерфейс обучающей системы (рис. 5 и 6).

training

wookieelabs

20 4

Рис.5. Интерфейс страницы заданий

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

На рис.6 показана страница задания. Она представляет собой детальное описание задания, образцы команд работы с Git, переключатели заданий (следующее и предыдущее), а также отметка о прохождении задания.

РИ, 2013, № 3

33

Рис. 6. Скриншоты пользовательского интерфейса обучающей системы (страница задания)

На рис.7, 8 представлены скриншоты режима работы администратора. В системе реализованы следующие функции:

- добавление нового пользователя (ученика),

- просмотр и редактирование информации о зарегистрированных пользователях,

- статистика прохождения курса по всей группе и по отдельному пользователю,

- добавление нового задания,

- получение статистики по заданиям,

- просмотр, удаление или редактирование имеющихся заданий.

Ш training

wookieelabs

Admininstrator

llfya Klimov

Задания

Добавить новое Стаж заданий Редактировать

Пользователи

Добавить нового Список пользователей Редактировать

Статистика

Пользовг&ли Задания

Рис. 7. Скриншот режима администратора (стартовая страница)

GII training

wnnkipplahc

Admininstrator

Iliya Klimov

Статистика пользователей

Рис. 8. Скриншот режима администратора (страница статистики)

Администратор может выводить статистику по заданиям, что позволит проанализировать уровень сложности заданий и выявлять слишком сложные или некорректно сформулированные задания, вызывающие сложность выполнения, а также слишком простые задания.

Алгоритм работы модуля статистика следующий:

1. Получаем список пользователей, список заданий и результаты выполнения заданий в виде числа попыток.

2. Высчитываем общую сумму числа попыток выполнения всех заданий каждым пользователем по формуле:

j ЇХ

i=0

где R j - сумма попыток выполнения заданий для каждого j пользователя; Pj - количество попыток выполнения i задания; 0 < i < n, n - общее количество заданий в обучающей системе.

3. Производим упорядочивание полученных результатов по убыванию.

4. Вычисление коэффициента успешности прохождения заданий осуществляем по следующим шагам:

- находим max и min значения в полученной выборке,

- значение max увеличиваем на единицу и приравниваем к 0,

- значении min приравниваем к 1,

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

- все остальные имеющиеся значения переводим в диапазон от 0 до 1, тем самым получаем значения коэффициента успешности k.

5. Определяем сложность задания по формуле:

m

Si = Ї pix kj,

j=i

где Si - сложность i задания; Pi - количество попыток прохождения задания j пользователем; m -общее число пользователей.

34

РИ, 2013, № 3

6. Определяем допустимые границы и задания, значения которых не попадают в эти границы.

Замена или редактирование подобных заданий позволит улучшить обучающую систему.

Заключение

Рассмотрены вопросы построения обучающей системы для получения практических навыков при работе с системой контроля версий Git. Цель данной разработке обусловлена отсутствием простой, бесплатной и удобной системы обучения работе с Git. В разработанной системе реализован удобный пользовательский интерфейс, учтены недостатки существующих систем и введен жесткий алгоритм пошагового выполнения заданий без права менять порядок выполнения заданий, добавлена функция подтверждения правильности выполнения задания. Для администратора реализованы возможности управления пользователями и заданиями, а также модуль Статистики.

Литература: 1 .Мельников А.В., Цытович П.Л. Принципы построения обучающих систем и их классификация. 2. Новое поколение систем контроля версий [Электронный ресурс] Доступ к ст.: http://www.techinfo.net.ru/docs/ Version_Control_Systems.html. 3. Мельников А.В., Цытович П.Л. Модель взаимодействия виртуальных объектов для имитации работы в сети Internet

Поступила в редколлегию 20.08.2013

Рецензент: д-р.техн.наук, проф. Путятин В.П.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Воронин Александр Александрович, студент факультета высоких технологий. Международный Соломонов университет, Восточноукраинский филиал. Адрес: Украина, 61058, Харьков, ул. Гражданская, 22/26, тел (057) 771-02-53), e-mail: [email protected], факс (057) 771 -02-54.

Гарячевская Ирина Васильевна, канд. техн. наук, зав-каф. ПЗАС Международного Соломонова университета, Восточноукраинский филиал. Адрес: Украина, 61058, Харьков, ул. Гражданская, 22/26, тел (057) 771-02-53) email: [email protected], факс (057) 771 -02-54.

РИ, 2013, № 3

35

i Надоели баннеры? Вы всегда можете отключить рекламу.