Entwicklung eines leichtgewichtigen Web-Clients für das Lernsystem Kakadu
Entwicklung der serverseitigen Komponente des Lernsystems Kakadu
Transcript of Entwicklung der serverseitigen Komponente des Lernsystems Kakadu
ENTWICKLUNG DER SERVERSEITIGEN KOMPONENTE DES LERNSYSTEMS KAKADU Alex Lanz
Betreuer: Wolfgang Gassler, Eva Zangerle
Forschungsgruppe: Datenbanken und Informationssysteme (DBIS) 08.10.13
Inhaltsverzeichnis
08.10.13
¨ Kakadu
¨ Meine Aufgaben
¨ Architektur
¨ Lernalgorithmus
¨ Präsentation des Systems
Kakadu - Das freie Lernportal
2
Kakadu
08.10.13
¨ Ein freies Lernsystem
¨ OpenSource
¨ Lernen steht im Vordergrund
¨ Inhalte können geteilt werden
¨ Verschiedene Fragetypen
¨ System passt sich an Benutzer an
Kakadu - Das freie Lernportal
3
Meine Aufgaben
08.10.13
¨ Serverseitige Programmierung
¤ Annahme der Anfragen der Clients
¤ Verarbeiten der Anfragen
¤ Rückgabe der Antworten
¨ Entwicklung eines Lernalgorithmus für besseres
Lernen
¨ Tests
Kakadu - Das freie Lernportal
4
Architektur
08.10.13
¨ PHP – PHP Hypertext Preprocessor
¨ MySQL - Relationales Datenbankverwaltungssystem
Kakadu - Das freie Lernportal
5
Architektur
08.10.13
¨ Laravel - PHP Framework
+ OpenSource
+ Schnell und leichtgewichtig
+ Setzt auf PHP 5.3
+ Hervorragende Dokumentation + Großartige Community
+ Vollständig Implementierung von PHPUnit
+ Sicherheit
Kakadu - Das freie Lernportal
6
Architektur
08.10.13
¨ API-Spezifikation
¤ Definiert die Schnittstellen zwischen Server und Client
¤ Aufteilung in Bereiche:
n Pfade
n Formulare
n Antworten
Kakadu - Das freie Lernportal
7
Architektur
08.10.13 Kakadu - Das freie Lernportal
8
¨ Beispiel einer Schnittstelle: Favoriten ¤ Pfade
¤ Formulare n id – Die ID des Objekts
n type – Der Type des Objekts (Kurs, Katalog)
Beschreibung Pfad Methode
Favoriten anzeigen /profile/favorites GET
Favoriten hinzufügen /favorites/add POST
Favoriten entfernen /favorites/remove POST
Architektur
08.10.13 Kakadu - Das freie Lernportal
9
¨ Beispiel einer Schnittstelle: Favoriten ¤ Antworten
{ ”status ”: ”Ok/Info/Error”,
”messages ”: [ ”...” , ”...” ],
”errors ”: [ ”...” , ”...” ]
}
Lernalgorithmus
08.10.13
¨ Bestimmung der am besten geeignetsten Frage
¨ Sehr großen Einfluss auf Lernerfolg
¨ Benutzer soll sich ausschließlich aufs Lernen
konzentrieren können
Kakadu - Das freie Lernportal
10
Lernalgorithmus
08.10.13 Kakadu - Das freie Lernportal
11
¨ Lernkartei ¤ Mehrere Fächer
¤ Jeweils eine Karte pro Frage ¤ Vorderseite Frage, Rückseite Antwort
Lernalgorithmus
08.10.13 Kakadu - Das freie Lernportal
12
¨ Mikrolernen ¤ Lerninhalte werden in kleine Einheiten aufgeteilt
¤ Kürzere Schritte ¤ Bessere Konzentration auf Teilbereiche
¨ Spaced Repetition ¤ Lerninhalte nach gewisser Zeit wieder abfragen
¤ Festigen der Inhalte durch wiederholtes Abfragen
Lernalgorithmus
08.10.13 Kakadu - Das freie Lernportal
13
¨ Voraussetzungen:
¤ Unterschiedliche Anzahl von Fragen
¤ Richtig bzw. falsch beantwortete Fragen unterschiedlich
behandeln
¤ Nach Beantwortung einer Frage diese bei Auswahl für
einige Runden ausschließen
Lernalgorithmus
08.10.13 Kakadu - Das freie Lernportal
14
¨ Flashcards
¤ Eine Flashcard pro Benutzer und Frage
¤ Index speichert die Nummer des Faches
¤ Offset signalisiert, wie oft eine Frage nicht gestellt werden
darf
Lernalgorithmus
08.10.13 Kakadu - Das freie Lernportal
15
¨ Auswahl einer Frage: 1. Flashcards bestimmen
Lernalgorithmus
08.10.13 Kakadu - Das freie Lernportal
16
¨ Auswahl einer Frage: 2. Aufbau des Blocks
sizei = ((maxIndex - indexi) + 1) * 2
3. Auswahl der Frage
Lernalgorithmus
08.10.13 Kakadu - Das freie Lernportal
17
¨ Abspeichern einer Antwort
1. Flashcard aktualisieren
2. Offsets verringern
Antwort Index Offset
Richtig + 1 Zwischen 10 und 20
Falsch - 3 Zwischen 5 und 10
08.10.13 Kakadu - Das freie Lernportal 18
08.10.13 Kakadu - Das freie Lernportal 19
08.10.13 Kakadu - Das freie Lernportal 20
08.10.13 Kakadu - Das freie Lernportal 21
08.10.13 Kakadu - Das freie Lernportal 22
Zusammenfassung
08.10.13
¨ Kakadu – Ein freies Lernportal, das dem Benutzer das Lernen erleichtern soll
¨ Aufgaben ¤ Serverseitige Programmierung
¤ Verarbeiten der Anfragen der Clients
¤ Entwickeln von Algorithmen für ein besseres Lernen
Kakadu - Das freie Lernportal
23