Skip to content

Coding tests that grade themselves.

Write the problem and its test cases once. Students code in the browser, and every submission is checked against every case, hidden ones included, the moment they submit.

Real code, graded the same way for everyone.

A code test is a timed session your class joins with a code. Every answer is real code, run in a sandbox and compared with the expected results.

  • Public examples, hidden cases

    Students run the public examples as often as they like. Hidden cases run only on submit, and their data never reaches the browser.

  • Problems checked before you publish

    Echelio runs your reference solution against every case. A problem is published only once it passes all of them.

  • Every attempt kept

    Runs and submissions are saved with their results, so a score always comes with the code and the cases behind it.

From a problem to a graded test.

  1. Write or pick problems

    Give a prompt, starter code, examples and hidden cases, or pick problems from the platform library and your school’s problem bank.

  2. Schedule the test

    Choose the class, the time window and the problems. Students hear about the test and join it with its code.

  3. Read the results

    Scores arrive as students submit. Failed attempts are sorted by kind, and the results feed each learner’s Progress.

The details.

What a code test supports today.

Languages
JavaScript on Node.js 24, Java 21, Python 3.14, PHP 8.5 and SQL on SQLite, with more languages on the way. Each problem is written for one language.
Problem formats
In JavaScript, students write a function. In Java, they write a method or a complete program that reads standard input and prints its answer. In Python, they write a function or a complete program that reads standard input and prints its answer. In PHP, they write a function, a complete program, or a function that reads and changes a database through PDO. In SQL, they write a query, a data change or a table design, and the result is compared row by row.
Difficulty
Each problem is easy, medium or hard. A test runs from easy to hard and can shuffle the problems within each level.
Failed attempts
Sorted into syntax and compile errors, crashes, wrong output, timeouts and missed edge cases.
Problem library
A platform library of about 945 problems that every school can use, next to the problems your teachers write. Save favourites and share folders.
Export
Export a test’s results to CSV, with each student’s score, tab switches and time away.

Questions about code tests.

What teachers ask before their first auto-graded test.

How are coding tests graded?
Automatically. Each submission runs in an isolated sandbox against every test case of the problem, public and hidden, and the teacher sees which cases passed and how the others failed.
Can students see the hidden test cases?
No. Hidden inputs, expected results and raw output never reach the browser. Students see only whether each hidden case passed, so they cannot write code that fits the examples alone.
Do students need to install anything?
No. Students write, run and submit code in a full editor in the browser. Their code runs on Echelio’s servers, never on their computer.
Which programming languages can a test use?
JavaScript, Java, Python, PHP and SQL today, with more languages on the way. JavaScript runs on Node.js 24, Java on Java 21, Python on Python 3.14, PHP on PHP 8.5 and SQL on SQLite.
Can I reuse problems written by other teachers?
Yes. Problems your teachers write stay in your school’s problem bank, and the platform library is open to every school. Teachers can also share folders with each other.
What happens if a student’s code never stops?
Each case runs with time and memory limits. Code that runs too long is stopped with a timeout, which is recorded as its own kind of failure.

Give your first auto-graded test.