Die Integration des LiaScript Interpreters in OPAL, wurde durch die Technische Universität Chemnitz und die Technische Universität Bergakademie Freiberg ermöglicht und durch die BPS GmbH umgesetzt wurde.
André Dietrich, Sebastian Zug
Freiberg, Juli 2025
Dieser Kurs gibt einen kurzen Überblick über die Konzepte von LiaScript, illustriert an Beispielen einige der Features und beschreibt die zwei Optionen für die Integration in OPAL. Sie können anhand der Buttons am unteren Bildrand oder mit den Pfeiltasten durch die Folien navigieren.
Der Quellcode dieses Open Source Dokuments ist unter Link zu finden.
LiaScript wird als Beschreibungssprache für interaktive Lehr-Lern-Inhalte seid 2017 an der TU Bergakademie Freiberg entwickelt. Die Idee ist es, Lehrinhalte in einem Format zu beschreiben, das einfach durch den Browser interpretiert werden kann, in LMS integrierbar ist und gleichzeitig die Vorteile von OER (Open Educational Resources) adressiert.
Daraus resulieren vier Kernkonzepte:
1. Wir trennen Darstellung und Inhalt! Alle Elemente werden soweit wie möglich durch eine rein textuelle Repräsentation ausgedrückt.
{{1-2}}
Die Inhalte eines Textdokuments, das Elemente der Beschreibungssprache Markdown aufgereift, wandelt der Browser für den Lernenden in eine entsprechende Darstellung um.
# Hello World
> Das ist ein Text mit unterschiedlichen Formatierungen. __Fett__, _kursiv_ oder ~durchgestrichen~.
>
> Hier folgt nun etwas Mathematik $f(x) = x^2$ und eine Aufzählung
>
> + Punkt 1
> + Punkt 2
>
> + Unterpunkt 2aDas machen Markdown, Latex und HTML auch ... wo ist der Vorteil von LiaScript?
2. Lehre lebt von Interaktion!
{{2-3}}
Ändern Sie die Sortierreihenfolge innerhalb der Tabelle, illustrieren Sie die Aussage anhand des intelligenten Diagrammgenerator (Button "Line Chart") und lösen Sie das Quiz.
# Tabellen als Grafiken
| X | B(y) | C(y) |
|---|:----:|:----:|
| 1 | 2 | 3 |
| 4 | 5 | 6 |
Quizze
------
Wann wurde die TU Bergakademie gegründet?
- [(X)] 1765
- [( )] 18963. Der Browser kann viel mehr als Webseiten anzuzeigen.
{{3-4}}
In den vergangen Jahren entstanden aus der LiaScript-Community heraus verschiedene JavaScript-Plugins aus unterschiedlichen Wissensbereichen, die spezifische Inhalte interaktiv aufbereiten. Führen Sie die ABC Noten Notation aus - der Browser wird interpretiert und die Noten werden als Musikstück abgespielt.
<!--
import: https://raw.githubusercontent.com/liaTemplates/ABCjs/main/README.md
-->
# Programmieren mit Musik
``` abc
X:353
T: GLUECK AUF DER STEIGER KOEMMT
N: E1512
O: Europa, Mitteleuropa, Deutschland
R: Staende -, Bergmanns - Lied
M: 4/4
L: 1/16
K: G
| G8F4A4 | G8z8 | B8A4c4 | B8z4G2A2 | B4B4B4A2B2 | c4A3AA4
A2B2 | c4c4c4B2c2 | d4B3BB4A4 | G8F8 | G4e4d4c2A2 | B8A8 | G8z8
```
@ABCJS.eval4. Vorlesungen als OER kollaborativ entwickeln.
{{4-5}}
Durch die Trennung von Inhalt und Darstellung können Lernende in die Entwicklung von Lehrinhalten eingebunden werden. Dies motiviert Studierende zusätzlich und förder die Identifikation mit der Lehrveranstaltung.
Das Video zeigt die Zusammenarbeit verschiedener Lehrender und Lernender im Kontext der Infomatiklehre in Freiberg über mehrere Jahre.
Aktivieren Sie die automatische Übersetzung der Inhalte, um Lernende aus anderen Ländern zu unterstützen. Die Implementierung nutzt die Google Übersetzungs-API und evaluiert sorgfältig, welche Inhalte zu überführen sind - Webseiten, Eigennamen, Formeln bleiben unverändert.
LiaScript unterstützt eine Vielzahl von Quizformaten (Lückentext, Multiple-Choise, Drag&Drop, Rechenaufgaben). Diese können neben der eigentlichen Fragestellung mit zusätzlichen Informationen versehen werden, die den Lernenden helfen, die Frage zu beantworten.
Das kleine Beispiel reagiert noch nicht intelligent - die Hinweise sind statisch konfiguriert. In der Praxis können diese Hinweise aber dynamisch generiert werden, um den Lernenden zu helfen, die Frage gezielt zu beantworten.
Beispiel für mathematische Aufgabe
Was ist das Ergebnis von
[[52]] [[?]] Die Lösung ist größer als 50. [[?]] Die Lösung ist kleiner als 55. [[?]] Es solte eine gerade Zahl sein.
52 is the correct solution, you get this by adding:
.------.
| |
| v
|
| (1)
37 3(7) | (3)x 37
+ 15 + 1(5) | + (1)x + 15
---- --> ------ --> | ------ --> ----
?? (12) | (5)2 52
| | ====
'-------'
carry
Beispiel für einen Lückentext
I (learn) [[ have been learning ]] English for seven years now.
But last year I (not / work) [[ was not working ]] hard enough for English,
that's why my marks (not / be) [[ were not ]] really that good then.
As I (pass / want) [[ want to pass ]] my English exam successfully next year,
I (study) [[ am going to study ]] harder this term.
Die Beschreibung der Aufgabenformate findet sich in der Dokumentation im Abschnitte Quiz Types.
2D Grafiken können entweder anhand von Bildern oder generierten Diagrammen erzeugt werden. Ausgehend davon eröffnen sich dann vielfältige Interaktionsmuster.
LiaScript unterstützt die Einbettung von 3D-Modelle oder Simulationen zu integrieren, die aus unterschiedlichen Quellen stammen können. Die Modelle können interaktiv im Browser betrachtet werden und bieten eine Vielzahl von Möglichkeiten, komplexe Konzepte zu veranschaulichen.
Ihr Browser unterstützt nativ die Ausführung von JavaScript Code. LiaScript erweitert mit einem Coderunner-Server diese Möglichkeit auf aktuell 38 Programmiersprachen. Die Ausführung erfolgt serverseitig und die Ergebnisse werden im Browser angezeigt.
Führen Sie den Code mit dem kleinen Symbol unter dem Beispiel aus ... oha, es gibt einen Fehler. Korrigeren Sie den Code!
print("Geben Sie die Anzahl der Iterationen an:")
iterations = input()
for i in range(iterations):
print("Hallo Welt", i)@LIA.python3
Sie haben unterschiedliche MÖglichkeiten den Kurs zu verbreiten:
- über Github oder einen anderen Git-Server indem Sie den Quellcode des Kurses veröffentlichen und einen Link darauf an Ihre Lernenden weitergeben
- über eine Data-URI, die den gesamten Inhalt in einer URL kodiert (so können aber keine Bilder oder Dateien unmittelbar eingebunden werden)
- über SCORM Pakete, die Sie in OPAL und andere LMS intrieren können. Aktuell setzt dies noch die Verwendung eines Kommandozeilentools voraus. Die Community bemüht sich gegenwärtig darum dieses in einen webbasierten Service zu überführen.
- über die LiaScript-Integration in OPAL, die es ermöglicht, LiaScript-Kurse direkt in OPAL einzubetten und zu nutzen.
Letzter Aspekt wird im Vorgehen genauer beschrieben.
-
Um sich den Code zu diesem Code anzusehen, klicken Sie oben rechts auf das Icon Editor oder öffne sie den vorliegenden Kurs über folgenden Link LiaLive-Editor um ihn zu bearbeiten und zu erweitern.
-
Erzeugen Sie sich eine lokale Kopie im Browser, indem Sie auf
Forkklicken. Dadurch bleiben Ihre Änderungen erhalten und werden im Browser gespeichert. -
Arbeiten Sie am Kurs. Speichern Sie danach die letzte Version des Inhaltes lokal als ZIP-File.
-
Legen Sie in Ihrem OPAL-Kurs einen neuen Kursabschnitt an und fügen Sie eine neue
Einzelne Seitehinzu. -
Laden Sie unter dem Reiter
Seiteninhaltdie ZIP-Datei in den Abschnitt hoch. -
Wählen Sie die zugehörige
.mdDatei aus, die Sie im Schritt 2 erstellt haben. Diese Datei wird als Startseite des LiaScript-Kurses verwendet. -
Öffnen Sie den Reitern nach einem Speicher nochmals und konfigurieren Sie die Einstellungen zur Seitenhöhe. Ggf. muss hier etwas nachkorrigert werden.
-
Speichern Sie die Seite und veröffentlichen Sie den Kursabschnitt.
Gratulation! Sie haben erfolgreich einen LiaScript-Kurs in OPAL eingebettet. Ihre Lernenden können nun interaktive Inhalte direkt in OPAL nutzen.
Weitere Informationen zu LiaScript finden Sie unter der Projektwebseite https://liascript.github.io/ in der Dokumentation oder dem Youtube-Channel
Auf Ihre Fragen und Anregungen freuen sich André Dietrich und Sebastian Zug.
Glück auf und viel Erfolg bei der Erstellung Ihrer interaktiven Lehrinhalte!
 erweitert um LiaScript Logo partner_map](/LiaPlayground/LiaScript_Meets_OPAL/raw/main/pic/LiaScript_Meets_OER.png)








