Skip to content
classroom50-sync[bot] edited this page Aug 16, 2026 · 26 revisions

Classroom 50

Classroom 50 is a free, open-source tool for distributing and auto-grading programming assignments on GitHub. It's an alternative to GitHub Classroom, supported by the Fifty Foundation.

Use it as a web app at classroom50.org or as the gh teacher and gh student command-line tools.

Note

The Fifty Foundation hosted two online training sessions to teach you how to use Classroom 50 and to answer questions live. Recordings and slides from both sessions are available below:

How it works, in brief

Classroom 50 has no server or database of its own. The web app is a static site hosted on GitHub Pages and the CLI runs on your machine; the app keeps only a small amount of local state in your browser (your GitHub access token and interface preferences). Your classrooms, roster, assignments, and scores are not kept in a Classroom 50 account; they are stored in GitHub, as organization and team membership, repositories, commit history, permissions, and a few config files in your organization.

One consequence is worth noting early: because there is no always-on server, some operations happen only when a teacher (an organization owner) is signed in and acting. Actions such as creating a classroom, adding a student, or saving an assignment run at the time you perform them and record the resulting state. Teachers therefore stay more involved in administration than they would with a hosted service.

For the full model, see How Classroom 50 Works.

What you can do

  • Create individual and group assignments, with or without starter code.
  • Auto-grade submissions with declarative tests or your own grading scripts.
  • Leave inline feedback on student work.
  • Manage rosters, track submissions, and collect scores.

Auto-grading and background tasks run in GitHub Actions; published data is served from GitHub Pages — all inside your own organization.

What you need

  • A GitHub account.
  • A GitHub organization on the Team or Enterprise plan (free for verified teachers through GitHub Education).

Get started

  1. Check the prerequisites: a GitHub organization on the Team or Enterprise plan, free for verified teachers through GitHub Education.
  2. Follow the Quickstart from empty organization to a graded assignment. Every step works from the web app (no installation) or the command-line tools.
  3. Go deeper with the full walkthroughs: the Web Teacher Guide or the CLI Teacher Guide, and for students the Web Student Guide or CLI Student Guide.

New to the terminology? See the Glossary. Curious how it all fits together? Read How Classroom 50 Works. Have a question? Check the FAQ.

Note

If you used the pre-release version of Classroom 50 before July 1, 2026, reset your organization before using the current version: delete the classroom50 repository in your GitHub organization. This removes all existing classrooms and student data.

Get help

Clone this wiki locally