All guides

A free alternative to CodeHS

CS Room is a free CodeHS alternative: a coding workspace for every student, due dates, autograding and a weighted gradebook, with no paid plan.

CS Room is a free CodeHS alternative where nothing sits behind a paywall. Every student gets their own coding workspace in the browser, and you get classes, due dates, autograding in any language, a weighted gradebook and co-teachers. It runs on Chromebooks, and it's free for everyone, from the nonprofit Birdflop.

CodeHS Free vs. Pro

CodeHS's free plan includes its courses, a web IDE, autograders and rosters, but its plans page puts due dates, the weighted gradebook, Google Classroom grade passback, full lesson plans and full code history in CodeHS Pro, priced by quote.

What you get in CS Room

  • A persistent workspace per student: editor, Linux terminal, files and pip packages.
  • Python, Java, C, C++, JavaScript, TypeScript, C# and Go, plus Jupyter notebooks.
  • Websites at a public URL, and GUI programs in a pop-up window.
  • Tests you write, from input/output cases to pytest and JUnit, with hidden tests deciding the grade.
  • Due dates, a gradebook with weights, overrides and CSV export, and live editing in any student's workspace.
CodeHS FreeCS Room
Due datesProIncluded
Weighted gradebookProIncluded
Curriculum100+ coursesCSTA-aligned project lessons

Move your assignments

  1. Request a teacher account. We set teachers up within a day or two.
  2. Create a class, then add each assignment with New assignment, uploading your code or starting from scratch.
  3. Add input/output cases for grading, hide a few, and check them with Try it.
  4. Publish with a due date and share the class link.

See Writing assignment tests for every grading option, and Free online Java IDE for AP CSA for AP CS A.

Before you switch

CodeHS's curriculum doesn't come with you, and CS Room's lessons library is small, so bring your own materials. There's no block-based coding or Google Classroom grade sync.

Request a free teacher account to set up your first class.