A free Replit Teams for Education alternative
Replit Teams for Education closed on August 1, 2024. How to set up the same class in CS Room, for free.
Published by Birdflop, a 501(c)(3) nonprofit · Last updated
Replit Teams for Education closed on August 1, 2024, the date Replit set for deleting all of its teams' data (Bucknell IT's summary). Replit had announced in November 2023 that it would get no new features or bug fixes, and stopped new teams from being created (The Register). Its newer Replit for Educators is free for educators at verified universities.
Set up the class in CS Room
CS Room is free and runs in the browser, Chromebooks included. Each student gets:
- An editor, a terminal for the console and shell, and files that stay saved.
- Python, Java, C, C++, C#, JavaScript, TypeScript, Go and PHP, plus Jupyter notebooks. Other languages, such as Ruby or Rust, aren't installed.
- A public address for any web app they start, such as quiet-sunny-harbor.csroom.app, and a Preview tab for HTML, CSS and JavaScript that reloads as they type (Running a web app).
- A display beside the code, where turtle, tkinter, pygame and Java Swing windows open, with sound.
- pip install for any package, which stays installed.
You can open any student's workspace, see their typing as it happens and edit alongside them. Students can't edit each other's work, so there are no group projects, and the editor has no AI assistant. There's no Replit importer, so projects come over as folders you exported or downloaded.
- Request a teacher account. We set teachers up within a day or two.
- On the Classes page, click New class.
- Add each project with New assignment: Upload a folder of starter code, Start from scratch, or Use a lesson from the lessons library. A README.md becomes the instructions.
- If a project has a .replit file, copy its
runandentrypointlines into a file named .csroom in the same folder, so Run works the same way (The .csroom file). - On the assignment's Settings tab, under Tests and solutions, add input/output cases or a test command such as
python3 -m pytest -q, and hide the tests students shouldn't see. Replit's input/output tests become input/output cases, Python unittest tests run withpython3 -m unittest, and JUnit tests need a Maven pom.xml. Jest isn't installed, so turn Node.js tests into input/output cases or a script that prints passed/total on its last line (Writing autograder tests). - Set a due date and click Publish. The due date collects and grades everyone's work, and a Run Tests button lets students check the visible tests first.
- Turn on the class link and share it, in Google Classroom or anywhere else, or on the People tab click Invite students by email and paste your list. There's no Google Classroom roster import like Replit's. Students sign in with Google or email, students under 13 need a parent's or teacher's consent (Terms), and a class holds up to 100 members, counting teachers and pending invites.
Grading and feedback
On an assignment's Student work tab, click a student to read their code, comment on its lines, or give them more time. They see your comments beside their code and can reply. The Gradebook tab takes weights and scores you set by hand, and exports as CSV. There's no LMS grade sync (Grading and the gradebook).