Erweiterung der Lernplattform Moodle anhand der - RWTH

Werbung
Erweiterung der Lernplattform Moodle
anhand der Programmierung von
Blöcken
Seminarvortrag im Studiengang
Scientific Programming / FH-Aachen
von Mathias Kohs
Erstbetreuer: Prof. Dr. -Ing. Andreas Terstegge
Zweitbetreuer: Dipl. -Inform. Roman Breuer
Inhaltsverzeichnis
• Elearning
• LMS
• Moodle
 Was sind Blöcke?
 Programmierung von Blöcken
2
Elearning
• Was ist Elearning?
• Selbstlernsystem
• Ergänzung zur Präsenzveranstaltung
• Einsatzorte
 Schule
 Hochschule
 Weiterbildung
3
Learning Management Systeme (LMS)
Was sind LMS?
• Ähnlich wie ein CMS
• Joomla / Wordpress / Drupal
• Hilft bei der Organisation von Lerninhalten
• Ermöglicht das Umsetzen von
 Selbstlernsystemen
 Tutoriell gestützte Systeme
 Begleitsystemen zur Vorlesung
4
Learning Management Systeme (LMS)
Funktionen von LMS
• Zusammenstellung von Lerninhalten
• Quizze / Lernstandsabfragen
• Lernpfade
• Kommunikationsmöglichkeiten
• Tutorenwerkzeuge
• Studentenwerkzeuge
• Userverwaltung
5
Learning Management Systeme (LMS)
Auswahl bekannter Systeme
• WebWeaver
(1999)
• EDYOU
(2010)
• Blackboard
(1997)
• OLAT
(1999)
• Ilias
(2000)
• Moodle
(1999)
• Stud.IP
(2000)
6
Moodle
• vollwertiges LMS
• streng Kursbasiert
• Modular
 37 Pluginschnistellen
„Modular Object-Oriented Dynamic Learning Environment“
https://moodle.org/logo/logo-4045x1000.jpg
7
Moodle
Auswahl Pluginschnittstellen
• Blöcke
• Authentifizierungs-Module
• Einschreibe-Module
• Quiz-Module
• Webservices
• Reports
Weiteres unter:
http://docs.moodle.org/dev/Plugins
8
Moodle
Was sind Böcke?
9
Moodle Blöcke
Standard Blöcke
10
Moodle Blöcke
Eigene-Blöcke
11
Moodle Blöcke
Konfiguration Global / Instanz
12
Block-Programmierung
Bestandteile eines Blocks
• block_[blockname].php
• edit_form.php
• settings.php
• version.php
• lang
 en

block_[blockname].php
13
Block-Programmierung
block_[blockname].php
class block_helloworld extends block_base {
function init()
: void
function get_content()
: String
function instance_allow_config()
: boolean
function instance_allow_multiple()
: boolean
function has_config
: boolean
}
14
Block-Programmierung
edit_form.php
class block_helloworld_edit_form extends block_edit_form {
protected function specific_definition($mform) {
$mform->addElement('header', 'configheader',
get_string('blocksettings', 'block'));
$mform->addElement('text', 'config_extratext',
get_string('extratext', 'block_helloworld'));
$mform->setDefault('config_extratext', 'default value');
$mform->setType('config_extratext', PARAM_MULTILANG);
}
}
15
Block-Programmierung
settings.php
defined('MOODLE_INTERNAL') || die;
if ($ADMIN->fulltree) {
$settings->add(new admin_setting_configtext(
'block_helloworld_einstellung1',
'Einstellung1',
'',
‚StandartText',
PARAM_TEXT)
);
}
16
Fazit Moodle
•
Umfangreich
•
Große Anzahl Schnittstellen
•
Gut anpassbar
•
Umfangreiche aber ungenaue API Dokumentation
•
Einfacher Einstieg
17
Blick auf die Bachelorarbeit
Userinterface
BSCW-Server
Moodle-Server
Zentraler
Server
ABC-Server
DEF-Server
18
Erweiterung der Lernplattform Moodle anhand
der Programmierung von Blöcken
Vielen Dank für Ihre Aufmerksamkeit
Ende
Zusatzmaterial
20
Data Manipulation API
Überblick der Funktionen
$DB->get_field($tabelle, $feldname, $where)
:
String
$DB->get_record($tabelle, $where)
:
StdClass
$DB->get_records_sql($sql)
:
array<StdClass>
21
Data Manipulation API
Einsatzbeispiel HelloUser
22
Herunterladen