update doc with edX
This commit is contained in:
1
.vscode/settings.json
vendored
Normal file
1
.vscode/settings.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
0
doku/content/edX-k8s.asciidoc
Normal file
0
doku/content/edX-k8s.asciidoc
Normal file
37
doku/content/edX.asciidoc
Normal file
37
doku/content/edX.asciidoc
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
### Allgemeine Informationen zur Open-Source-Lernplattform edX
|
||||||
|
|
||||||
|
**Gründung und Geschichte:**
|
||||||
|
edX wurde im Jahr 2012 von der Harvard University und dem Massachusetts Institute of Technology (MIT) angfangen zu entwickeln. Die Plattform wird im Rahmen einer Non-Profit-Organisation geleitet, um hochwertige Bildung für alle zugänglich zu machen und eine Gemeinschaft von Lernenden und Lehrenden weltweit zu schaffen. Seit ihrer Gründung hat sich edX zu einer der größten Plattformen für Online-Lernen entwickelt, die Kurse von Universitäten und Institutionen weltweit anbietet.
|
||||||
|
|
||||||
|
**Technische Details:**
|
||||||
|
|
||||||
|
**Techstack:**
|
||||||
|
|
||||||
|
* **Programmiersprachen:** Python (hauptsächlich Django für das Backend)
|
||||||
|
* **Frontend:** JavaScript, React
|
||||||
|
* **Datenbanken:** MySQL, MongoDB
|
||||||
|
* **Containerisierung:** Docker
|
||||||
|
* **Continuous Integration/Continuous Deployment (CI/CD):** GitHub Actions, Jenkins
|
||||||
|
|
||||||
|
**Module und Funktionen:**
|
||||||
|
|
||||||
|
* **LMS (Learning Management System):** Verwaltung von Kursinhalten, Benutzern und Einschreibungen.
|
||||||
|
* **CMS (Content Management System):** Erstellung und Verwaltung von Kursinhalten.
|
||||||
|
* **XBlock:** Erweiterbares Modul zur Implementierung verschiedener Lernkomponenten wie Videos, Quizze, Diskussionen und mehr.
|
||||||
|
* **LTI (Learning Tools Interoperability):** Ermöglicht die Integration von externen Tools und Ressourcen.
|
||||||
|
* **Open edX Studio:** Ein Autorentool zur Kurserstellung und -verwaltung.
|
||||||
|
* **Analyse-Tools:** Bereitstellung von Datenanalysen und Berichten zur Lernleistung.
|
||||||
|
|
||||||
|
**Architektur:**
|
||||||
|
|
||||||
|
- **Microservices-Architektur:** edX nutzt eine Microservices-Architektur, um verschiedene Funktionen und Module zu trennen und unabhängig zu skalieren.
|
||||||
|
- **APIs:** Umfangreiche RESTful APIs zur Integration und Erweiterung der Plattform.
|
||||||
|
- **Scalability:** Nutzung von Cloud-Diensten zur Skalierung und Verwaltung von Benutzerlasten.
|
||||||
|
|
||||||
|
image::../media/edx-architecture.png[edX-Architektur]
|
||||||
|
|
||||||
|
Hauptkomponenten:
|
||||||
|
|
||||||
|
* edx/edx-platform repo contains the code for the edX platform.
|
||||||
|
* edx/edx-analytics-dashboard repo contains the code for edX Insights.
|
||||||
|
* edx/configuration repo contains scripts to set up and operate the edX platform.
|
@ -10,4 +10,21 @@ Commercial solution for grading code submissions in an external tool, integratab
|
|||||||
* Plagiarism detection to check similarity between submissions
|
* Plagiarism detection to check similarity between submissions
|
||||||
|
|
||||||
=== CodeOcean ===
|
=== CodeOcean ===
|
||||||
link:https://codeocean.openhpi.de/[CodeOcean]
|
|
||||||
|
link:https://codeocean.openhpi.de/[CodeOcean] ist eine webbasierte Plattform für praktische Programmierübungen, die hauptsächlich in MOOCs (Massive Open Online Courses) wie auf openHPI verwendet wird. Sie ermöglicht es Lernenden, Code direkt in ihrem Browser zu schreiben, auszuführen und zu testen, ohne eine Entwicklungsumgebung einrichten zu müssen. Zu den Funktionen gehören Syntax-Hervorhebung, serverseitige Code-Ausführung und automatisiertes Feedback durch Unit-Tests. Zusätzlich können Lernende kontextbezogene Fragen stellen, was eine kollaborative Lernumgebung fördert.
|
||||||
|
|
||||||
|
Erfasste Ziele und Anforderungen dieser Arbeit sind:
|
||||||
|
- Vielseitigkeit: Einsatz verschiedener Programmiersprachen möglich
|
||||||
|
- Einsteigerfreundlichkeit: Einfaches User Interface
|
||||||
|
- Skalierbarkeit: Unterstützung für viele Nutzer
|
||||||
|
- Sicherheit: Ausführung von fremdem Code in einer Sandbox
|
||||||
|
- Interoperabilität: Integration in Lernmanagement-Systeme
|
||||||
|
|
||||||
|
Der gewählte Ansatz ist daher dem gewünschten am ähnlichsten. Es werden eine vorbestimmte Anzahl an Docker-Containern als Ausführungsumgebungen für die Programmieraufgaben bereitgestellt und jeweils für die Bearbeitung der Programmieraufgaben den Nutzern zugewiesen. CodeOcean unterstützt die Integration in andere Lernmanagement-Systeme über die offene LTI-Schnittstelle
|
||||||
|
|
||||||
|
|
||||||
|
=== EmpowrOrg Coppin ===
|
||||||
|
|
||||||
|
link:https://github.com/EmpowrOrg/Coppin[EmpowrOrg Coppin] ist ein Tool zur Erstellung und Bewertung von Aufgaben, das zusammen mit **Doctor** und **CodeEditorXblock** verwendet wird. Durch die Kombination dieser drei Werkzeuge kann jede Organisation, die Open Edx nutzt, Programmieraufgaben lehren und bewerten. Coppin ist in **Doctor** integriert, um die Bewertung von Aufgaben zu ermöglichen, und verwendet **CodeEditorXblock** als Code-Editor und -Ausführer.
|
||||||
|
|
||||||
|
Python und Swiftcode, können local ausgeführt und getestet werden. Die Ergebnisse werden in der **Doctor**-Oberfläche angezeigt. Die Bewertung erfolgt durch die automatische Ausführung von Unit-Tests, die in den Aufgaben definiert sind.
|
||||||
|
BIN
doku/media/edx-architecture.png
Normal file
BIN
doku/media/edx-architecture.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 150 KiB |
Reference in New Issue
Block a user