GitHub Instructor Guide

GitHub logo

The UBC GitHub Service for Teaching & Learning is a collaborative version-control tool available for academic use at UBC. Version-control tools are commonly used for managing code or other projects where you want a clear history of the development of shared work. UBC GitHub enables this collaboration and coordination for students and is powered by an on-campus version of GitHub Enterprise that works with UBC’s Campus-Wide Login (CWL).

Cost Yes Free
Bandwidth Yes Low demand
Canvas Integration No None
Privacy Yes GitHub is FIPPA compliant and data is stored securely in Canada
Similar UBC-Supported Tools Microsoft OneDrive is also centrally supported for real-time document collaboration

What can I use it for?

You can use GitHub for a variety of classroom purposes:

  • Sharing code and projects across a course for students to build on
  • Collecting and assessing student coding assignments and labs
  • Enabling student collaboration on projects
  • Letting students experiment with changes to a project (yours, theirs, or their peers’) without affecting the original version

What do I need to use GitHub?

A UBC GitHub account

UBC GitHub accounts are based on UBC CWLs. Any student or employee with a valid CWL can create a UBC GitHub account, using the steps outlined below.

A supported web browser

GitHub runs in your web browser and supports using the latest versions of Chrome, Edge, Firefox, or Safari.

Tips

  • Students can change their CWL usernames before activating a UBC GitHub account, if they are worried about preserving anonymity in GitHub. The “Privacy Notification” information when they set up a UBC GitHub account provides details on how to do this.
  • You can install the GitHub desktop application as an alternative to working in the web interface.

How do I use GitHub?

You will first need to enable your UBC GitHub account using your CWL and request a GitHub organization for your course. Then you can use all the regular features of GitHub for teaching and learning.

Click any bar below for instructions and tips for using GitHub.

Create a UBC GitHub account

  1. Go to activate.github.ubc.ca, and log in with your CWL.
  2. Read through the "Privacy Notification" and do one of the following:
    • Consent to using your CWL as-is by clicking the "I understand" button, which acknowledges that other users can see your CWL username on your UBC GitHub account.
    • Delay your consent by clicking the "I will review this later" button to stop the creation of your UBC GitHub account.
  3. If you clicked to consent, your UBC GitHub account will be created.
  4. If you clicked to delay, you can repeat the steps above to provide your consent when you are ready.

Tips

  • Your UBC GitHub account username is the same as your CWL username and is visible to other UBC GitHub users, which is why providing consent is required to use UBC GitHub.
  • Students can change their CWL username before activating a UBC GitHub account, if they are worried about preserving anonymity in GitHub. The "Privacy Notification" information when they set up a UBC GitHub account provides details on how to do this.

Log in to UBC GitHub

  1. Go to learning.github.ubc.ca to access the UBC GitHub Service for Teaching & Learning.
  2. Use your UBC CWL username and password to log in.

Tips

  • If you use the GitHub desktop app, you will log in using the GitHub Enterprise Server option, entering "learning.github.ubc.ca" when prompted for an address.

Request a GitHub organization for your course

Organizations in GitHub are group accounts where members can collaborate on multiple projects (called repositories). UBC faculty and staff may request a GitHub organization for a course. The organization will be created and a team set up within it to auto-synchronize all students of your course as organization members. You will be able to manage member access to the organization's projects.

  1. Fill out our contact form with the following details:
    • Your CWL username
    • The course and section you want to pull in students from to become members of the organization
  2. Instruct your students to create UBC GitHub accounts at activate.github.ubc.ca, noting that they may change their CWL first, if they wish.
  3. Once we activate your request, the auto-synchronization may take up to two hours to add students to the GitHub organization, after they activate their GitHub accounts. After that, you will be ready to go.
  4. Once your organization is created, you will be able to do any of the following:

Tips

  • You will be able to create additional teams and manage repositories as the owner of a GitHub organization. Repositories are places for projects where files are stored and built on, and teams are spaces where team members communicate and collaborate around projects. More details on this are available in the next set of instructions.
  • You can invite anyone to become a member of your organization, using their GitHub username, and you can edit or cancel an invitation any time before the person accepts.
  • Accounts cannot be created on behalf of another person, so students will need to activate their UBC GitHub accounts individually.

Manage your GitHub organization

If you manage an organization (typically a course) on GitHub, you'll have the ability to invite new members as well as create additional teams and manage repositories within the organization. Repositories are places for projects where files are stored and built on, and teams are spaces where team members communicate and collaborate around projects.

Invite people to your organization

Registered students in the course and section will be auto-synchronized as members of your organization. You can invite co-instructors, teaching assistants, or other people to become members of your organization. People you invite to join your organization must be UBC GitHub members. This means they must have logged in to learning.github.ubc.ca at least once.

  1. Go to learning.github.ubc.ca to log in to the UBC GitHub with your CWL.
  2. Click your profile icon in the upper right, then choose Your profile.
  3. On the left side of your profile page, under "Organizations", click the icon for your organization.
  4. Click the People tab, then click Add member.
  5. Type the username of the person you want to add, and click Invite.
  6. Choose a role for the person and, optionally, add the person to any teams in the organization.
  7. Click Add member to invite the person to join your organization.

Create teams for your organization

You can create standalone or hierarchical ("nested") teams to more easily manage access permissions for repositories and notifications ("mentions") to alert groups of people.

  1. Go to learning.github.ubc.ca to log in to the UBC GitHub with your CWL.
  2. Click your profile icon in the upper right, then choose Your profile.
  3. On the left side of your profile page, under "Organizations", click the icon for your organization.
  4. Click the Teams tab, then click New team.
  5. Enter the name for your new team and, optionally, type a description.
  6. If you're creating a nested team, use the drop-down menu to choose a "parent" team your new team should sit underneath.
  7. Click Create team to create your new team.

Add organization members to your team

People you invite to join teams must be UBC GitHub members. This means they must have logged in to learning.github.ubc.ca at least once.

  1. Go to learning.github.ubc.ca to log in to the UBC GitHub with your CWL.
  2. Click your profile icon in the upper right, then choose Your profile.
  3. On the left side of your profile page, under "Organizations", click the icon for your organization.
  4. Click the Teams tab, then on the bottom of the page, click the name of the team you want to add members to.
  5. Click the Members tab, then click Add a member.
  6. Type the username of the person you want to add, and click Invite.

Create repositories for your organization

You can collaborate on projects by sharing files in repositories.

  1. Go to learning.github.ubc.ca to log in to the UBC GitHub with your CWL.
  2. In the upper right, click the plus icon, and select New repository from the drop-down menu.
  3. In the owner drop-down, select the account to create the repository under.
  4. Enter a name and description for your repository.
  5. Click Create repository to create your new repository.

Tips

  • Creating teams allows students to more easily collaborate and participate in discussions with a smaller group of students. Each team will have a separate page for interacting.
  • When you create a nested team, the nested (or "child") team will inherit access permissions and notifications from the parent team, simplifying permissions management and communication for multiple groups of students.
  • You can send notifications to an entire team by mentioning the team's name with GitHub’s @mention feature. You can also manage how you receive GitHub notifications.
  • Help identify your repositories using what are called README files, which should give a brief overview of each project. A README file is usually the first item shown when someone visits your repository.
  • Document your repositories using wikis on GitHub, which are a useful way to present in-depth information about your projects.

Where can I get more support with GitHub?

Technical support

If you have trouble with GitHub:

For supporting your students:

  • Share the GitHub Guides, which include instructions on getting started with GitHub and links to videos

Learn more


« See all tools