Programmieren für E-Learning - Womit starten?

Vorkosigan

Cadet 3rd Year
Registriert
Nov. 2022
Beiträge
40
Hallo allerseits,

wie schon im Titel beschrieben, suche ich nach dem richtigen (oder optimalen) Einstieg in die Entwicklung von E-Learning Content.

Ich beschreibe mal ganz kurz, was ich bereits kenne und weiß:

Ich habe bereits vor vielen Jahren (die ersten Versuche gehen bis in die 80er des letzten Jahrhunderts zurück) erste E-Learning Projekte konzipiert und entwickelt. Damals hieß das noch "Lernprogramme" oder "computerunterstütztes Lernen".

Gearbeitet habe ich dabei immer mit sogenannten Autorensystemen. Das waren (meist) grafisch bedienbare Entwicklungsumgebungen, in denen man die (interaktiven) Elemente der Lerneinheiten oder Lernspiele grafisch anordnen mit unterschiedlichen Funktionen ausstatten konnte.

Später kamen dann auch Autorensysteme dazu, bei denen die Funktionialität und Interaktivität auch mit Scriptsprachen in Form von Code "programmiert" werden konnten.

Beispielsweise habe ich lange Zeit mit Macromedia Director (später Adobe Director) und mit Toolbook von Asymetrix gearbeitet.
Zwischenzeitig waren auch immer wieder mal kleinere Adobe-Flash-Projekte dazwischen.

Ich habe diese Projekte von A-Z, heißt: Von der Konzeption über die Entwicklung bis zur Kompilierung und Auslieferung auf Datenträgern selbst durchgeführt.

Ich bin also kein absoluter Anfänger, habe aber auch niemals eine "echte" Programmiersprache wirklich erlernt.


Nach einer langen Pause - in der ich mit anderen Projekten beschäftigt war - möchte ich nun wieder in die Entwicklung von interaktiven Lernprogrammen und Lernspielen einsteigen.

Leider sind alle o.g. Entwicklungsumgebungen in der Zwischenzeit vom Markt verschwunden. Und leider gibt es für keine davon eine adäquate Nachfolgelösung.

Ich stehe also vor der Frage, wie und mit welchen Werkzeugen ich beginnen sollte.

Ich schreibe mal ein paar Punkte auf, die für solche Projekte notwendig wären:

1. grafische Gestaltung
Diese Programme und Spiele leben von schönen Illustrationen und animierten Bildern und Figuren.

2. Texthandling
Es geht bei diesen Programm sehr oft darum, dem Benutzer dynamische Texte zu präsentieren und Benutzereingaben in Form von Text zu verarbeiten und zu analysieren. Das heißt, Texteingaben müssen geparst werden können, Groß-Kleinschreibung muss änderbar sein etc.)
(Ich habe zum Beispiel mal YoYo GameMaker Studio 2 ausprobiert und musste es wieder aufgeben, weil das Texthandling in diesem Tool so umständlich ist, dass ich für meine Zwecke damit nicht arbeiten konnte.)

3. Multimedia (inbesondere Audio)
Klar muss die gezielte Ausgabe von Audiodateien möglich sein. Es gibt eine Sprachausgabe, die die Texte und Anleitungen vorliest. Es gibt Rückmeldungen zu Benutzeraktionen. Es gibt Objekte auf dem Bildschirm, die Geräusche von sich geben. Es gibt möglicherweise einen Hintergrund-Soundtrack etc.

4. Interaktivität
Das ist so ein Schlagwort aus den 80ern. Aber klar, so ein Lernprogramm muss natürlich perfekt einfach und manchmal sogar "intelligent" auf die Benutzeraktionen reagieren können.
Aber das ist wahrscheinlich heutzutage kein großes Thema mehr.


Es gibt natürlich am Markt eine große Zahl von Online-Angeboten oder auch Entwicklungsumgebungen, mit denen man simple Multiple Choice - Aufgaben und ähnliche Standard-Elemente mehr oder weniger lieblos auf nacheinander ablaufenden Slides präsentieren kann.

Das ist aber NICHT das, was ich machen will. Meine Vorstellung von Lerninhaltsvermittlung, die Kindern oder auch Erwachsenen Spaß machen soll, geht eher so in Richtung interaktive Lernspiele.
Also im Prinzip ein Computer- oder Online-Spiel, mit dem man etwas lernen kann.
Dabei geht es überhaupt nicht darum, in der Liga von erfolgreichen Computerspielen oder so mitzumischen.
Nein, die Spiele brauchen weder 4K, noch 3D und auch nicht 120 FPS. Es geht vor allem darum, dass es Spaß macht, etwas zu lernen. Oder: Wenn Lernen schon "doof" ist, dann sollte es hiermit vielleicht ein bisschen weniger doof sein ;-)


Puh, jetzt habe ich doch ganz schön viel Text produziert. Ich hoffe, der eine oder die andere, hat sich trotzdem die Zeit genommen, bis hierher zu lesen. Wenn ja, Danke dafür :-)

Zurück zur Ausgangsfrage:

Ich habe schon ein bisschen gegoogelt und gelesen, bin mir aber tatsächlich noch ziemlich unsicher, wie und vor allem womit ich weiter vorgehen sollte.

Die - nach meinem Empfinden - beste Idee zu dem Thema war bisher, eine grafische Entwicklungsumgebung zu verwenden, die zusätzlich den Einsatz von JavaScript-Elementen zulässt.

Gefunden habe ich bisher dazu:
  • Google WebDesigner
  • Active Presenter
  • WebAnimator

Leider habe ich überhaupt keine Idee und auch kein Gespür dafür, ob das wirklich eine gute Überlegung ist.

Vielleicht gibt es viel bessere Lösungen?

Es würde mich freuen, wenn ihr dazu etwas sagen könnten oder sogar Ideen oder Vorschläge habt, wie ich weiter vorgehen sollte.
Vielen Dank im Voraus für eure Gedanken und eure Hilfe. :-)
 
Hmm.

Ich frage mich, ob man nicht statt so nem Fertigframework nicht lieber auf was allgemeines setzten sollte.

Z.B. Python lernen und "von der Pike auf" das programmieren, was man braucht.

Ansonsten gibts eine nette FOSS-Engine namens "Godot".

Ggf. Ist das ein guter Einstiegspunkt.
 
  • Gefällt mir
Reaktionen: madmax2010
Vielen Dank für eure Antworten.

Ich muss dazu sagen, dass sich meine Erfahrungen mit "richtigen" Programmiersprachen auf Visual Basic beschränken. Und auch das ist schon ein paar Jährchen her.

Mehr Erfahrung habe ich mit Scriptsprachen wie Lingo (Adobe Director), OpenScript (Toolbook) und LiveCode (RunRev).
In diesen Sprachen werden auch viele - oder sogar die meisten - Elemente verwendet, die in "normalen" Programmiersprachen vorkommen. Allerdings ist die Syntax in der Regel etwas einfacher UND es gibt immer eine grafische Oberfläche, auf der man die Objekte einfach per Drag & Drop anordnen und sie dann per Scriptbefehle mit Funktionalität füllen kann.

Die Idee, alles manuell zu programmieren und dabei eine Sprache wie Python zu erlernen, ist sehr reizvoll. Zudem damit auch das Problem entfallen würde, dass das Entwicklungstool nach einigen Jahren möglicherweise vom Markt genommen oder nicht mehr weiter entwickelt wird.

Ich habe allerdings ein wenig Sorge, dass ich damit überfordert sein könnte. Die o.g. Autorensysteme nehmen einem doch viel an ganz grundlegenden Arbeiten ab. Ich habe die Befürchtung, dass es dann sehr lange dauern könnte, bis ich auf der selbst erstellten Grundlage tatsächlich mal Inhalte entwickeln könnte.

Von GODOT habe ich schon einmal etwas gehört, aber was ist eine "FOSS-Engine"?

Die brilliant.org Seiten habe ich mir angeschaut. Die machen schon sehr schöne Sachen. Ich nehme an, dass "JS" für JavaScript steht - aber was bedeutet "HTL"?

Danke für eure Gedanken und eure Hilfe :)
 
Du willst ein Autorensystem für E-Learning selber programmieren? Das halte ich für eine eher schlechte Idee als Einstieg in die Programmierwelt. Das ist als Projekt zu umfassend und zu schlecht abgegrenzt. Wenn ich dich richtig verstehe, willst du sowas programmieren, weil du denkst, dass es entsprechende Software heute nicht mehr gibt? Da liegst du natürlich falsch. Im Gegenteil hat sich das Feld sehr stark professionalisiert und weiter entwickelt. Mir ist nicht völlig klar, wonach du suchst, aber schau mal zum Beispiel bei H5P vorbei.
 
BeBur schrieb:
Du willst ein Autorensystem für E-Learning selber programmieren?
Nein. Er meinte, das er als Alternative ein Autorensystem verwenden könnte um halt nicht so viel selbst programmieren zu müssen und sich mehr auf Inhalte konzentrieren kann.
 
FOSS bedeutet in dem Kontext "Free and Open Source Software".

Wenn du bereits programmieren kannst, ist das gut. Denn das ist das eigentlich schwere, sich die Algorithmen auszudenken.
Die Spache, mit der das Aufgeschrieben wird, ist Übung, das kann man relativ leicht "umlernen".

Mir ist eingefallen, es gibt noch "Blockly" ein Baukastensystem für JavaScript.
Gegebenenfalls kommst du damit ja zurecht.

Ich persönlich mag JS nicht wirklich. U.A. wegen diesem Video (lohnt):

Aber solche Talks kann man bestimmt über jede Sprache machen.

Als Anfänger lernen würde ich Python oder Rust.
 
Sowohl Godot als auch Blockly sind absolut schlechte Empfehlungen für den TE, keines der beiden hat irgendwas mit Autorensystemen zu tun. Das wären auch dann noch schlechte Empfehlungen, wenn der TE selber Autorensysteme entwerfen möchte.

Jemandem, der mit einem Autorensystem arbeiten möchte zu empfehlen, keine "Fertigframeworks" zu verwenden, sondern doch einfach programmieren zu lernen ist ebenfalls eine ganz schlechte Empfehlung. Da kannst du auch gleich Godot als "Fertigframework" bezeichnen, das man also meiden sollte, wenn man ein paar kleinere Spiele programmieren will.

Autorensysteme sind gerade dazu gedacht, dass Lerninhalte ohne Programmierkenntnisse (bzw. mit sehr wenig) erstellt werden können.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: madmax2010
BeBur schrieb:
Autorensysteme sind gerade dazu gedacht, dass Lerninhalte ohne Programmierkenntnisse (bzw. mit sehr wenig) erstellt werden können.
Und was schlägst du vor?
 
Ich habe bereits H5P vorgeschlagen. Per Google findet man aber auch noch anderes, da müsste der TE nochmal schreiben warum/warum nicht Autorensystem XYZ.
 
Tatsächlich möchte ich AUF KEINEN FALL selbst eine Art Autorenumgebung programmieren.
Das würde meine Fähigkeiten sicher bei Weitem übersteigen.

H5P habe ich mir vor längerer Zeit mal angeschaut. Was mir daran nicht gefällt, ist die Beschränkung auf wenige standardisierte und formularhafte Lerninteraktionen.
Heißt: Die damit erstellen Lernsequenzen sehen alle gleich aus und beschränken sich auf langweilige Multiple Choice (und einige weitere) Formulare, wie man sie häufig bei Online-Baukästen für E-Learning findet.

Ich wünsche mir beim Erstellen von Lernsequenzen mehr Freiheiten. Ich möchte die grafischen und animierten Elemente frei positionieren können.
Ich möchte frei (programmierbare) Interaktionen mit den Anwendern.
Ich möchte auf Texteingaben flexibel und passend reagieren können, indem ich zum Beispiel die eingegebenen Text-Strings auf bestimmte Inhalte oder Schreibweisen untersuche.

Im Prinzip all das, was die zuerst genannten - aber leider nicht mehr verfügbaren - Autorensysteme (Director, Toolbok etc.) schon konnten.

Die Lerneinheiten, die ich in der Vergangenheit entwickelt habe, waren oft eher (einfache) Spiele, als standardisierte Formulare. Das heißt, es passierte einiges auf dem Bildschirm, die Benutzer konnten verschiedene Objekte anklicken und es passierte wieder etwas anderes und so weiter.

Also im Prinzip so ähnliche Sachen, die heute als Apps in Form von Lernspielen für Kinder angeboten werden.

Der eigentliche E-Learning-Unterbau (Erfassung der Lernerleistungen, Verschicken von Auswertungen an den Dozenten oder Meldungen an ein SCORM-kompatibles LMS) war für mich eigentlich immer nur der (langweilige) aber manchmal notwendige Unterbau.

Ich habe viele Sachen entwickelt, die den Lernern vor allem Spaß gemacht haben. Gelernt haben sie dann oft ganz nebenbei.

Aus diesem Grund scheiden für meine Zwecke alle Systeme aus, die den Lernprozess zwangläufig in eine Abfolge von immer gleichen Slides und Abfrageseiten pressen wollen.
Leider scheint das heutzutage aber "normal" zu sein. Es gibt ja eine ganze Reihe von Anbietern für so etwas, die - für teils astronomische Preise - das Zeug dann auch direkt auf ihren Servern hosten.

So etwas brauche ich aber nicht. Eher etwas, mit dem man möglichst flexibel kleine Spiele und Spielchen entwickeln kann, über die die Lerninhalte dann transportiert werden.
 
Vorkosigan schrieb:
Heißt: Die damit erstellen Lernsequenzen sehen alle gleich aus und beschränken sich auf langweilige Multiple Choice (und einige weitere) Formulare, wie man sie häufig bei Online-Baukästen für E-Learning findet.
Ich hab selber mit H5P noch nicht gearbeitet. Vielleicht bist du besser in einem fachspezifischen Forum (z.B. E-Learning) aufgehoben. Deinen Einwand verstehe ich allerdings nicht so ganz, denn es gibt auf der Website eine ganze Reihe von Beispielen, die ich nun gar nicht in die Kategorie "langweilige Multiple Choice" einordnen würde.
Virtual Tour
Interaktive Bilder
Memory
Kreuzworträtsel
Interaktives Video
Verzweigungen/Branching
 
BeBur schrieb:
...
Deinen Einwand verstehe ich allerdings nicht so ganz, denn es gibt auf der Website eine ganze Reihe von Beispielen, die ich nun gar nicht in die Kategorie "langweilige Multiple Choice" einordnen würde.
...

Na ja, auch die genannten Beispiele sind im Grunde alles nur einfache Templates, in die man dann seine eigenen Texte und Bilder - an den dafür vorgesehenen Stellen - einfügen kann.

Da fehlt einfach komplett die Freiheit, irgendetwas zu machen, was nicht exakt diesem Schema entspricht.
Die Ergebnisse sind dann wieder die üblichen Aneinanderreihungen von Slides mit verschiedenen Aufgabentypen.

Das ist sicher für manche Anwendungen OK und ausreichend. Leider ist es aber nicht das, was ich machen will.

Interessanter finde ich da schon die von madmax2010 oben vorgeschlagene Seite. Die arbeiten zum Beispiel mit durch den Benutzer "bedienbare" Modelle und Simulationen.
Auf diese Weise kann man sicher ganz gut wirklich Wissen vermitteln und nicht nur abfragen.

Leider kann man diese Dinge auf der brilliant.org-Seite nur anschauen und benutzen. Wenn ich ein Tool oder eine Sprache finden würde, mit der man solche Dinge selbst entwickeln kann, wäre ich schon ein ganzes Stück weiter.
 
Brilliant nimmt halt 10 Euro / Monat pro Nutzer bei Einzellizenzen und hat um die 10 Millionen Nutzer. Die haben also einen Jahresumsatz in der Größenordnung 100 Millionen bis 1 Milliarde Euro. Kann man sich ja grob überlegen, wie viele Softwareentwickler die in Vollzeit beschäftigen um die Vielfalt an Aufgabentypen zu bauen.

Du musst aber auch mal eigenständig recherchieren, es gibt noch anderen Tools außer H5P. Du musst auch bedenken, mit 'deinen' Programmen hast du jahrelang gearbeitet und bei H5P hast du und habe auch ich nur mal kurz drüber geschaut (Selbiges gilt dann natürlich für die H5P Alternativen). H5P wirft schlicht HTML+JS aus, d.h. das kannst du letztendlich genau so scripten wie du das damals bei deinen Programmen gemacht hast. Aber das erfordert natürlich Einarbeitung genau wie das damals bei deinen Programmen auch irgendwann mal gewesen ist als du damit angefangen hast.

Jenseits von Autorensystemen rate ich dir nach Javascript Bibliotheken/Frameworks Ausschau zu halten. Da JS die "Browserinhalte-Programmiersprache" ist und sowas was dir vorschwebt am ehesten als Website gebaut werden würde heute kann ich mir vorstellen, dass es da was für dich passendes gibt.
Ein anderer Ansatz könnte in Richtung Adobe XD, das ist für UI Design gedacht. Da bin ich mir aber sehr unsicher ob das passt.
 
BeBur schrieb:
Du musst aber auch mal eigenständig recherchieren, es gibt noch anderen Tools außer H5P.
Wobei zugegebenermaßen das recherchieren nicht so einfach ist. Die Fragestellung ist ja durchaus komplex. Das sieht man ja hier schon allein am diesem Thread. Mit einfach mal ein paar Suchbegriffe bei Google eingeben ist es ja nicht getan.
Und klar kann man sich auch die verschiedenen Produkte man angucken und in die Tiefe gehen. Aber das ist ja auch etwas, was man eher scheut. Weil man da natürlich relativ viel Zeit investiert, wo hinterher dann gerne mal rauskommen kann, das man die Zeit umsonst investiert hat.

Insofern liegt es natürlich nahe einfach mal rumzufragen um zu gucken, ob da jemand zufällig was kennt.
Und wenn dann Vorschläge kommen, die einen nicht überzeugen dann hakt man natürlich nach. Weils einen unsicher macht, ob der Gegenüber verstanden hat was man haben möchte bzw. man es selbst genügend erklärt hat.
 
Ich habe tatsächlich schon ziemlich viel gegoogelt und gesucht.

Das Ergebnis, zu dem ich gekommen bin, war, dass es solche komplexen Autorensysteme, wie die, die ich von früher kannte, offenbar gar nicht mehr gibt.
Das, was meinen Vorstellungen noch am ehesten entsprochen hat, waren Game-Engines wie "GameMaker Studio" oder "Construct".
Mit denen könnte man interaktive Lernszenarios erstellen, allerdings fehlen denen oft gerade die Dinge, die man dafür braucht (zum Beispiel das String-Handling). Auf der anderen Seite können und bieten diese Engines haufenweise Funktionalität und Leistung, die ich nie brauchen werde. Also mit Kanonen auf Spatzen und so ...

Vielleicht kann ich das Gewünschte mit einem Tool wie "Google Webdesigner", "Active Presenter" oder "Web Animator von Icommedia" in Verbindung mit JavaScript erreichen.
Wenn ich es richtig sehe, bieten diese drei Tools alle die Möglichkeit, eigenen Funktionalitäten mit JavaScript einzufügen. Außerdem hätte ich damit dann auch jeweils ein Gerüst, in dem alle grundlegenden Elemente einer Webseite bereits vom Tool bereit gestellt würden. Ich könnte dann - davon befreit - beginnen, die Funktionen der Objekte auf dem Bildschirm mit JavaScript zu programmieren.

Damit wäre dann auch die Frage geklärt, mit welcher Programmiersprache ich mich mal intensiver auseinandersetzen sollte, um weiter zu kommen.

Ob das alles funktioniert, weiß ich noch nicht. Die Tools sind teils kostenpflichtig und ich muss mich erst mal durchprobieren.

Ich danke euch auf jeden Fall allen für eure Tipps und Ratschläge. Und - wenn es bei JavaScript bleibt - werde ich bestimmt in Zukunft noch einmal auf euer Wissen und eure Erfahrung zurückgreifen und weitere Fragen stellen.
 
Zurück
Oben