OpenJudge.net API (ojapi)
OpenJudge.net API (ojapi) is a cloud-based, open api service for automated assignments grading in programming-intensive educational trainings such as courses on data structures, algorithm design, and problem solving. It provides various (programming + human) interfaces for courseware systems and lecturers to set up programming tasks, commit solutions for automated grading, and collect instant grading reports in their desirable formats.
The service-side OpenJudge.net API Engine (ojapi-engine) provides efficient and reliable means for hosting programming tasks as well as grading students' solutions. The OpenJudge.net API Engine eliminates, by taking over, the risk of having to execute potentially malicious program code in students' solution works from inside the educators' own IT infrastructures.
The client-side OpenJudge.net API Toolkit (ojapi-toolkit) offers a rich collection of CLI tools, API libraries (for proprietary solutions) and plugin modules (for popular CMS systems) that can be integrated into various education scenarios and (or) courseware systems. These tools considerably alleviate the burden of building an assignment grading system, or courseware, from scratch.
Getting Started
OpenJudge.net API (ojapi) service is currently offered on an invitation basis. To sign up, you need an invitation code (i.e. 22-byte string of letters and digits) issued by the OpenJudge Alliance. The ojapi service utilizes Google accounts to authorize and manage user identities. Thus the sign up process may ask permissions to access some public information associated with your Google or OpenJudge Alliance account such as your nick name and email address.
Disclaimer
The OpenJudge.net API (ojapi) service is provided 'as is' and any expressed or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the OpenJudge Alliance and (or) its contributor(s) be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this service, even if advised of the possibility of such damage.

