Switching from Replit Education or GitHub Classroom
Replit Teams for Education closed in 2024, GitHub Classroom in 2026. CS Room is a free replacement where you create a class, invite students and autograde work.
Replit's Teams for Education closed on August 1, 2024, and GitHub Classroom followed on August 28, 2026. If you're switching from Replit Education or GitHub Classroom, this page walks through setting up the same class in CS Room, which is free.
Students code in the browser, on any computer including Chromebooks. Each one has a workspace with an editor, a Linux terminal and their saved files. You can autograde work in Python, Java, C, C++, JavaScript, TypeScript, C# or Go.
Create a class and invite students
On the Classes page, click New class and give it a name. Students don't need an account before they join. There are two ways in:
- Class link. Click Turn on class link under the class's name and share the link. Anyone who opens it and signs in can join. It lasts 30 days, and you can turn it off whenever you want.
- Email invites. On the People tab, click Invite students by email and paste your roster.
A student who joins late still gets every assignment you've already published.
Add an assignment
On the Assignments tab, click New assignment. You can start from scratch, upload a folder of starter code, or pick Use a lesson from the CSTA-aligned lessons library. The new assignment starts as a draft that students can't see. If its folder has a README.md, that becomes the instructions.
For grading, open the assignment's Settings tab and click Edit next to Tests and solutions. Add input and output cases, or a test command such as python3 -m pytest -q. Mark the tests that decide the grade as hidden; hidden files never reach students. See Writing assignment tests.
Publish with a due date
On the draft's Settings tab, set a due date. Add a publish time if you want it to go out on its own, or click Publish now. Close at due date is on by default: at the deadline, everyone's work is collected and graded and the grades become final. Each student gets an editable copy of the assignment. If you edit yours later, their copies don't change.
What students see
A student opens the assignment and clicks Open in workspace. Files are on the left, the editor in the middle and a terminal below, and work saves as they type. Run Tests runs your visible tests, as many times as they like. A web server they start gets a public address on app.csroom.org (see Running a web app). Submit turns the work in, up until the assignment closes.
Grade the class
On the Gradebook tab, Run all tests scores every student, and the download icon exports a CSV. Click a score to override it, or its lock icon to make it final. On an assignment's Student work tab, click a student to see their submitted or live files. From there you can leave a note only that student sees, or click Open to edit alongside them.
Migrating an existing class
- Gather your starter code. For GitHub Classroom, clone each template repository. For Replit, upload projects you saved before Teams for Education closed, or download them from a personal Replit account.
- Upload each one with New assignment and Upload a folder.
- Recreate the grading tests. A pytest or unit-test suite usually runs unchanged as the test command. GitHub Classroom's old commands are in a student repository's
.github/workflows/classroom.yml. - Invite your roster by email.
Students sign in with Google or email. Grades export as CSV, and there's no LMS sync.
Request a free teacher account, then create your first class.