Использование сервисов хранения репозиториев git в обучении студентов (Андрей Старинин, OSEDUCONF-2024)
- Докладчик
- Андрей Старинин
Чтобы научить студентов программированию и другим отраслям ИТ, необходимо сразу же привить им навыки работы с системами управления версиями, чтобы они уже в процессе обучения смогли сформировать необходимые в отрасли знания и навыки.
Рассмотрим примерные варианты использования сервиса хранения репозиториев git (на примере использования сервиса GitFlic).
Содержание
Видео
Презентация
Thesis
В настоящий момент распространённой, самой известной, бесплатной, свободной и открытой системой управления версиями является Git. Не все учебные заведения создают свои серверы для хостинга проектов с поддержкой системы управления версиями. В таком случае очень хорошо подходят сервисы хранения репозиториев. Например:
- зарубежные: GitHub, GitLab и пр.;
- российские: GitFlic, GitVerse и пр.
Для примеров буду использовать GitFlic, который очень хорошо подходит для российских учебных заведений.
Так как данный сервис создан ООО «РеСолют» (ОГРН: 1217700127094), есть запись в Реестре российского
ПО №15861 от 09.12.2022
В зависимости от задач, можно применять несколько сценариев использования сервиса репозиториев:
- использование репозитория без возможности ответа студента средствами сервиса;
- создание репозитория с использованием ответвлений (форков);
- создание репозитория с подключением студентов в команду проекта.
Далее подробнее рассмотрим представленные варианты использования.
- Вариант 1
- Использование репозитория без возможности ответа студента средствами сервиса. Это самый простой вариант использования. Преподавателю не нужно ничего дополнительно настраивать, достаточно зарегистрироваться и создать в своём аккаунте публичный репозиторий с заданием в README-файле. Также возможно использование аккаунта образовательной организации.
README.md Cafe Написать программу, реализующую процедуры заказа и расчета его суммы в кафе. В меню предусмотрено 4 вида пиццы и три вида напитков. Пользователю выводится меню (вначале пиццы, потом напитки), содержащее код и название. Пользователь вводит код желаемого продукта, после чего вводит количество единиц данного продукта. В кафе предусмотрены два вида скидок: • если общая сумма заказа более 50, то размер скидки составляет 20% от суммы заказа; • каждая пятая пицца — в подарок; • для напитков с ценой более 2, если количество в заказе более трех, то скидка 15% (только на напитки, а не на весь заказ). Вывести пользователю чек для оплаты в виде: название — количество — цена. Итого к оплате Порядок выполнения задания 1. Создаёте форк в свой личный аккаунт 2. Выполняете задание 3. Создаёте запрос на слияние 4. Присылаете ссылку на свой запрос на слияние
Такой вариант может подойти не только преподавателям по направлению ИТ, но и всем остальным. Сложность в следующем:
- изучить формат Markdown для создания форматированного текста задания;
- сложность сбора ответов студентов.
- Вариант 2
- Создание репозитория с использованием ответвлений (форков).
Данный вариант предусматривает использование возможности сервиса, а именно — ответвление от вашего репозитория (система форков). В данном случае алгоритм работы может быть следующим:
- преподаватель создаёт репозиторий с заданием и, возможно, с необходимым набором файлов (аналогично варианту 1);
- студент делает ответвление (форк) в свой аккаунт, выполняет задание и присылает запрос на слияние;
- преподаватель проверяет, даёт комментарии к решению.
Данный вариант позволяет:
- организовать единый канал получения ответов от студентов;
- вести учёт взятия и сдачи работы;
- давать комментарии к заданию непосредственно в сервисе репозиториев.
- Вариант 3
- Создание репозитория с подключением студентов в команду проекта. Данный вариант подразумевает уже не только выполнение задания, но и варианты командной работы. Алгоритм может быть примерно таким:
- создание команды (как в аккаунте организации, так и в личном аккаунте);
- создание репозитория с заданием с обязательной привязкой к команде (в качестве владельца указываете команду);
- добавление в команду студентов, распределение ролей (при необходимости);
- принятие выполненного задания через запрос на слияние в специальную ветку репозитория (выбирается необходимый вариант командной работы с использованием системы управления версиями).
Данный вариант позволяет:
- более приближённый к реальности вариант моделирования;
- назначать студентов в качестве ревьюеров кода (даже преподавательского).