Skip to content

Concepts & Glossary

This page explains the terminology used in the Lab. Use it as a reference when training your team or your students.


Content hierarchy

graph TD
    M[Module] --> L1[Lesson]
    M --> L2[Lesson]
    L1 --> T1[Task]
    L1 --> T2[Task]
    L1 --> T3[Task]
    L2 --> T4[Task]

Module

A module is a topical package – e.g. "Deploy a webserver with TLS" or "SSH hardening".

Each module has:

  • a German and an English title
  • a short description
  • a difficulty: beginner, intermediate, advanced
  • an estimated duration (typically 30–60 minutes)

Modules are either published (visible to learners) or in draft (admin-only).

Lesson

A lesson is a concrete learning unit inside a module – one scenario in a dedicated VM environment.

Example: the module "Deploy a webserver with TLS" contains a lesson where you install nginx, secure it with Let's Encrypt, and produce an HTTPS response.

Each lesson has:

  • an instruction text (Markdown, bilingual)
  • a unique identifier (slug), e.g. deploy-and-tls
  • a list of tasks

Task

A task is a single validation step inside a lesson. Tasks are automatically validated.

Example tasks from the lesson "Deploy and TLS":

  1. nginx listens on port 80
  2. The homepage shows your own message
  3. A Let's Encrypt certificate is installed
  4. HTTPS responds with status 200

Each task has a per-learner status:

Status Meaning
Open Not validated yet
In progress Learner has started a session but hasn't passed the task
Passed Validator confirmed success
Failed Last validation was unsuccessful
Skipped Learner skipped this task

The learning environment

Session

A session is your active learning run in a dedicated Linux VM. Per session:

  • one lesson per session
  • one dedicated VM, isolated from other learners
  • 60 minutes of runtime – then the VM is automatically terminated
  • up to 3 sessions per day (default – see Quota)

A session goes through several states:

State Meaning
provisioning VM is starting (60–90 seconds)
ready VM is ready, terminal connected
active You are working on tasks
expiring Last 2 minutes – warning is shown
terminated Session ended (regularly or by you)
failed Provisioning failed – no quota consumed

Virtual machine (VM)

Each session runs on a real Linux VM in the EU (Hetzner Cloud, Frankfurt). It provides:

  • full sudo access
  • a Linux terminal via WebSocket in your browser
  • temporary storage – everything is deleted after the session
  • limited network access (no outbound spam, no crypto mining)

Validator

The validator checks whether a task is solved. It runs commands on your VM or reads files. You see the result in a card under the task description:

  • Passed (green) – the task is correctly solved
  • Failed (red) – concrete feedback about what is missing

Hints

Each task offers up to three hint levels:

Level Content
Hint 1 Gentle nudge – direction, no solution
Hint 2 Concrete example – usually with a command
Hint 3 Almost the full solution – step-by-step

Hints appear on click. There is no penalty for using hints.


Quota & limits

Quota

A quota limits how many sessions you can start per day. Default:

  • 3 sessions per learner per day (UTC reset)
  • Teachers can set a per-class override (4 to 10 sessions)

If you hit the limit, you see a message and can continue the next day. You can always end active sessions and start new ones – only the new start counts against quota.

Session duration

A session runs for a maximum of 60 minutes. Two minutes before the end you get a warning. After that the VM is terminated automatically. Your progress (which tasks are passed) is kept – only the VM contents are deleted.

Feedback limit

In the player you can submit feedback. Up to 5 feedback entries per day are allowed.


Classes and schools

School

A school is an educational institution that has signed a data processing agreement (AVV) with Techlogia. Schools are activated by Techlogia (platform admin).

Each school has at least one school admin who creates teacher accounts.

Class

A class is a group of students managed by one teacher. Each class has:

  • a name (e.g. "7a 2025/26")
  • a class code (8–24 characters, globally unique)
  • a student list
  • optionally a sessions override (more than 3 sessions/day)
  • optionally a module selection (which modules class students see)

Class code

The class code is a random string the teacher receives when creating the class. Students need the code to log in via the class-code login.

The code is only valid within the class – a leaked code alone is not enough, because the correct student name is also required.

Homework

A homework assignment is a lesson the teacher assigns to a class with a deadline (date + time). Students see open homework at the top of the catalog.

Homework disappears automatically from the student view once the deadline passes. It remains in the teacher area for reports.


Accounts and privacy

Roles

The Lab knows six account roles:

Role Description
Student / Learner Standard learning access
Teacher Class management
School Admin Manages teachers of one school
Platform Admin Content and platform operations
Editor Maintains marketing content (no Lab access)
Viewer Read-only on content (no Lab access)

Double opt-in

New student accounts must be confirmed via email. The confirmation link is valid for 48 hours. Without confirmation, login is not possible.

For learners under 16 years, the consent of a legal guardian is required. During account creation:

  • the year of birth is asked
  • if needed, a parent email address is captured
  • a token is sent to the parent

Only after the parent confirms can the first session be started.

Terms version

The terms of use are versioned. If terms change, the new version must be accepted before the next session can be started. The current text is always available in the Lab under "Terms".

Data export & deletion

You can at any time:

  • download a complete data export as JSON (GDPR Art. 15)
  • delete your account and all related data (GDPR Art. 17)

Both are self-service via the account menu.


Next steps