[Git, GitHub, Учебный процесс в IT] .Использование GitHub в обучении студентов

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
20-Дек-2020 03:31

В своей преподавательской практике использую GitHub...Но для начала давайте представлюсь. Зовут меня Старинин Андрей. И я преподаю программирование, хотя по первому образованию я биолог. А ещё один из основателей и ведущих подкаста "IT за Edu". Мой стек дисциплин:
  • C++
    • основы программирования
    • основы ООП
    • GUI-приложения (Qt)
  • C#
    • ООП
    • сетевое программирование
    • GUI-приложения (WPF)
    • взаимодействие приложений и БД (ADO.Net)
  • Базы данных
    • проектирование БД
    • SQLite
    • MySQL
  • Управление проектами
Кажется, что всего много. Но успеваем не сильно погрузиться в отдельные технологии. После какого-то времени (точно не помню уже какого) понял, что студентов можно и даже нужно "приучать" к системам управления версиями почти сразу с начала обучения. Для обучения выбрал GitHub. Хотя Bitbucket тоже нравится. Да, я не учу студентов сразу по харду, они не сразу изучают git в CLI. Я их знакомлю сначала с web-интерфейсом GitHub'а. Потом рассказываю про GUI-клиенты. Из них мне нравится GitKraken. Но не заставляю их пользоваться тем, что нравится мне - они вольны выбирать сами чем пользоваться.Постепенно - это примерно так:
  • Просто показываю как выкладывать код
  • Прошу их выкладывать свои решения и присылать мне ссылки на репозитории
  • Выкладываю текст заданий и прошу ответы присылать через pull-request'ы
  • Пробуем поработать в маленьких командах над одним репозиторием без веток
  • Пробуем поработать небольшой командой над одним репозиторием с отдельными ветками
  • Пробуем работать над большим проектом большой командой с несколькими репозиториями и ветками.
И вот такой постепенный подход стараюсь применять при изучении тем. Иногда темы заканчиваются быстрее, чем успеем перейти к большому или маленькому проекту. Но это не сильно страшно. По изучении нескольких тем мы можем полученные знания объединить в один большой проект.Не все студенты сразу всё понимают и принимают. Но тем интереснее и приятнее когда они "доходят". Ещё люблю подход: учимся на своих ошибках. Во время обучения есть возможность ошибаться и понять к чему это приводит.Что мне нравится в GitHub при обучении?
  • Поддержка аккаунтов для организаций, а в аккаунтах возможность создания команд с гибкими настройками доступов
  • Поддержка Markdown-разметки. Можно более "красиво" оформлять задания.
  • Система форков. Может любой человек сделать форк, а потом предложить запрос на слияние. Не всегда нужно всех студентов добавлять в команду.
  • Возможность комментировать участки кода при проведении ревью. Очень удобно указывать на сильные и слабые моменты в программах.
  • Возможность назначать ревьюером любого члена команды. Студенты должны уметь не только хорошо писать программы, но и проверять чужой код.
  • Система issues. Можно давать другим командам студентов задание на проверку кода и выявления багов, с занесением всего в issues.

Для чего я приучаю студентов к GitHub'у?
  • Создание своего портфолио уже с самого начала обучения, а не только под конец.
  • Понимание принципов написания кода. Когда начинают чужой код проверять - многое понимают
  • Понимание "соглашения об именовании". Пока не наступят на грабли разного именования в одной команде - не понимают. Ну или не все понимают
  • Понимание как работать в команде. И как командам между собой взаимодействовать.
Прекрасно понимаю, что мои методы не самые лучшие и далеки от совершенства, да и от реальности далековаты. Но стараюсь их приблизить к реальности.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_git, #_github, #_uchebnyj_protsess_v_it (Учебный процесс в IT), #_git, #_github, #_edu, #_education, #_students, #_management, #_learning, #_obuchenie (обучение), #_obuchenie_programmirovaniju (обучение программированию), #_git, #_github, #_uchebnyj_protsess_v_it (
Учебный процесс в IT
)
Профиль  ЛС 
Показать сообщения:     

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

Текущее время: 22-Ноя 13:10
Часовой пояс: UTC + 5