Compilers

Easy-to-use API for code compilation & execution.
You submit your source code, we compile and execute it. It’s that simple!


Online Compiler

Compile and run code online. See the results.

Problems

API and CMS for building and managing programming challenges.
Find out more about the endless capabilities of our system!


Basic Use

Checking whether a coder is able to solve a simple programming task to verify his or her skills.

Grading with partial score

Our system runs a batch of tests on a user-submitted program and displays the number of tests passed as a percentage.

Optimization: minimize the score

This judge gives the user's program a score, based on the quality of their solution. The lower, the better. It's usually easy to solve a problem one way or another. The difficulty lies in achieving an optimized solution.

Optimization: maximize the score

This judge gives the user's program a score, based on the quality of solution. The higher, the better. It's usually easy to solve a problem one way or another. The difficulty lies in achieving an optimized solution.

Evaluating time complexity

Computational complexity is one of the most important properties of algorithms. Sphere Engine can judge how efficient a user-submitted program is.

Evaluating memory use

The memory requirements of a computer program are, together with its execution speed, a crucial parameter determining its efficiency and usability. Our system allows you to distinguish solutions with respect to their operational memory requirements.

Evaluating solutions to intractable problems

Some problems cannot be solved exactly in reasonable time. The user's task is to solve such a problem much more quickly, but getting an answer which is only an approximation of the optimal one.

Ambiguous answers

Some problems have not one but many correct answers. Our system provides means to automatically verify solutions for such problems.

Source code length

A deep understanding of a programming language is part of a programmer's craftsmanship. Being aware of the language's capabilities can lead to shorter and better code. Our system allows you to challenge users to provide not only valid but also compact solutions.