Skip to content
classroom50-sync[bot] edited this page Jul 24, 2026 · 23 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 will host two online training sessions to teach you how to use Classroom 50 and to answer your questions live. The sessions will take place at the following times:

To sign up to attend one of the training sessions, complete the registration form here.

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 grades 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

Web app — no installation required:

  1. Teachers: Web Teacher Guide.
  2. Students: Web Student Guide.

Command line — needs the GitHub CLI (gh) and Go:

  1. Install the CLI.
  2. Teachers: CLI Teacher Guide.
  3. Students: 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