Skip to main content

Connect a learning management system course to a classroom

You can configure an LTI-compliant learning management system (LMS) course to connect to GitHub Classroom so that you can import a roster for your classroom.

Who can use this feature

Organization owners who are admins for a classroom can connect learning management systems to GitHub Classroom. For more information on classroom admins, see "About management of classrooms."

About connecting an LMS to your classroom

You can connect a learning management system (LMS) to GitHub Classroom and import a roster of student identifiers from the LMS.

Prerequisites

Before you can connect your LMS to a classroom, an administrator for your LMS instance needs to register your LMS with GitHub Classroom to initiate the OAuth handshake. An admin only needs to do this registration process once, then any teacher who uses their LMS instance may sync their LMS courses to classrooms. For more information, see "Register a learning management system with GitHub Classroom."

Note: Google Classroom does not use the LTI protocol, so does not need to be connected to GitHub Classroom before importing the roster. For more information, see "Importing a roster from Google Classroom."

To configure an LMS to connect to GitHub Classroom, you must first create a classroom. For more information, see "Manage classrooms."

Supported LMSes

GitHub Classroom supports connecting with LMSes that implement Learning Tools Interoperability (LTI) standards.

  • LTI version 1.3
  • LTI Advantage

Using LTI helps keep your information safe and secure. LTI is an industry-standard protocol and GitHub Classroom's use of LTI is certified by the Instructional Management System (IMS) Global Learning Consortium. For more information, see Learning Tools Interoperability and About IMS Global Learning Consortium on the IMS Global Learning Consortium website.

GitHub has tested and verified registration, connection and the import of roster data from the following LMSes into GitHub Classroom.

  • Canvas
  • Moodle
  • Sakai
  • Google Classroom

Note: Other LMSes that implement LTI 1.3 may also work with GitHub Classroom, but have not yet been verified. LMS admins may need to configure custom settings around privacy and button placement and may need to provide teachers with documentation on how to launch into GitHub Classroom from the LMS.

Google Classroom does not use the LTI protocol, so does not need to be connected to GitHub Classroom before importing the roster. For more information, see "Importing a roster from Google Classroom."

Linking a Canvas course with a classroom

You can link your Moodle course with a classroom in GitHub Classroom. For more information about Canvas, see the Canvas website.

An administrator needs to register your LMS instance with classroom before you can link an LMS course. For more information, see "Configuring Canvas for GitHub Classroom."

  1. Sign into Canvas.
  2. Select the Canvas course to integrate with GitHub Classroom.
  3. Click "Settings" in the left sidebar, then click the "Apps" tab.
  4. Click the + App button.
  5. Under "Configuration Type", select By Client ID from the dropdown menu.
  6. Under "Client ID", input the Client ID that your LMS administrator created when registering your LMS instance with GitHub Classroom.
  7. Click Submit, then click Install.
  8. Refresh the page, and you should see a GitHub Classroom link in the course sub-navigation menu on the right hand side of the course details page. Note that the name may be different if your LMS admin named it something else when registering your LMS.
  9. Clicking the GitHub Classroom link will launch you into GitHub Classroom, where you can select a classroom to link with your LMS course.

Once your course is linked, you can import your roster from your LMS course to your classroom. For more information, see "Importing a roster from your LMS."

Linking a Moodle course with a classroom

You can link your Moodle course with a classroom in GitHub Classroom. For more information about Moodle, see the Moodle website.

An administrator needs to register your LMS instance with classroom before you can link an LMS course. For more information, see "Configuring Moodle for GitHub Classroom."

You must be using Moodle version 3.0 or greater.

  1. Sign into Moodle.
  2. Select the Moodle course to integrate with GitHub Classroom.
  3. Under "External Tools, under "General", you should see a button with the name "GitHub Classroom". Note that the name may be different if your LMS admin named it something else when registering your LMS.
  4. Clicking the GitHub Classroom button will launch you into GitHub Classroom, where you can select a classroom to link with your LMS course.

Once your course is linked, you can import your roster from your LMS course to your classroom. For more information, see "Importing a roster from your LMS."

Linking a Sakai course with a classroom

You can link your Sakai course with a classroom in GitHub Classroom. For more information about Sakai, see the Sakai website.

An administrator needs to register your LMS instance with classroom before you can link an LMS course. For more information, see "Configuring Moodle for GitHub Classroom."

  1. Sign into your Sakai instance.
  2. Select the Sakai course to integrate with GitHub Classroom.
  3. Click on External Tools.
  4. Click on Tool Links.
  5. Clicking the "GitHub Classroom" link will launch you into GitHub Classroom, where you can select a classroom to link with your LMS course.

Once your course is linked, you can import your roster from your LMS course to your classroom. For more information, see "Importing a roster from your LMS."

Importing a roster from your LMS

To import your roster from your LMS:

  1. Open your linked classroom in GitHub Classroom and select the "Students" tab.

  2. Click the Import from... button containing the name of your LMS (Canvas, Sakai, or Moodle).

    Import from Canvas button

  3. Select which identifier you'd like to use for your students, then click Import roster entries, and your roster will be imported.

To update an existing roster:

  1. Open your linked classroom in GitHub Classroom and select the "Students" tab.
  2. Click the Sync from... button containing the name of your LMS (Canvas, Sakai, or Moodle).

Sync from Moodle button

Importing a roster from Google Classroom

Google Classroom does not use the LTI protocol so does not need to be connected to GitHub Classroom before importing the roster.

  1. Sign into GitHub Classroom.
  2. In the list of classrooms, click the classroom you want to view. Classroom in list of classrooms for an organization
  3. Under the classroom name, click Students. "Students" tab for classroom
  4. If your classroom already has a roster, you can either update the roster or delete the roster and create a new roster.
  5. In the list of LMSes, click Google Classroom. "Google Classroom" button
  6. Sign in to Google, then select the Classroom to link to.

Disconnecting your LMS

You can disconnect your classroom from your LMS in GitHub Classroom settings.

  1. Sign into GitHub Classroom.
  2. In the list of classrooms, click the classroom you want to view. Classroom in list of classrooms for an organization
  3. Under the classroom name, click Settings. "Settings" tab for classroom
  4. Under "Connect to a learning management system (LMS)", click Connection Settings. "Connection settings" link in classroom settings
  5. Under "Delete Connection to your learning management system", click Disconnect from your learning management system. "Disconnect from your learning management system" button in connection settings for classroom