This is a demo instance ! It is made available for you to try out the INGInious features. Once you've registered, you can activate sandbox mode in the tutorial course to explore the admin interface and create specific content. Some restrictions however apply: max. 2 parallel jobs, hard running time limit set to 15 sec, only MCQ and default grading evinronments, no access to the Internet.
Disclaimer: We are not responsible for inappropriate content that may appear during a demonstration time slot.
Automatic code assessment
Assess programming assignments
using your own tests in a secure environment
Fully customisable feedback
Assess anything, instantly, and provide a fully descriptive feedback to your students
Code, press submit, and receive feedback. Simply.
Free and open source, pluggable with , and other LMS!
Designed with usability, scalability, and security in mind
INGInious runs untrusted code made by your students in completely jailed environment.
INGInious can run any executable code, from C++ to Scala programs, including custom and exotic ones like Oz or even the Shakespeare Programming Language!
INGInious can be used side-by-side with your LMS, via the Web App, but can also be directly integrated within, via LTI.
New grading jobs start in milliseconds, and grading is as fast as it was made on your own computer. INGInious is also scalable horizontally.
INGInious uses Docker
to start jailed environments to test the code in milliseconds. Docker provides "containers",
which can be seen as lightweight virtual machines, that can be fully customized using a very simple method.
It allows to run anything you want, as long as it is runnable on a Linux machine.
Here is an example defining a new environment with Java 7, in two lines:
FROM ingi/inginious-c-default LABEL org.inginious.grading.name="java7" RUN yum install -y java-1.7.0-openjdk java-1.7.0-openjdk-devel ant ant-junit bc
INGInious is written in Python 3. The simplicity and expressivity of Python helps to keep the code readable and easily extensible.
Thanks to the usage of MongoDB as database manager and Docker, INGInious instances can be blindly duplicated and linked, allowing effortless horizontal scalability. From an on-site course with 50 students to a MOOC with 10.000 students, INGInious will be able to handle the charge.
INGInious supports the LTI specification,
allowing you to integrate it directly inside your Learning Management System (LMS) that is a LTI Consumer.
This includes Moodle, edX, Coursera and many other LMSs.
INGInious comes with two frontends: a simple web application that is a mini-LMS focused on code grading, and a frontend for integrating with your LMS. But INGInious is also a library, that can be used in other applications to remotely grade code using Docker and the containers made for INGInious.
- Simple and easy-to-use interface
- Customized environments, easy to create
- Customized grading scripts
- Simple but powerful API for grading
- Fully customized feedback
- Code box questions
- Multiple choice questions
- File upload questions
- Syntax highlighting
- Submission storage
- Distant Docker instances
- Repartition of charge among multiple Docker instances
- Registration with and without password
- Access Control List
- Classrooms and groups of students
- Statistics for your tasks and students
- Plug-in system
- REST API
- Studio to create new tasks in your browser
- BlueJ plug-in
- Supports LTI 1.1
- Able to upload the grade of the task to your LMS
- Compatible and tested with edX, Moodle, and many other LMSs
Made with at Université catholique de Louvain
Used by more than 10 on-site courses
The INGInious Web App is currently in use in 11 on-site courses, that sums up to more than 180 tasks and 500 students.
This includes courses that use lightweight tasks in Java, such as Computer Science 1, to course with really heavy tasks such as Advanced algorithms for optimization (in Scala) and Artificial Intelligence. The course Computer systems I grades low-level C code with INGInious.
Tried and approved by more than 7.000 MOOC students
INGInious is also used on the computer science MOOCs that the UCL runs on edX:
- Paradigms of Computer Programming – Fundamentals
- Paradigms of Computer Programming – Abstraction and Concurrency
Used since 2014, INGInious has successfully ran the exercises from the 7000 students that followed the courses. These courses use an exotic language made for learning called Oz.