Skip to content

LiaPlayground/LiaScript_Meets_OPAL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LiaScript

LiaScript Meets OPAL

Anleitung für die Einbettung von LiaScript-Kursen in OPAL

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

partner_map


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 Kernkonzepte

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 2a

Das 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
- [( )] 1896

3. 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.eval

4. 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.

!?Video Studierende


Beispielfeatures

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.

Quizze

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 $37 + 15$?

[[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 Visualisierungen

2D Grafiken können entweder anhand von Bildern oder generierten Diagrammen erzeugt werden. Ausgehend davon eröffnen sich dann vielfältige Interaktionsmuster.

@beforeAndAfter(https://mediathek.tu-freiberg.de/eas/partitions-inline/2/0/80000/80790/feeb4ee9cc5e44f2731e2a764eae56a9cf599e8f/image/png,https://mediathek.tu-freiberg.de/eas/partitions-inline/2/0/81000/81387/2b9379093c840e6a716411ea85ac5d6ee5459188/image/png)

3D Visualisierungen / Simulationen

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.

??Familienschacht

??Falstad Circuit Simulation

Programmierumgebungen

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

Integration in OPAL

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.

  1. 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.

    Öffnen des Editors

  2. Erzeugen Sie sich eine lokale Kopie im Browser, indem Sie auf Fork klicken. Dadurch bleiben Ihre Änderungen erhalten und werden im Browser gespeichert.

    Fork des Projektes

  3. Arbeiten Sie am Kurs. Speichern Sie danach die letzte Version des Inhaltes lokal als ZIP-File.

    Download des eigenen Projektes

  4. Legen Sie in Ihrem OPAL-Kurs einen neuen Kursabschnitt an und fügen Sie eine neue Einzelne Seite hinzu.

    Einzelne Seite bei OPAL anlegen

  5. Laden Sie unter dem Reiter Seiteninhalt die ZIP-Datei in den Abschnitt hoch.

    Zip-Projekt hochladen

  6. Wählen Sie die zugehörige .md Datei aus, die Sie im Schritt 2 erstellt haben. Diese Datei wird als Startseite des LiaScript-Kurses verwendet.

    Auswahl des Einsprungsortes

  7. Öffnen Sie den Reitern nach einem Speicher nochmals und konfigurieren Sie die Einstellungen zur Seitenhöhe. Ggf. muss hier etwas nachkorrigert werden.

    Höhe anpassen

  8. Speichern Sie die Seite und veröffentlichen Sie den Kursabschnitt.

    Veröffentlichen

Gratulation! Sie haben erfolgreich einen LiaScript-Kurs in OPAL eingebettet. Ihre Lernenden können nun interaktive Inhalte direkt in OPAL nutzen.

Fazit

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!

About

Examplary LiaScript Course illustrating the direct integration in the OPAL Learning Managment System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages