About GitHub Classroom

GitHub Classroom is a tool teachers can use to handle assignment distribution and autograding when they teach CS50.

Creating Template Repositories

CS50 use https://github.com/classroom50 to store template repositories for teachers to use with GitHub Classroom. You’re welcome to make your own, too! This guide will walk you through how to do it.

Creating a Blank Template Repository

Every repository starts with a blank canvas! Go to your GitHub organization and create a new repository inside that organization.

Classroom50’s Homepage

Classroom50’s Homepage

Naming the Template Repository

As of July 18, 2022, CS50 uses the following scheme to name template repositories:

year-term-problem[-comfort]

where [-comfort] indicates an optional inclusion of a problem’s comfort level, if the more- and less-comfortable have the same name.

If a problem was previously done in C but is now being done in Python, we prefix the name with sentimental-

Examples

2022-fall-cash

2022-fall-filter-less

2022-fall-sentimental-cash

Configuring the Template Repository

Configuring the template repository is straightforward. After inputting a name, change the visibility to Public. Additional initialization steps such as a README.md, a .gitignore, etc. should be left out.

Configuring a template repository

Configuring a template repository

Once the repository has been created, you’re not quite yet done! Be sure to go to Settings, then check Template repository.