GitHub Classroom offers a suite of features such as assignment templates, auto-grading, feedback pull requests, and group assignments. With the GitHub Classroom integration in your Canvas course site, you can craft assignments with ease, automate grading, and enhance collaboration in your classroom. Re-using assignments from term-to-term is simplified, as is roster syncing between systems, to cut down on administrative barriers when getting your course site set up.
Please start here before setting anything up: Getting Started with GitHub
GitHub Setting up your Organization
- Before you connect your course to GitHub Classroom you will need to setup an Organization. Note: If you have Co-instructors or TA's that need access you should setup a new Organization so that you can add them as admins in your Organization.
- If you already have an organization created, you will see it as an option and be able to select it in order to create the classroom within it.
Note: It is preferred, but not required, that GitHub Classroom sites exist within the JHU Enterprise. You just won't have the enterprise benefits if your organization isn't under the JHU Enterprise. -
Establishing a GitHub Classroom requires having a GitHub Organization. You can Create an Organization if you don't already have one. If you plan on using GitHub Classroom and Codespaces it is recommended to have your organization under the JHU GitHub Enterprise. You can request a new organization via this form.
Activating GitHub for your course
- Login to Canvas, and open the course site for the course where you want to link GitHub.
- On the course menu, scroll down to the bottom of the list and click Settings.
- On the Settings page, click the GitHub Classroom button on the menu.
- Select your Organization
- Under Classroom name, type the name for your classroom
- Click Create classroom
- You can invite your co-instructor(s) or TA's if you have any and share your classroom URL.
- The next step will be to add your students by syncing your class roster.
Sync Roster from Canvas
- Select Names
- Click Import roster entries
Once your site is connected, you should be provided with a link to share with students for them to gain access and link their GitHub account. If you experience any difficulties in getting your site setup and connected, please contact CMTShelp@jh.edu.
Related Resources
- Quickstart for GitHub Educators
- Create an assignment from a template repository
- Reuse an Assignment in Github Classroom
- Using auto-grading
- Leave feedback with pull requests
- Teach with GitHub Classroom (Comprehensive Guide for Faculty)
- Learn with GitHub Classroom (Comprehensive Guide for Students)