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":
- nginx listens on port 80
- The homepage shows your own message
- A Let's Encrypt certificate is installed
- 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
sudoaccess - 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.
Parental consent (GDPR Art. 8)¶
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¶
- Student area – if you want to learn yourself
- Teacher area – if you manage a class
- School Admin area – if you coordinate an entire school
- Platform Admin area – if you maintain content or operate the platform