Insekta Learning Platform

Create explanatory texts with
fully customized tasks.

Insekta is an open-source learning platform where teachers can provide explanatory texts that contain integrated tasks. Tasks are not restricted to multiple-choice but are fully programm­able and customiz­able on a per-student basis. At the University of Bamberg, several hundred students have learned and are learning with Insekta.

Visit GitHub project site

Selected Features

Design learning topics using a Domain Specific Language

Learning topics are simple HTML files that are extended with a custom Domain Specific Language (DSL) based on the Jinja template system. To include a task, teachers describe the task using pre-defined functions inline without breaking their workflow. The DSL allows single and multiple-choice questions, text and script-verified questions, and much more. Students may feel overwhelmed by too much text; therefore, the DSL allows parts of the text to be hidden until a specific task has been solved. For full flexibility, teachers can include custom CSS and JavaScript. Everything is easily manageable in a version control system such as Git.

Domain Specific Language example

Provide feedback for the learning progress

Students can estimate their progress with each learning topic by clearly seeing how many tasks they already have solved. Teachers get an overview of how their students in the course are performing and what their progress is. Insekta also allows calculating bonus points to incentivize solving tasks.

Progress bar for students

Create fully scriptable tasks

Insekta allows teachers to write custom Python scripts that validate the students’ answers. The script cannot only accept or decline but also provide textual feedback for the students, e.g., helping them when their solution is close. In addition, each script has access to a random number generator that is seeded with the student’s identity to create individual tasks.

Example for verification script

Run virtual machines for students

Insekta was originally designed while having IT security teaching in mind. For that purpose, teachers can create virtual machine templates with vulnerable services that can be accessed by students. Given a template, students can start their own virtual machine instance, which can only be accessed by them via an OpenVPN connection. Furthermore, all changes to virtual machines are only ephemeral, allowing students to reset their machine if they bricked it. For best isolation, full virtualization with KVM is used.

Lernfortschrittsanzeige

Imprint

Prof. Dr. Dominik Herrmann
Lehrstuhl für Privatsphäre und Sicherheit
in Informationssystemen
Universität Bamberg
Kapuzinerstr. 16
96047 Bamberg

More information