2015-05-16 3 views
2

Я планирую использовать github для класса highschool. Я не уверен в лучшем способе структурировать его с точки зрения организаций, команд и т. Д. Я бы хотел иметь репозиторий, содержащий образцы кода и отправные точки для упражнений учеников, которые затем каждый студент разрывает. Есть ли смысл в создании организации для этого? Какую настройку вы используете для обработки новых лет/семестров? Кто-нибудь получил какой-то опыт в этом?Конфигурация Github для школы

+0

мой наставник научил меня контролю версий, не нажимая код в github/bitbucket. «mercurial» имеет собственный локальный сервер, на котором вы можете вводить код. im не уверен, что 'git' имеет такую ​​функцию, хотя –

ответ

2

Один из вариантов заключается в эмулировании модели с открытым исходным кодом. Попросите учащихся не только клонировать ваш код на свои машины, но и правильно разветвлять его на github. Затем покажите им, как делать запросы на тяну.

Студенты могут органично работать друг с другом, назначая «лидера» (доброжелательный диктатор на всю жизнь в открытом источнике), и его репо будет «центральным» репо для команды. Затем остальные обращаются к нему с просьбой, или он может добавить их в качестве участников своего репо.

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

+0

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

+0

Я бы просто посоветовал вам немного утомиться и обязательно сделайте резервные копии, если вы потратите много времени на создание задания и предоставите неопытным пользователям git прямой доступ для чтения/записи. – max

+0

«Вы» Я предполагаю, что вы имеете в виду учеников, потому что в этой установке лектор никогда не должен предоставлять доступ на запись или принимать запросы на перенос в свой реестр github. – slebetman

0

Есть смысл использовать организации, если вы хотите поместить каждое задание в свой собственный репозиторий и по-прежнему обеспечить хороший обзор всех назначений.

Если вы используете модель fork и общедоступные хранилища, вам нужно будет предоставить права доступа к персоналу - так что вам не потребуется много усилий для команд.

Существует несколько способов управления новыми годами/семестрами. Один из способов - использовать ветку для каждого семестра. Другой заключается в обновлении репозиториев назначений в конце каждого семестра и назначении тега.

+0

Мой ответ был ориентирован на учеников, выполняющих индивидуальные задания/обзор. @slebetmans ответ лучше, если вы хотите преподавать сотрудничество. – max

1

Очень хороший способ сделать это с помощью образовательной платформы Github https://education.github.com/.

Я предлагаю вам создать organization для вашего класса. У каждого студента будет учетная запись, и вы сможете контролировать, кто имеет доступ к вашей организации и ее содержание.

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

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

+0

Ничего себе. Это действительно крутая функция – slebetman

Смежные вопросы