Run by Birdflop, a 501(c)(3) nonprofit

The free online IDE
for your class

Give assignments, grade them automatically, and help any student live. Students open your class link and start coding in minutes, right in the browser.

Get started
Setup

One link, and your class is coding

Everything runs in the browser, so there is nothing to install.

  1. 1

    Create a class. Give it a name.

  2. 2

    Add an assignment. Start from a lesson in our library, upload a folder, or write your own.

  3. 3

    Share the class link. Paste it anywhere, or put its code on the projector.

  4. 4

    Students start coding. Each in their own online Linux container, with the assignment already in their files.

For students

Games, notebooks and websites, all in one workspace

Every student gets a workspace with an editor, a terminal and files that stay put between classes, so a first print statement and a final project live in the same place.

Nine languages. Python, Java, C, C++, C#, JavaScript, TypeScript, Go and PHP, each with a Run button.

Jupyter notebooks. Open a notebook and run its cells right in the editor.

Install what you need. Packages from pip and npm install into the student's files and stay installed.

Programs with windows. Turtle, tkinter and other programs that open a window show up in a pop-up.

Websites at a public URL. A web server a student starts can get an address anyone can open.

A real terminal. Bash, where input() waits for typing and scripts run like they do on any computer.

Autograding

Tests check the code. You check the thinking.

Write tests once and run them against the whole class in one click. Every score lands in the gradebook, one click away from the student's code.

Public and hidden tests. Students run the public tests as they work. Hidden tests decide the grade.

Scheduled release. Write it now, and it appears for students on the day you pick.

Collected at the deadline. At the due time, every student's work is submitted and locked.

Feedback on the line. Leave a note on a specific line of a student's code.

Weighted grades. Weight each assignment, or override any score by hand.

Export. Download the whole gradebook as a spreadsheet.

Live help

Help any student without walking to their desk

Open a student's workspace from the class page and edit their code with them, live, like a shared Google Doc. You get a terminal on their files too.

See who is online. A green dot marks every student working right now.

Edit together. Both cursors show, with names, while you type.

Nicknames. Call students what you call them in class. Only teachers see it.

See it in action

Watch a walkthrough

Setting up a class, importing a lesson, and a student writing, testing, and publishing their first project.

Privacy

Built for students, not for advertisers

A nonprofit has nothing to sell. Our privacy policy says so in writing.

Student data is never sold

We don't sell it, use it for targeted ads, or build profiles from it.

No trackers once you sign in

No analytics or ad tag loads on a signed-in page, so nothing a student does reaches Google.

The school stays in charge

Student work belongs to the school. We act as a FERPA school official and can sign the NDPA.

Why it’s free

Run by a nonprofit, so it isn’t going anywhere

CS Room is built by Birdflop, a 501(c)(3) nonprofit, and paid for by donations rather than by schools. There is no paid tier to move you onto and no investors waiting for one. Teachers at 51 schools and universities in 22 countries use it today.

Switching

Moving from another tool?

Each guide shows how your old setup maps onto CS Room, step by step.

Questions teachers ask

Is it really free?

Yes, for every teacher and student. Birdflop, the 501(c)(3) nonprofit that runs CS Room, pays for it with donations.

How do I get a teacher account?

Request access and we set you up within a day or two. Students don’t request anything: they join with your class link.

What do students need?

A computer with a web browser, and a Google account or an email address to sign in with. If CS Room doesn't load at school, ask IT to allow *.csroom.org, including WebSocket connections.

Which languages can I teach?

Python, Java, C, C++, C#, JavaScript, TypeScript, Go and PHP, plus Jupyter notebooks and HTML and CSS sites. Autograding works with input and output cases or a test command such as pytest.

How big can a class be?

Up to 100 members, counting teachers and pending invites. Email help@csroom.org if you need more.

Does it connect to my LMS?

Not directly. The gradebook downloads as a CSV for your LMS or a spreadsheet.

Set up your first class

Request a teacher account, and we’ll set you up within a day or two.

Get started