Code. Run.
Learn. Build.
A real in-browser IDE for students — write, run and submit code in five languages, get instantly judged against test cases, and keep every attempt saved to your own workspace.
A focused editor built for writing real code
Line numbers, monospace formatting, and Tab-to-indent — a clean workspace with nothing standing between you and your solution.
Five languages, one workspace
Switch languages and the editor, starter code, and run behavior all update instantly — including a persistent database for MySQL and a sandboxed shell for Bash.
Hit Run, see results in real time
Every run reports a clear status, execution time, and console output — with an optional Custom Input tab to test your own stdin before submitting.
Solve real problems, get judged instantly
Each problem ships with a description, input/output format, sample test cases — and hidden ones that only reveal a verdict, not the answer.
Given an array of integers, return indices of the two numbers that add up to a target.
Reverse the order of words in a given string while preserving spacing rules.
Write a query that returns the highest scoring student for every course.
Every run, saved automatically
Look back at any past run — language, verdict, execution time, and the exact console output — all in one timeline.
8
Save your work, pick up where you left off
Name and save any file to come back to later, and — for MySQL — inspect your tables or reset the whole database whenever you need a clean slate.
Free practice or guided problems
Jump into Playground for open-ended coding with no problem attached, or work through assigned problems with structured test cases and judging.
Open-ended coding across all five languages — write, run, and save files freely with no assigned problem attached.
Solve an assigned problem alongside its description, sample input/output, and test cases — then submit for judging.
Comfortable in any light
Coding Lab follows the same theme as the rest of ILM ORA — switch anytime, and the editor, console, and every panel adapt instantly.
print("Hello, World!")print("Hello, World!")