Skip to main content

Github Concepts

Before we look at how to use classroom it is important to understand how github organizes repositories and structures ownership of repositories. This section looks at this concept.

Accounts

Every user on github has to have a github account. Accounts are free and you can do a lot with a free account. Each student will need to get a free account.

You can find the github pricing explanation here. Depending on what you want to do, the free tier may be enough.

However, it is highly recommended that you get verified. Not only do you get the higher tier account, but you also get access to the education community. It should also be noted that while some features are available on the free tier there may be smaller limits on amount of resource you get.

As a teacher, you can be upgraded by getting verified at: https://education.github.com/benefits

Notes about getting verified:

  • Use your official email and not some random email account. It just makes everything smoother.
  • The id they ask for as part of verification needs a date.. my staff card did not have a date so I ended up redacting a pay stub and submitting that as proof (showed only my name, company name, date, and position)
  • this process has taken longer since pandemic start. Recommend doing this asap.

Repositories

A repository or repo for short, is a group of files related to one project. A repository is owned by either a user or an organization. The owner of the repository can manage who has access to the files in a repository and the level of access they have.

Organizations

To use github classroom, you must make use of github organizations. When you create an organization, you are the sole owner and member of the organization. You can add additional members and provide a role to these members. For example you may wish to add another teacher to the organization as an owner so they will be able to help manage the organization. You can also add people as member with various other roles also. Depending on the setting, any member of the organization will have the ability to do certain tasks within the organization. This management when done manually can be tricky and the students can actually get the wrong access by accident. We will look at this in a later part of these notes.

Each repo on github has an owner. The owner has full management rights to the repo. They control who has access to the repo and the type of access they have. The owner of a repo could be a github user or a github organization. When you use github classroom, repositories are created under a github organization as opposed to your user account. By putting it into an organization, the management of access to these repositories is simplified.

Pricing

Organizations have a similar pricing plan as regular github accounts. You can use the free tier if you think that is good enough but it is advantageous to upgrade the organization to get access to more features. Once you are verified as a teacher, you will be able to upgrade your organization to the team tier for free. You can own multiple organizations and upgrade multiple organizations.