-
Notifications
You must be signed in to change notification settings - Fork 19
Home
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.
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.
- 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.
- A GitHub account.
- A GitHub organization on the Team or Enterprise plan (free for verified teachers through GitHub Education).
Web app — no installation required:
- Teachers: Web Teacher Guide.
- Students: Web Student Guide.
Command line — needs the GitHub CLI (gh) and
Go:
- Install the CLI.
- Teachers: CLI Teacher Guide.
- 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.
- Questions and ideas: Discussions.
- Bug reports: Issues.
- Email updates: subscribe at fifty.foundation.