Distributing Lectures
Option 1: Distribute using nbgitpuller
See nbgitpuller page to see how to generate links for distributing your repository
You should not use nbgitpuller when:
You are an instructor using a JupyterHub / running notebooks locally to create materials and push them to a git repository. You should just use git directly, since the assumptions and design of nbgitpuller will surprise you in unexpected ways if you are pushing with git but pulling with nbgitpuller.
Your students are performing manual git operations on the git repository cloned as well as using nbgitpuller. Mixing manual git operations + automatic nbgitpuller operations is going to cause surprises on an ongoing basis, and should be avoided.
Option 2: Distribute one lecture materials as assigments
1. Have the materials for one lecture in a repository 2. Distribute as assignment, with its own link, and no deadline
Advantages
Students can stay as outside collaborators for ever.
There is no special consideration for shopping period
All of their lecture work is automatically set up in your organization … with a default place for them to work there are less chances for them to be pushing it to their own public GitHub…
Less management of merging conflicts and remotes
Disadvantages
There will be a lot of repositories in the organization.
No simple mechanism for pushing changes after distributiom
Option 3: All lectures in one repository
During shopping period:
Set up the lectures to be public
Students clone and pull from public repository
After shopping period:
1. Have a first assigment to generate a link. 2. Students that accept the link become outside collaborators in your organization 3. Invite the students to join the organization. 4. You should make a team for the students and give them read access to the private lecture repository 5. As members of the organization, they can create a repository to push their personal changes to the lectures. In order to sync with their own repository and with yours, they will need to set up two remotes. See https://help.github.com/articles/adding-a-remote/ for more help
Last updated