Optimierung der Revoca Lernsoftware Verbesserungsmöglichkeiten und Redesign der Lernsoftware Revoca Bachelorarbeit Frühjahrssemester 2011 (BA10 FS wirj 1) André Götz Studiengang Unternehmensinformatik Eingereicht bei Dr. Joachim Wirth ZAMP - Zentrum für angewandte Mathematik und Physik Christof Marti InIT - Institut für angewandte Informationstechnologie Winterthur, 10.06.2011 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Abstract Deutsche Version Diese Arbeit beinhaltet die Erhebung, Analyse und Evaluation von Massnahmen zur Verbesserung der Revoca Lernsoftware. Dies mit einem Augenmerk auf bessere Lernerfolge durch Änderungen an der Benutzeroberfläche und didaktischen Funktionserweiterungen. In Zusammenarbeit mit dem Verein Revoca Lernsoftware wurde, gestützt auf Befragungen und der Beobachtung von momentanen und potenziellen Revoca-Benutzern und im Vergleich mit Konkurrenzprodukten, Verbesserungschancen identifiziert, analysiert, priorisiert und ausgewählte in einer Entwicklungs-Version auch realisiert. Es wurden qualitative Benutzerbefragungen in Form von persönlichen Interviews aber auch quantitativere Methoden, wie Online-Umfragen durchgeführt, ausgewertet und diverse Defizite identifiziert. Die Bedürfnisse der Befragten wurden strukturiert, mit Fachliteratur zum Thema Lernpsychologie und User Interaction Design abgeglichen und geeignet scheinende Verbesserungschancen daraus abgeleitet. Einige der am höchsten priorisierten Funktionen konnten als Entwurf in der EntwicklungsVersion von Revoca implementiert werden auf welche die nächste Revoca-Version aufbauen wird. Noch offen bleibt eine volle Implementierung aller Änderungen und eine statistisch repräsentative Studie, ob die vorgeschlagenen Massnahmen beim breiten Publikum auch den erhofften Effekt erzielen. I Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW English Version This bachelor thesis contains the investigation, analysis and evaluation of measures improving the learning software Revoca. This with special attention to a better learning experience due to a improved user interface and didactical additions. In collaboration with the association Revoca Lernsoftware, based on surveys of current and potential Revoca users, by comparing and contrasting of other learning software in the market, chances for enhancement were identified, analized and some selected features were implemented in a development version. Individual interviews as qualitative surveys but also rather quantitative methods like online surveys were carried out and evaluated and different chances for optimization were deduced accordingly. The respondents needs were structured, adjusted with specialist literature in the subjects of learning psychology and user interaction design and adequate proposals for changes and additions were drafted. Some of the highest prioritized features could be implemented as a draft in Revocas development version, on which the next final version of Revoca will build upon. With these modifications and these proposals the foundation could be laid for the further development of Revoca. Still open is the full implementation of all proposed features and a statistically representative study if the taken measures show the hoped for success at a large audience. II Erklärung betreffend das selbständige Verfassen einer Bachelorarbeit an der School of Engineering Mit der Abgabe dieser Bachelorarbeit versichert der/die Studierende, dass er/sie die Arbeit selbständig und ohne fremde Hilfe verfasst hat. (Bei Gruppenarbeiten gelten die Leistungen der übrigen Gruppenmitglieder nicht als fremde Hilfe.) Der/die unterzeichnende Studierende erklärt, dass alle zitierten Quellen (auch Internetseiten) im Text oder Anhang korrekt nachgewiesen sind, d.h. dass die Bachelorarbeit keine Plagiate enthält, also keine Teile, die teilweise oder vollständig aus einem fremden Text oder einer fremden Arbeit unter Vorgabe der eigenen Urheberschaft bzw. ohne Quellenangabe übernommen worden sind. Bei Verfehlungen aller Art treten der Paragraph 46 (Unredlichkeit und Verfahren bei Unredlichkeit) der ZHW Prüfungsordnung sowie die Bestimmungen der Disziplinarmassnahmen der Hochschulordnung in Kraft. Ort, Datum: Unterschriften: ………………………………… ………………………………………………………... ………………………………………………………… ………………………………………………………… Das Original dieses Formulars ist bei der ZHAW-Version aller abgegebenen Bachelorarbeiten zu Beginn der Dokumentation nach dem Abstract bzw. dem Management Summary mit OriginalUnterschriften und -Datum (keine Kopie) einzufügen. Zürcher Fachhochschule Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Haftungsausschluss ©2011 Zürcher Hochschule für Angewandte Wissenschaften Der Autor sowie die ZHAW übernehmen keine Gewähr für die Richtigkeit der Angaben in der vorliegenden Arbeit. Im Weiteren haftet der Autor oder die ZHAW unter keinen Umständen für mittelbare oder unmittelbare Folgeschäden oder besondere Schadensfolgen, die sich aus oder in Verbindung mit der Dokumentation ergeben, gleichgültig, ob diese aufgrund unerlaubter Handlungen, eines Vertrages oder sonstigen Gründen in Verbindung mit dieser Dokumentation entstehen. Der Autor und der Verein Revoca behalten sich alle Rechte an der vorliegenden Dokumentation und den digitalen Dokumenten auf der CD vor. Die Arbeit darf ohne schriftliche Genehmigung des Autors in keiner Art und Weise (Fotokopie, Mikrofilm, PDF oder mit Hilfe eines anderen Verfahrens), auch nicht für Zwecke der Unterrichtsgestaltung, reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden. Die Erteilung einer Genehmigung unterliegt einer Bewilligung durch den Autor, die ZHAW und den Verein Revoca Lernsoftware. IV Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Organisatorisches Kontaktadresse InIT InIT - Institute of Applied Information Technology Zürcher Hochschule für Angewandte Wissenschaften CH-8401 Winterthur Switzerland Tel.: +41 (0)58 934 69 14 Fax.: +41 (0)58 935 69 60 E-Mail: info@init.zhaw.ch Internet: http://init.zhaw.ch Kontaktadresse Revoca Revoca Lernsoftware Bruno Dahinden Alleestrasse 25 CH-8590 Romanshorn Switzerland Tel.: +41 (0)71 672 90 79 E-Mail: info@revoca.ch Internet: http://www.revoca.ch Involvierte Personen Name Kürzel Funktion E-Mail André Götz gotzand Student UI08b (Autor) gotzand@students.zhaw.ch Dr. Joachim Wirth wirj Projektbetreuer wirj@zhaw.ch Christof Marti mach CO-Projektbetreuer mach@zhaw.ch Peter Scheuer CTO Revoca Lernsoftware p.scheuerer@revoca.ch Bruno Dahinden Geschäftsleiter Revoca Lernsoftware b.dahinden@revoca.ch V Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Inhaltsverzeichnis 1. Einführung 1 1.1. Über diese Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Ausgangslage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3. Darstellungsweise und Formulierungen . . . . . . . . . . . . . . . . . . . . 2 1.3.1. Akteure eines Lernprogramms . . . . . . . . . . . . . . . . . . . . . 2 1.4. Original-Aufgabenstellung und Zielsetzung . . . . . . . . . . . . . . . . . . 3 1.5. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.6. Verwendete Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.6.1. Appcelerator Titanium (Studio) . . . . . . . . . . . . . . . . . . . 4 1.6.2. Balsamiq Mockups . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.6.3. LATEX(Texmaker) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.4. Ottobib.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.7. Abgrenzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.7.1. Geographische Abgrenzung . . . . . . . . . . . . . . . . . . . . . . 6 1.7.2. Abgrenzung nach Benutzer . . . . . . . . . . . . . . . . . . . . . . 6 1.7.3. Lern Programm-Typen . . . . . . . . . . . . . . . . . . . . . . . . 6 2. Der Verein Revoca und das Lernprogramm 5 7 2.1. Geschichte des Lernprogramms . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2. Aufbau des Vereins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3. Das Lernprogramm Revoca (Version 5) . . . . . . . . . . . . . . . . . . . . 9 2.3.1. Die Bibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.2. Die Übungsmodi und Fragetypen . . . . . . . . . . . . . . . . . . . 10 2.3.2.1. Die Übungsmodi . . . . . . . . . . . . . . . . . . . . . . 10 2.3.2.2. Eigenverantwortung der Lernenden . . . . . . . . . . . . . 10 2.3.2.3. Die Fragetypen . . . . . . . . . . . . . . . . . . . . . . . 11 2.3.3. Die Übungsdateien . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3.4. Der Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3.5. Das Online-Backend (Revoca-Lernwelt) . . . . . . . . . . . . . . . 12 2.4. Aktueller Einsatz von Revoca . . . . . . . . . . . . . . . . . . . . . . . . . 12 3. Quellen 14 3.1. Literaturquellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VI 14 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 3.2. Befragungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2.1. Interview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2.2. Online-Umfrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2.2.1. Fragenkatalog . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2.2.2. Auswahl der Befragungsgruppen . . . . . . . . . . . . . . 15 3.3. Konkurrenzprodukte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3.1. Phase-6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.3.2. Langenscheidt Vokabeltrainer 4 . . . . . . . . . . . . . . . . . . . . 18 3.3.3. KhanAcademy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.4. Moodle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3.5. OLAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3.6. Auralog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3.7. Rosetta Stone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4. Resultate der Recherchen und Umfragen 23 4.1. Festgestellte Mängel und Vorschläge . . . . . . . . . . . . . . . . . . . . . 23 4.1.1. Mängel der Motivationsfähigkeit . . . . . . . . . . . . . . . . . . . 23 4.1.2. Fehlende Funktionalität . . . . . . . . . . . . . . . . . . . . . . . . 24 4.1.3. Mängel der Benutzeroberfläche . . . . . . . . . . . . . . . . . . . . 25 4.1.4. Strukturelle Mängel . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.1.5. Angebrachte Einzel-Vorschläge/Kritiken . . . . . . . . . . . . . . . 26 4.2. Möglichkeiten zur Problemlösung und Optimierung . . . . . . . . . . . . . 27 4.2.1. Motivationsfördernde Massnahmen . . . . . . . . . . . . . . . . . . 27 4.2.1.1. Lernfortschritt anzeigen . . . . . . . . . . . . . . . . . . . 27 4.2.1.2. Überspringen von Lernstufen . . . . . . . . . . . . . . . . 27 4.2.1.3. Lernen am Modell fördern . . . . . . . . . . . . . . . . . 28 4.2.1.4. Auszeichnungen vergeben . . . . . . . . . . . . . . . . . 28 4.2.1.5. Anzeigen von Motivationssätzen . . . . . . . . . . . . . . 29 4.2.2. Optimierungen der Benutzeroberfläche . . . . . . . . . . . . . . . . 29 4.2.2.1. Lernmodi als Registerkarten darstellen . . . . . . . . . . . 29 4.2.2.2. Aussagekräftigere Status-Icons . . . . . . . . . . . . . . . 29 4.2.2.3. personalisierbare Darstellungsoptionen pro Arbeitsplatz . . 29 4.2.3. Vergrösserung des Funktionsumfangs . . . . . . . . . . . . . . . . . 30 4.2.3.1. Anbieten einer Lernwerkstatt . . . . . . . . . . . . . . . . 30 4.2.3.2. Theorie-Einbindung ermöglichen . . . . . . . . . . . . . . 31 4.2.3.3. Karteikasten-Modus integrieren . . . . . . . . . . . . . . 31 4.2.3.4. Aufgabentyp Kreuzworträtsel . . . . . . . . . . . . . . . . 31 4.2.3.5. Aktivieren-Modus anbieten . . . . . . . . . . . . . . . . . 31 4.2.3.6. automatischer Pausen-Vorschlag . . . . . . . . . . . . . . 32 VII Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 4.2.4. Strukturelle Anforderungen . . . . . . . . . . . . . . . . . . . . . . 32 4.2.4.1. Erweiterbarkeit zur Laufzeit . . . . . . . . . . . . . . . . 32 4.2.4.2. Interaktive Übungen mit Revoca . . . . . . . . . . . . . . 32 4.2.4.3. Mobile Verwendung von Revoca . . . . . . . . . . . . . . 32 5. Implementierung der nächsten Revoca-Versionen 33 5.1. Übernommene Voraussetzungen von Revoca 5 . . . . . . . . . . . . . . . . 33 5.1.1. Aufbau der Übungsdateien . . . . . . . . . . . . . . . . . . . . . . 33 5.1.1.1. Die Datei dieDaten . . . . . . . . . . . . . . . . . . . . . 33 5.1.2. Codebeispiel in Revtalk . . . . . . . . . . . . . . . . . . . . . . . . 35 5.2. Struktur von Revoca 5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.2.1. Die Appcelerator Titanium Plattform . . . . . . . . . . . . . . . . . 36 5.2.1.1. Titanium Desktop und Titanium Mobile . . . . . . . . . . 36 5.2.1.2. Wahl der Titanium Plattform für Revoca . . . . . . . . . 37 5.2.2. Implementierung der Benutzeroberfläche . . . . . . . . . . . . . . . 37 5.2.3. Grundlegende Modularisierung . . . . . . . . . . . . . . . . . . . . 37 5.2.4. Implementierung des Übung-Ladens . . . . . . . . . . . . . . . . . 39 5.2.5. Implementierung des Übens . . . . . . . . . . . . . . . . . . . . . . 39 5.2.5.1. Darstellung und Korrektur eines Aufgabentyps . . . . . . 39 5.2.5.2. Variation der Reihenfolge durch den Übungsmodus . . . . 40 5.3. Auswahl von zu implementierenden Änderungen . . . . . . . . . . . . . . . 42 5.4. Details zur Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.4.1. Änderung der Benutzeroberfläche . . . . . . . . . . . . . . . . . . . 43 5.4.2. Implementierung eines Aktivieren-Modus . . . . . . . . . . . . . . . 43 5.4.3. Einbindung von Motivationssätzen . . . . . . . . . . . . . . . . . . 44 5.5. Resultierendes Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.5.1. Programmcode auf CD . . . . . . . . . . . . . . . . . . . . . . . . 45 5.5.2. Funktionsumfang des Programms . . . . . . . . . . . . . . . . . . . 45 5.6. Änderungsvorschläge zu Prozessen . . . . . . . . . . . . . . . . . . . . . . 46 5.6.1. Einführung eines Bug- und Feature-Tracker . . . . . . . . . . . . . 46 5.6.1.1. Anforderung . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.6.1.2. Realisierung . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.6.2. Einführung einer Versions-Verwaltung . . . . . . . . . . . . . . . . 46 5.6.3. Marketing über soziale Online-Medien . . . . . . . . . . . . . . . . 46 6. Schlusswort 48 6.1. Aufgetauchte Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.2. Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.3. Persönliche Meinung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.4. Danksagung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 VIII Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW A. Befragungen 52 A.1. Interview with Paul Raper . . . . . . . . . . . . . . . . . . . . . . . . . . 52 A.2. Online-Fragebögen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 B. Verzeichnisse 57 B.1. Abbildungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 B.3. Listingverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 B.4. Abkürzungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 B.5. Glossar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 B.6. Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 C. Appendix 61 C.1. Evaluation der Programmierumgebungen . . . . . . . . . . . . . . . . . . 61 C.2. Projektmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 IX Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 1. Einführung 1.1. Über diese Arbeit Im Rahmen der Bachelorarbeit (BA) im 6. Semester an der Zürcher Hochschule für Angewandte Wissenschaften (ZHAW) wird von den Studierenden des Studienganges Unternehmensinformatik eine mehrmonatige Abschlussarbeit an einem von Dozenten betreuten Projekt verlangt. In Zusammenarbeit mit dem Verein Revoca kann das gelernte ProjektmanagementWissen sowie die im Studiengang erworbenen Fähigkeiten im Bereich Software-Entwicklung interdisziplinär eingesetzt werden und wertvolle Erfahrung für spätere Projekte gesammelt werden. 1.2. Ausgangslage Die auf Sprachen spezialisierte Schweizer Lernsoftware Revoca ist Anfang 2009 in der fünften Version erschienen. Sie bietet Schweizer Primar-, Sekundar- und Mittelschulen verschiedene Übungstypen speziell für deren Lehrmittel, aber auch lehrgangsspezifische, wie zum Beispiel für Medizinische Praxis Assistentinnen oder allgemeinbildende Übungen und lehrmittelunabhängige Übungsreihen. Die Entwicklung der aktuellen Revoca-Version 5 wurde, bis auf eine Bedienungsanleitung und einige Code-Kommentare nicht dokumentiert oder einem Projektmanagement-Tool festgehalten. Es existieren ebenfalls keine Schnittstellenspezifikationen, weder für die XML-Übungs- und Bibliotheksdateien, noch für die Internet-Schnittstelle von Revoca. Ziel der im 2010 begonnenen Entwicklungsarbeiten ist, bis Ende Sommer 2011 ein Revoca in der Version 5.5 mit gleicher Funktionalität auf der im Kapitel 5.2.1 noch genauer erläuterten Titanium Plattform neu zu implementieren. Dabei sollen einige technologische und strukturelle Mängel behoben werden, so dass der Einführung von neuer Funktionalität nichts mehr im Wege steht. In einer sechsten Version sollen dann vom Vorstand ausgewählte Neuerungen implementiert werden, möglichst die Rückwärtskompatibilität zu Revoca 5 und 5.5 wahrend. 1 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 1.3. Darstellungsweise und Formulierungen Diese Arbeit verwendet einige eigene Darstellungsweisen für Sachverhalte und wortwörtliche Zitate. Wortwörtliche kurze Zitate sind in Originalsprache, inklusive der abgekürzten Quel- ’Text des Zitats’ lenangabe, am rechten Rand der Seite gedruckt. Die Arbeit wurde allgemein möglichst frei von unnötigen Fachbegriffen gehalten. Fachbegriffe und Sachverhalte, die unumgänglich und für das Verständnis der Arbeit essentiell sind, sind in den folgenden zwei Blocktypen beschrieben. Konnte aus Gründen des Leseflusses kein Block eingefügt werden, ist der Fachbegriff im angehängten Glossar zu finden. Didaktische Sachverhalte und Theorien sind in einem Didaktik-Block erklärt. Technische Fachbegriffe und Erklärungen finden sich in diesen Technik-Blöcken. 1.3.1. Akteure eines Lernprogramms Lernprogramme unterstützen aus Benutzersicht drei hauptsächliche Rollen: Die Personen, welche mit dem Programm etwas Lernen wollen (im Folgenden genannt Lernende), die Personen, die diese betreuen (im Folgenden genannt Mentoren) und die Personen, die Übungen für das Programm verfassen (im Folgenden genannt Übungsautoren oder Autoren). Im diesem Dokument werden die oben genannten, allgemeinen Begrifflichkeiten verwendet, auch wenn es sich bei einem Mentor zum Beispiel um einen Lehrer handeln kann. 2 [Quelle] Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 1.4. Original-Aufgabenstellung und Zielsetzung Optimierung der Revoca Lernsoftware Betreuer: Joachim Wirth, wirj Co-Betreuer: Christof Marti, mach Fachgebiete: Software (SOW) Studiengang: UI Zuordnung: Institute of Applied Information Technology (InIT) Industriepartner: Verein Revoca Lernsoftware Gruppengrösse: 1 Kurzbeschreibung: Revoca ist ein Verein, der sich seit über 25 Jahren mit der Entwicklung und Vermarktung einer Lernsoftware beschäftigt. Der Schwerpunkt liegt dabei auf dem Lernen von Sprachen. Die Software ist momentan in Revolution Runtime implementiert und soll in der nächsten Zukunft auf der Appcelerator Titanium Plattform neu implementiert werden. Damit verbunden ist ein komplettes Redesign der clientseitigen Software. Einhergehend mit dem Redesign soll untersucht werden, wie sich die Software erweitern lässt, damit sie intuitiver bedient werden kann und dem Anwender neue optimierte Lernmöglichkeiten eröffnet. Ziel der Arbeit ist im einzelnen: Restrukturierung des Programmcodes Mängel analysieren Lösungsmöglichkeiten finden und wenn möglich implementieren Vergleich mit anderen Lernplattformen Analyse und Definition von Abgrenzungskriterien Erkennen und Beschreiben von Verbesserungschancen Starker Einbezug von Benutzerwünschen durch entsprechende Befragung Neue Funktionalität – analysieren, – priorisieren, – evaluieren und – ausgewählte Optimierungsmöglichkeiten implementieren 3 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 1.5. Motivation Höhere Anforderungen an Schulabgänger, steigende Bildungskosten, vorausgesetzte lebenslange Weiterbildung, Früh-Englisch und so weiter fordern unseren Bildungsinstituten immer mehr ab. Um Kosten zu sparen, werden Klassen zusammengelegt und der einzelne Schüler droht in der vermeintlich homogenen Masse unter zu gehen. Doch dank der heutzutage omnipräsenten Technik, wie Computer, Smartphones und Tablet-PCs tun sich auch für den Bildungs-Sektor neue Wege auf. Die Schweizer Bürger sind zunehmend 24/7 mit Ihrem Mobiltelefon online, Smartphones, wie die aktuellsten Android-Modelle, kommen mit Ihren Zweikerne-Prozessoren an die Leistung eines vor zwei Jahren noch aktuellen Notebooks heran. Für die Winzlinge erscheinen erste leistungshungrige 3D-Spiele und die Umsatzzahlen erfolgreicher Mobiltelefon-Programme, genannt Apps, schiessen innert Tagen in die Millionen. Doch Hans Schweizer sitzt immer noch gelangweilt neben Julia Slavic auf der Schulbank und horcht, nicht sonderlich viel aufnehmend, den monotonen Silben seiner Französisch-Lehrerin. Doch es ginge auch anders: Viele Schweizer Schüler haben bereits erste Erfahrungen mit Lernprogrammen gesammelt, jedoch lassen sich auch nur die bekanntesten nicht mehr an einer Hand abzählen. Das Stellwerk genannte Einstufungsprogramm hat sich in den letzten 4 Jahren in der Ostschweiz einen Namen gemacht und andere Lösungen wie Moodle oder Lernwikis sind von Grundschulen über Universitäten bis zu Unternehmen überall im Eiltempo auf dem Vormarsch. Die letzten Jahre haben gezeigt [Ber11], dass Lernsoftware in Kombination mit Präsenzlehre gerade in unserer zunehmend technisierten Gesellschaft ’We stand on the sehr viel bewegen konnte und kann. cusp of a great Jedoch gerade dieser schnellem Verbreitung ist es wahrscheinlich zuzuschreiben, dass die opportunity to end meisten Lernprogramme die heute verfügbaren technischen Möglichkeiten gar nicht ausnut- generations of zen und noch viel Optimierungspotenzial auch von didaktischer Seite her vorhanden ist. educational Dies macht dieses Thema gerade jetzt aktuell und spannend, auch wenn die immer noch discrimination gültigen didaktischen Prinzipien zum Teil schon seit mehr als 40 Jahren bestehen. 1.6. Verwendete Software Die im Folgenden aufgelisteten Software-Produkte haben mir sehr geholfen, diese Arbeit zu erstellen, darum seien sie in diesem Kapitel kurz beschrieben: 1.6.1. Appcelerator Titanium (Studio) Appcelerator Titanium ist eine auf der Webkit-Engine aufbauende Runtime-Umgebung, welche es erlaubt für verschiedene Plattformen kompatible Anwendungen mit Web-Technologien zu schreiben. Es werden sowohl die gängigsten Desktop-Betriebssysteme wie Microsoft Windows, MAC OS und Linux, als auch Mobile Betriebssysteme wie iOS (iPhone und iPad), Android und 4 [...]’ [ber2011] Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW das Blackberry-OS unterstützt. Die Applikationen können für alle Systeme in HTML5, CSS3 und Javascript geschrieben werden. Zusätzlich zu den üblichen Javascript-Funktionen bietet Appcelerator Titanium (Mobile) eine je nach System etwas variierende API an, in welcher Dateisystem-Zugriffe, Low-Level HTTP-Requests usw. als zusätzliche Funktionen angeboten werden. Weitere Informationen im Kapitel 5.2.1 und unter http://www.appcelerator.com 1.6.2. Balsamiq Mockups Balsamiq Mockups ist wie der Name sagt, eine Mockup-Software, womit sehr simpel aussehende und doch aufgeräumte Mockups erstellt werden können. Es besitzt alle üblichen GUI-Elemente zum einfachen Platzieren per Mausklick und die resultierenden Mockups wirken aufgeräumt und doch nicht zu genau im Design. Eine Graphik aus dieser Software ist zum Beispiel Abbildung 5.1 auf Seite 43. Weitere Informationen unter http://balsamiq.com/products/mockups/ 1.6.3. LATEX(Texmaker) Um eine saubere und schnörkellose Dokumentation zu generieren, wurde diese komplett in LATEX geschrieben. Als Editor mit Syntax-Highlighting, Orthografie-Kontrolle und CodeHilfen diente der Linux-Editor Texmaker. Die Dokumentation wurde anschliessend mit pdflatex und bibtex in der finalen PDF-Form generiert. Weitere Informationen unter http://www.latex-project.org/ 1.6.4. Ottobib.com Die Webseite Ottobib.com bietet ein Tool, um aus der ISBN-Nummern der verwendeten Quellen, eine fertige Bibtex-kompatible Quellendatei zu generieren. Dieses ersetzt das vor kurzem nicht mehr online stehende Amatex Tool, welches Bibtex Dateien aus den Seiten von Amazon.com extrahiert hat. Weitere Informationen unter www.ottobib.com 1.7. Abgrenzungen Das Lernen mit einer Lernsoftware umfasst neben des Funktionsumfangs und dem Aufbau der Lernsoftware und der Lerninhalte noch einige weitere Aspekte, welche für den Lernerfolg massgebend sind. Dazu gehören Rahmenbedingungen wie der Einsatz und die Einbindung in den Lernprozess, die Motivation zum Lernen mit dem Programm und die Art der ersten Konfrontation und Aneignung des zu lernenden Materials. Diese Arbeit behandelt einzig und allein die Möglichkeiten, wie die Software entweder dem Lernenden direkt helfen oder diese begleitenden Prozesse unterstützen und vereinfachen kann. 5 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Obwohl reine Content-Management-Systeme wie Wikis, Weblogs, Podcasts usw. den Lernprozess auch sehr effizient unterstützen können, wird in dieser Arbeit nicht auf deren Funktionalität und Potenzial für den Lernenden eingegangen. 1.7.1. Geographische Abgrenzung Die Lerninhalte sind momentan auf Schweizer Schulen ausgerichtet. Aus diesem Grund ist die Schweiz auch momentan fast einziger Zielmarkt für Revoca und die gemachten Untersuchungen beschränken sich auch auf diesen Markt. Es wird aber für diese Arbeit angenommen, dass didaktische Prinzipien länderübergreifend anwendbar sind. 1.7.2. Abgrenzung nach Benutzer Revoca ist in der momentanen Version vor allem auf die Sekundarstufe ausgerichtet. Es hat einige Übungsmodule sowie in Richtung Mittelstufe bis in die Unterstufe hinein, als auch in Richtung Kantonsschul- und Berufsschul-Unterricht (zum Beispiel das Modul für Medizinische Praxisassistentinnen). Revoca arbeitet aufgrund seiner Entstehungsgeschichte sehr More and more eng mit Schulen zusammen und konzentriert die Strategie auch auf das Lernen in Schulen. kids are learning a Aus diesem Grund kommt ein Wachstum in den Sektor der selbständigen Weiterbildung language at a very eher weniger in Frage. Wie auch P. Raper erwähnt hat, geht der Trend vor allem beim early age Revoca Hauptfachgebiet, den Sprachen, immer mehr in Richtung jüngere Lernende, was [...] [Rap11] somit vollkommen der Entwicklung von Revoca mit thematisch gegliederten Übungen in verschiedenen Schwierigkeitsstufen entspricht. 1.7.3. Lern Programm-Typen Da der Begriff ’Lernprogramm’ sehr viele Programme, von Spielen über Testprogramme bis zu reinen Web 2.0-Anwendungen umfassen kann, wird der Begriff für diese Arbeit auf abfragende, aber nicht rein testende Programme eingeschränkt, die nicht primär den Charakter eines Spiels haben. Da Revoca sich auf Sprachen spezialisiert hat, werden primär Lernprogramme für Sprachen analysiert und verglichen. 6 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 2. Der Verein Revoca und das Lernprogramm 2.1. Geschichte des Lernprogramms Der Verein Revoca wurde 1985 von 4 Sekundarlehrern mit dem Zweck, Lernsoftware zu entwickeln und zu betreuen gegründet. Die erste Version wurde in der Programmiersprache Basic geschrieben und war ohne graphische Oberfläche und nur über die Konsole zu bedienen. Die zweite Version wurde dann schon unter MAC mit einer graphischen Oberfläche entwickelt und wenig später auch auf Windows 3.1 portiert, bzw. neu geschrieben. Revoca Version 3.x war die erste Implementierung, welche sowohl auf Windows als auch auf Mac-OS lauffähig war. Deren Entwicklung wurde als Auftrag an einen externen, selbständigen Software-Entwickler erteilt. Revoca war bis dahin als reines Wörter-Abfrage-Tool konzipiert und es wurde eine ergänzende Anwendung namens Textas geschrieben, welche auch Lückentexte abfragen konnte. Durch die Plattform-Unabghängigkeit und den zunehmend interessanten Funktionsumfang begannen sich mehr und mehr Schulen an Revoca 3.x zu interessieren und die Produkt-Disketten und später -CDs wurden erstmals in grösseren Zahlen verkauft. Um diese beiden Programme zusammenzuführen und bisher nicht vorhandene MultimediaFunktionen wie Audio- und Video-Playback einzubinden, wurde von dem Sekundarlehrer mit Programmierer-Flair, Peter Scheurer Revoca Version 4 in Angriff genommen und erfolgreich entwickelt. Da die Schulen immer stärker das Internet als Unterrichtsmedium verwenden, wurde dann auch die Version 5, ebenfalls von P. Scheurer selbst, mit einer Internet-Funktion versehen, so dass sämtliche Übungen aus dem Internet bezogen werden können und, wie unter Punkt 2.3.5 auf Seite 12 sichtbar, der Lernerfolg für Mentoren online einsehbar ist. 2.2. Aufbau des Vereins Der Verein besteht primär aus dem Vorstand. Dessen Mitglieder sind als technischer Berater Peter Scheurer, als Kassier Ruedi Friedrich, als Präsident Franz Isenring, als Verantwortlicher Didaktik R. Götz und als Geschäftsführer Bruno Dahinden. Neben dem Vorstand und den Revisoren Thomas Kyburz und Jürg Hugentobler sind die aktiven Mitarbeiter die bei 7 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW der Weiterentwicklung von Übungsdateien oder des Programms helfen, Mitglied des Vereins. Dabei handelt es sich fast ausschliesslich um Personen aus dem Bildungs-Bereich. Der Vorstand trifft sich ca. viermal im Jahr um mit dem Geschäftsleiter B. Dahinden das vergangene Geschäftsquartal und das weitere strategische Vorgehen zu besprechen. Die Kommunikation unter den Vorstandsmitgliedern basiert vor allem auf bilateralen Telefongesprächen und Emails. An der folgenden Sitzung wird dann wieder rekapituliert, was zwischen den einzelnen Personen besprochen worden ist und was sich wie entwickelt hat. 8 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 2.3. Das Lernprogramm Revoca (Version 5) Abbildung 2.1.: Bibliothek-Ansicht von Revoca nach dem Aufstarten Wird Revoca aufgestartet, wird seit der Version 4 die Bibliothek angezeigt, wo die vorhandenen Übungen, Lernstände und eigenen Übungslisten aufgelistet sind (Vgl. Abbildung 2.1). Wird nun eine Übung zum Lernen angewählt, wird der in der Übung als Standard definierte Revoca – weil Übungsmodus gestartet und der entsprechende Fragetyp im Übungsbildschirm angezeigt. Erfolg kein Zufall Will der Benutzer eine Übung anpassen, erweitern oder eine neue Übung erstellen, wird ist. [Revoca der Editor aufgerufen, welche es dem Benutzer erlaubt, alle Fragetypen zu erstellen und zu Webseite] editieren. Wurde eine Übung abgeschlossen, wird je nach Voreinstellung mit oder ohne BenutzerEinwilligung das Lernprotokoll in die Revoca-Lernwelt hochgeladen, wo der dem Schüler zugeordnete Mentor den Lernstand verfolgen kann und dem Schüler auch neue Übungen als Aufgabe zuteilen kann. 2.3.1. Die Bibliothek Die Bibliothek (s. Abbildung 2.1) bildet den Startbildschirm des Programms und bietet dem Benutzer eine Übersicht über seine Übungen und die Übungen, die im Internet verfügbar sind mit einem Filter und einer Sortierfunktion. Die Filter sind im Stil des MusikAbspielprogramm iTunes, oben als Auswahl-Boxen gehalten und somit mit nur einem Klick erreichbar. 9 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 2.3.2. Die Übungsmodi und Fragetypen Abbildung 2.2.: Lern-Ansicht von Revoca beim Üben einer Zuordnungs-Aufgabe Es gibt zum einen mehrere Übungsmodi, welche die Reihenfolge und Auswertung der Fragen beeinflussen, zum anderen die Fragetypen, welche angeben, auf welche Weise eine einzelne Frage gestellt wird, bzw. beantwortet werden kann. 2.3.2.1. Die Übungsmodi Zu den Übungsmodi gehört der Präsentations-Modus, wo die Fragen mitsamt Antworten dargestellt werden, der Modus ’Zwei Chancen’, der Modus ’Tempomat’, wo der Lernende jeweils nur eine gewisse Zeit pro Frage hat um sie zu beantworten, ein Prüfungsmodus und zwei Lernmodi, einerseits mit Lösungs-Anzeige aller Aufgaben und andererseits mit Lösungs-Anzeige nur bei falsch gelösten Aufgaben. 2.3.2.2. Eigenverantwortung der Lernenden Revoca setzt generell auf die Eigenverantwortung der Lernenden und versucht möglichst wenig bevormundend zu sein. Es besitzt darum keinen Lernbegleitendes Programm wie Langenscheidts Tutor (Vgl. Abschnitt 3.3.2 auf Seite 18). Dies entspricht auch dem Lenkungsgrundsatz aus der konstruktivistischen Didaktik ’Wissenserwerb kann nicht determi- 10 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW niert, sondern nur gelenkt werden, da Wissen selbstorganisierend und emergent ist.’ [Mei04] 2.3.2.3. Die Fragetypen Die Fragetypen umfassen die Standard-Frage, die den Lernenden nach bis zu zwölf Begriffen fragt, die Multiplechoice-Frage, welche den Lernenden einen oder mehrere Begriffe als Lösung ankreuzen lässt, die Lückentext-Frage, wo der Lernende die vorhandenen Textlücken ausfüllen muss, die Zuordnungs-Frage, wo der Lernende die richten Begriffe oder Bilder einem anderen Begriff oder einem Bild zuordnen muss, die Sprachproduktions-Frage, wo der Lernende eine Tonaufnahme aufnehmen muss, welche übers Internet vom Mentor korrigiert werden kann und die Präsentationsfrage, welche einen einfachen Text ohne Antwortmöglichkeit anzeigt, um gewisse Sachverhalte oder Übungserläuterungen darzustellen. Bei allen Fragetypen kann Bild und Ton oder eine Videosequenz angehängt werden. 2.3.3. Die Übungsdateien Die über die Bibliothek vom Internet herunterladbaren Übungsdateien sind nach Sprache, Thema und ESP-Niveaus gegliedert. Innerhalb einer Übung sind die Fragen nummerierten Lernstufen zugeteilt. Beim Üben werden die Fragen der höheren Lernstufe erst abgefragt, wenn alle Fragen der tieferen Lernstufe, richtig beantwortet sind. So hat der Übungsautor die Kontrolle über die Reihenfolge der Fragen verschiedener Schwierigkeitsstufen. Seit Version 4 von Revoca werden aus Qualitätsgründen keine Übungen mehr automatisch generiert (Revoca 3 konnte Mathematikaufgaben automatisch generieren), sondern alle manuell durch einen Autor erstellt. ESP steht für Europäisches Sprachenportfolio. Es wurden vom Europarat als Referenzrahmen sechs Sprachniveaus A1/A2 (Grundstufe), B1/B2 (Mittelstufe) und C1/C2 (Oberstufe) definiert, die eine Einstufung der erreichten Fähigkeiten in einer Sprache erlauben. [Tri08] Revoca verwendet diese allgemein bekannte Niveaueinteilung nebst den Sprachen auch für alle anderen Fächer. 2.3.4. Der Editor Der Editor erlaubt das Bearbeiten und neu Ordnen von sämtlichen Fragetypen und das Hinzufügen neuer Fragen. Bei Zuordnungs-Fragen können die Lösungs-Blöcke in einem Raster auf den Aufgabe-Blöcken platziert werden, so dass das genaue Einpassen von verschiedenen Formen oder Texten als Aufgabe möglich ist. 11 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Abbildung 2.3.: Lernprotokolle auf der Revoca Lernwelt Seite 2.3.5. Das Online-Backend (Revoca-Lernwelt) Die in Ruby-on-Rails geschriebene Webapplikation erlaubt Mentoren ihren zugewiesenen Schülern Übungen als Aufgabe zu geben und deren Lernerfolg zu überwachen. Es können Schüler in Lerngruppen oder Klassen zusammengefasst werden, welchen gemeinsam Übungen zugewiesen werden können. Die Lernfortschritte können, wie in Abbildung 2.3 sichtbar, für alle Lernenden als Gruppe oder für einzelne Lernende pro ESP-Niveau beobachtet werden. Jede einzelne Übung wird als Quadrat sichtbar gemacht. Dabei wird durch die Farbe der Quadrate der erreichte Lernstand visualisiert. Wie vom Lernenden zum Mentor, wie auch in entgegengesetzte Richtung können über die Lernwelt Rückmeldungen für die Motivation oder für die didaktische Betreuung fliessen. So kann der Mentor durch Anklicken jeder einzelnen Übung viele Informationen zum Übungsverlauf, bis zu den einzelnen Falschantworten nachprüfen. 2.4. Aktueller Einsatz von Revoca Die aktuelle Revoca-Version mit einer Anbindung zur Revoca-Lernwelt wird schweizweit bei mehr als 300 Institutionen eingesetzt. Darunter befinden sich nicht nur Schulen sondern auch Kunden wie die Schweizer Strafanstalten oder Universitäten wie die Pädagogische 12 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Abbildung 2.4.: Auschnitt aus der Schweizerkarte mit Revoca-Lernwelt-Kunden Hochschule St. Gallen. Der Lernsoftware-Client ist dabei mitsamt drei Beispielübungen kostenfrei von der Revoca-Homepage (www.revoca.ch) herunterladbar. Er enthält bis auf die Internet-Abhängigen Funktionalitäten alle Funktionen inklusive des Editors und das Üben von lokal gespeicherten Dateien. Kauft ein Kunde ein Übungspaket, erhält er als Institution einen Login für die Revoca Lernwelt und darin werden ihm die Berechtigungen für das gekaufte Übungspaket (z.B. eine Sprache) freigeschaltet. Natürlich erhalten die zahlenden Kunden auch kostenlosen Support via Email oder Telefon und je nach Vertragsmodalitäten Einführungs-Schulungen. 13 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 3. Quellen 3.1. Literaturquellen Folgend sind die interessantesten verwendeten Literaturquellen beschrieben. [Kuh08]: Das Buch ’Innovative Lernsysteme’ beschäftigt sich mit der Umsetzung und dem Einsatz von Lernsoftware für die Kompetenzentwicklung in Unternehmen. Es finden sich aber einige interessante und gut belegte Ansätze und Schlussfolgerungen, welche sich auch auf das schulische Lernen und Lehren mit Lernprogrammen beziehen. [CRC07]: Das Buch hat sich mit der bereits dritten Auflage beinahe zur Bibel des User Interaction Designs gemausert. Es bietet sehr praxisnahe Tipps vom ’Goal directed design’ bis zu den genauen Design-Details anhand von Beispielen. [Mac92]: Das Buch ’Fitts’ Law’ beschreibt die Grundlagen und Anwendung von Fitts’ Gesetz auf das Gestalten von Benutzeroberflächen. Fitts definierte mit seiner Publikation im Jahr 1954 eine wichtige Basis des Human Computer Interaction Design, 19 Jahre bevor überhaupt der erste Computer mit Maus und grafischer Oberfläche vorgestellt wurde. [Webseiten]: Die Webseiten http://www.seriousgames.org/ und http://www.gamesforchange.org/ wurden für den Ausblick verwendet. Sie setzen sich dafür ein, dass in Zukunft didaktisch wertvolle Spiele geschaffen werden. 3.2. Befragungen Die Befragungen wurden wie in [CRC07, S.42] angeraten mit einem qualitativen Ziel durchgeführt. Es wurden ein persönliches Interview durchgeführt und per Online-Fragebogen von einem breiterem Publikum Ideen gesammelt. Ausserdem wurde eine Liste mit den in Schulungen und per Email und Telefon gestellten Support-Anfragen in die Auswertung mit einbezogen. Die vollständigen Fragen der Interviews, sowie die vollständigen Resultate der Online-Fragebögen finden sich auf der CD im Anhang. 14 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 3.2.1. Interview Um aktuelle Trends im Bereich Lernsoftware zu erfahren wurde ein Interview mit Paul Raper durchgeführt. Paul Raper ist als Dozent und ’Head of English’ für die Hochschule für Technik Rapperswil (HSR) und leitet die E4P Englischschule. Das Interview ist im Anhang A vollständig abgedruckt. Für das Interview wurde ein halb-standardisierter Fragebogen geschrieben, so dass auf die Spezialitäten des Interview-Partners eingegangen werden konnte. 3.2.2. Online-Umfrage Die Onlineumfrage wurde mit Hilfe des Web-Werkzeugs LimeSurvey durchgeführt, das auf einem eigenen virtuellen Webserver installiert wurde. Als Alternativen wurden verschiedene andere Online-Werkzeuge geprüft, die aber wegen Bedenken des Privatsphären-Schutzes wieder verworfen wurden. 3.2.2.1. Fragenkatalog Der Online Fragebogen wurde zuerst mit einigen persönlichen Fragen zu Alter, Branche und Computerkenntnissen eröffnet, mit Fragen über das Benutzen von Lernsoftware und das gesetzte Lernziel. Folgend wurde den Befragten drei offene Textfelder zur Verfügung gestellt, wo nach herausstechenden Funktionen von Revoca und anderer Lernsoftware gefragt wurde. 3.2.2.2. Auswahl der Befragungsgruppen Die Online-Umfrage wurde jeweils in separaten Gruppen auf der Revoca-Homepage sowie auf der Revoca-Lernwelt-Seite verlinkt, allen Studierenden und allen Dozierenden der ZHAW gesendet und in einer dritten Ausgabe allgemein an interessierte Leute versandt. Als weitere Informationsquelle wurden diverse Online-Zeitungen angefragt, welche aber jeweils keinen Aufhänger für die Umfrage finden konnten und so die Umfrage leider nicht online schalten konnten. Die Hinweise, die neben der Online-Fragebögen über Revoca eingereicht wurden, stammen grösstenteils aus Schulungen von Revoca 5 und teilweise aus Anfragen per Email oder Telefon. 15 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 3.3. Konkurrenzprodukte Angefangen mit Lernsystemen, welche keine Internet-Anbindung nutzen, bis zu kompletten Lerninhalt-Management-Tools (LCMS) wie OLAT wurden die folgenden als am innovativsten bewerteten Lernprogramme getestet und auf Verbesserungschancen für Revoca untersucht. Aus der anfänglichen Auswahl fielen heraus: Vokker.net (Vergleichbar mit Langenscheidt, aber weniger innovativ), wizbee.ch (Vergleichbar mit Phase-6), Lernkiste Envol (Etwas konzeptlose Eigenentwicklung), Questionmark (Nur für Testing, und somit anderer Fokus als Revoca), Educanet und den von Klett selbst entwickelten aber nicht mehr aktualisierten Vokabeltrainer (Durch Phase-6 abgelöst). Revoca entwickelte sich in den letzten Versionen mit der Möglichkeit, Lernelemente frei auf dem Bildschirm anzuordnen, immer mehr zum Autorentool, was jedoch eine hohe Fehleranfälligkeit des Editors mit sich brachte und im Hinblick auf die Portierung auf mobile Kleinbild-Geräte wie dem iPad die Übungen nicht skalierbar macht. Die Entwicklung soll wieder etwas weg von dieser fixen Anordnung kommen, darum wurde auf die Betrachtung von reinen Autorentools auch in Anbetracht der in [Kuh08, S.78] geschriebenen Regel Nummer 5, dass Lerninhalte möglichst unabhängig von der Darstellung sein sollten, hier verzichtet. Autorentools ermöglichen es dem Übungsautor im Gegensatz zu Lerninhalt-Management-Tools (LCMS) die genaue Darstellung und Anordnung des Lerninhaltes auf dem Bildschirm vorzugeben. Der Autor erhält somit die Kontrolle über die Aufnahme des Lerninhalts unter bestimmten Bedingungen wie genügend Bildschirmfläche, Medienfähigkeit des Ausgabegerätes, büsst aber die Wiederverwendbarkeit teilweise und die Skalierbarkeit auf Klein-Bildschirm-Gerätena komplett ein. a Small screen devices: Geräte wie Mobiltelefone, Tablet PCs mit signifikant kleinerem Bildschirmen als handelsübliche Computer. Viele Programme basieren auf dem Karteikastenmodell von Sebastian Leitner und erweitern dieses um eigene Überlegungen, wie zum Beispiel wizbee.ch, www.vokker.net oder das von Klett empfohlene Phase-6 Lernprogramm. Auch viele der verglichenen Programme sind Webapplikationen, welche also nur mit einer dauernden und stabilen Internetverbindung dafür von jedem konventionellen Browser aus genutzt werden können. Es wurden davon aber nur die von der Funktionalität interessantesten ausgesucht und im Folgenden beschrieben. Es wird jeweils nicht auf die gesamte Funktionalität eingegangen, sondern nur die Funktionalität beschrieben, wodurch sich die Lernprogramme am markantesten voneinander abheben. 16 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Sebastian Leitner beschreibt in seinem 1973 publizierten Werk ”Lernen Lernen” [Lei03] die heute weltweit verbreitete Methode des Lernens mit einer Lernkartei. Diese funktioniert folgendermassen: Die zu lernenden Fakten werden auf Karteikarten geschrieben, die Frage auf eine Seite, die Antwort auf die andere. Diese Karten werden anfangs ins erste Fach des Karteikastens mit drei oder mehr Fächern gelegt. Der Karteikasten wird in regelmässigen Intervallen durchgearbeitet und dabei die Karten im ersten Fach jedes Mal, die im zweiten jedes zweite Mal, und so weiter bearbeitet. Wird die Lösung einer Karte richtig erkannt, wird die Karte in das nächste Fach gelegt, wird sie falsch erkannt, kommt die Karte wieder in das erste Fach des Kastens und wird, bis zum Wiedererlernen in jedem Intervall wiederholt. Seine Methode basiert auf der Vergessenskurve von Ebbinghaus [Ebb92]. a a Die Vergessenskurve von Ebbinghaus mit abflachendem Vergessen bei zeitlich verschobener Wiederholung des Gelernten. 3.3.1. Phase-6 Abbildung 3.1.: 6 Phasen der Phase-6 Software Das vom Klett Lehrmittelverlag empfohlene Lernprogramm Phase-6, arbeitet nach einem modulierten Karteikastensystem. Die Fragen werden in sechs Karteikasten (Phasen) unterteilt. Wie beim Karteikastensystem von Leitner, starten alle Fragen im Fach eins und 17 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW wandern bei jeder richtigen Beantwortung ein Fach nach hinten. Die Fragen in den vordersten Fächer werden exponentiell häufiger abgefragt, als die in den hinteren, so dass der sogenannte Spacing Effect ausgenutzt wird. Laut [Fri09] konnten in einer unabhängigen Stu- ’phase-6 - Einfach die aber nur generell der Spacing Effect, nicht aber die exponentiell wachsenden Abstände ins Langzeitgedächtnis’ als wirksam ermittelt werden. Als Variation von Leitners Methode wird seit der Version 2.1.1 eine falsche Frage nur [phase-6 ein Fach bzw. Phase nach vorne verschoben. Diese Änderung wurde vorgenommen, da Webseite] gemäss [Fri09] die Antworten nicht vollständig vergessen, sondern nur deaktiviert wurden und eine komplette Herabstufung auf Phase eins auf den Lernenden zu demotivierend wirkt. Ein weiteres interessantes Konzept von Phase-6 ist das ’Aufwecken’ genannte AntwortAktivierungstraining, wo bei jeder Frage neben dem Antwortfeld gleich auch die Antwort dargestellt wird und durch Abschreiben wieder ins aktive Gedächtnis geholt werden soll. Die Software wird in drei Versionen, eine Jugendversion namens ’junior’, eine Basisversion namens ’basic’ und eine Vollversion namens ’premium’ angeboten. Der Spacingeffekt beschreibt die Eigenschaft, dass sich Menschen Fakten besser merken können, wenn Sie über längere Zeit hinweg repetiert werden, anstatt in einer kurzen Periode wiederholt werden. [Ebb92] 3.3.2. Langenscheidt Vokabeltrainer 4 Langenscheidt bietet in seinem, auch auf der Methode von Leitner basierenden, Vokabeltrainer den so genannten Tutor an. Dieser Tutor schlägt einem drei verschiedene Lern-Tutorien wie festes Zieldatum (für Prüfungen), festes Tagespensum (kontinuierliches Lernen) und feste Abfrageintervalle (streng nach Leitner) vor, deren Einhaltung er überprüft und einem bei Einhaltung lobt oder bei Nichteinhaltung tadelt. Ausserdem gibt jede Bearbeitung ei- ’Der Maßstab für ne gewisse Punktzahl, welche aber weder im weiteren Lernverlauf klar sichtbar ist, noch das irgendwie positiv verstärkt wird. Es bietet wie Revoca verschiedene Modi, die falsch beant- Vokabeltraining’ worteten Fragen in unterschiedlichen Formen zu wiederholen. [Langenscheidt Als zusätzlicher Modus wird ein Kreuzworträtsel-Fragetyp und das Superlearning angebo- Webseite] ten, welches die Lösung zur Aufgabe nach einer kurzen Pause anzeigt, die Frage jedoch nicht beantwortet werden muss. Wird mit dem Programm 20 Minuten ohne Pause geübt, macht einem die Software den Vorschlag eine kurze Pause einzulegen, damit die Augen des Lernenden vor dem Bildschirm nicht übermüden. 18 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Abbildung 3.2.: Tutorfunktion des Langenscheidt Vokabeltrainers 3.3.3. KhanAcademy Die KhanAcademy ist eine Non-Profit-Organisation, welche in ihrer Online-Webapplikation Lernstoff in Form von mehr als 2100 Videos und dazugehörigen Übungen in aufbauender Form anbietet. Die Abhängigkeiten der Übungen wird durch den in Abbildung 3.3 sichtbaren Fachbaum visualisiert. Einloggen kann sich der Benutzer über sein Google- oder Facebook- ’Watch. Practice. Konto, wobei keine alternative Login-Möglichkeit angeboten wird. Mentoren sehen von Learn almost Ihren eingeschriebenen Lernenden den Fortschritt im Baum und im Vergleich mittels ei- anything - for free’ ner Kurvenschar. Das Programm markiert ausserdem diejenigen Themengebiete, bei deren [KhanAcademy Übungen der Lernende steckengeblieben ist. Mathematik-Aufgaben werden alle automatisch Webseite] generiert, so dass das Übungsmaterial nie ausgeht. Die neben den Themen-Bäumen am meisten ins Auge stechende Funktionalität ist das ausgedehnte Belohnungssystem: Der Lernende wird für viele verschiedene erreichten Ziele mit sogenannten Badges ausgezeichnet. Sal Khan, der Gründer der Organisation, erklärt er versuche in seinen etwa zehnminütigen Lehrvideos auf der Seite ein möglichst intuitives und vernetztes Verständnis der jeweiligen Materie zu vermitteln, anstatt stures Auswendiglernen zu fördern. Momentan ist das Angebot leider nur in Englisch verfügbar. Eine spanische Übersetzung ist zur Zeit durch die Community in Arbeit und weitere Community-Übersetzungen werden 19 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Abbildung 3.3.: Baumansicht der Übungen in der KhanAcademy durch ein angebotenes Übersetzungstool gefördert. Um die Video-Sequenzen zu verbessern, werden die vom Video-Hoster Youtube aufgezeichneten Aufmerksamkeitsdaten analysiert und für Überarbeitungen verwendet. 3.3.4. Moodle Moodle ist ein quelloffenes, modulares Lern-Inhalt-Management-System, das als Webapplikation implementiert ist. Moodle umfasst viele Funktionen des integrierten Lernens wie Community based ein Abstimmungstool, offene Aufgabenstellungen, Informationsvermittlungstools, Foren und tool for learning Weblogs. So kann durch die vielen Kommunikationsmöglichkeiten mit anderen Lernenden in [Moodle Webseite] einem Moodle-Kurs wirkliches soziales Lernen stattfinden und Wissen ausgetauscht werden. Bemerkenswert ist die Implementierung als Webapplikation und die Erweiterbarkeit durch auch von anderen Anbietern implementierte Module. Integriertes Lernen oder Englisch Blended Learning bezeichnet das Mischen von verschiedenen Lernumgebungen um den Lernprozess realistischer zu machen und so zu verbessern. Ein Beispiel ist das gleichzeitige Verwenden von sozialen, interaktiven Lernformen über Chats oder Wikis mit Lernen über VideoVorlesungen. [Bon06] 20 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 3.3.5. OLAT OLAT ist ein weiteres Lern-Inhalt-Management-System und Lern-Management-System, welches ebenfalls als Webapplikation implementiert ist. Es ist in 30 Sprachen verfügbar und Online Learning bietet einen in AJAX geschriebenen Jabber-Chat an, mit welchem die Lernenden und Leh- And Training, das renden direkt im Programm kommunizieren können. Das System untestützt Mathematik- Open-Source Formel-Notationen mit der jsMath Bibliothek und es können andere Webseiten als Lernma- LearningManagement- terial eingebettet werden. Es unterstützt den ’Shareable Content Object Reference Model’ (SCORM) -Standard, der System [OLAT den Zusammenhang des Lerninhalts vorschreibt und die ’Learning/Questioning Tools Inte- Webseite] roperability’ (LTI/QTI) -Standards, welche die interoperabilität zu anderen Lernsystemen sicherstellen. So können Tests und Quizzes einfach von und zu anderen standard konformen Programmen importiert und exportiert werden werden, oder OLAT mit ihnen verknüpft werden. OLAT unterstützt ausserdem ein Single-Sign-On über AAI von Switch oder eine ShibbolethSchnittstelle. 3.3.6. Auralog Abbildung 3.4.: Dialogsituation in Auralog Auralog von TellMeMore setzt wie der Name schon erahnen lässt auf auditives Lernen. Es stehen über die Registerkarten-Navigation Diktate zur Verfügung, welche automatisch korrigiert werden und es können alle Lerninhalte per Sprachanalyse auf die richtige Aussprache geübt werden. Die Beurteilungskompetenz der Sprachanalyse ist jedoch nicht immer überzeugend1 . Für die Auswahl von drei unterschiedlichen, alternativen Sätzen per Spra- TellMeMore cherkennung reicht jedoch die Qualität aus und der Lernende kann vorbereitete ’Konversa- ’Language 1 Bei eigenen Tests in Deutsch als Fremdsprache, beurteilte die Software 50 Prozent der korrekten Aus- Learning for global spracheversuche als falsch und knapp 40 Prozent der falschen Aussprache-Tests als richtig. Ist also nicht business’ [Auralog viel besser als die zufällige Trefferwahrscheinlichkeit. Webseite] 21 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW tionen’ mit den in den Übungen vorkommenden Charakteren führen, wodurch das Lernen einen kleinen spielerischen Charakter erhält. Der Lernende kann ausserdem sein Sprachlevel mittels angeblich international anerkannten Assessment-Tests testen lassen. Bei allen Übungen achtet der Anbieter TellMeMore darauf die zur Sprache gehörende Kultur ebenfalls möglichst authentisch dem Lernenden zu vermitteln. Als zusätzliche Motivation werden für jede Übung, je nach Lernerfolg drei Medaillen (Bronze, Silber und Gold) vergeben. Die Lösung ist in Adobe Flash geschrieben und unterstützt daher nicht bei allen Computer-Konfigurationen Tastatureingaben, was bei schnellem WörterRepetieren schnell sehr mühselig werden kann. 3.3.7. Rosetta Stone Der Webservice Rosetta Stone setzt komplett auf Lernen über Bilder und animierte Sequenzen. Es wird jeweils dem Lernenden bildlich eine Situation präsentiert, worin die wichtigsten Elemente mit deren Wort in der zu lernenden Sprache bezeichnet sind. Der Lernende hat ’Rosetta Stone: dann meist die Möglichkeit mit mehreren auswählbaren Sätzen, das Geschehen zu beein- Learn a Language flussen und die Reaktion auf seine Aktion in der Animation zu beobachten. Das Lernen Online’ [Rosetta mit Rosetta Stone ist aufgrund dieser Bildsprache auf Sprachen limitiert. Lerninhalte sind Stone Webseite] dadurch aber absolut unabhängig von der Ausgangssprache des Lernenden aufgebaut und können durch die einfachen Animationen auch einfach für neue Sprachen übersetzt werden (Im Gegensatz zu Videos). Gemäss dem Anbieter bewirkt dieses Transfer-Lernen, genannt ’Dynamic Inversion’, verglichen mit dem Sprachen-Lernen eines Kleinkindes, zu einem sehr intuitiven Sprachverständnis. Um die Aussprache zu kontrollieren bietet auch Rosetta Stone eine eigenentwickelte Spracherkennung. Da auch Rosetta Stone in Flash geschrieben ist, gibt es auch bei dieser Software sehr störende, nicht funktionierende Tastatureingaben. 22 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 4. Resultate der Recherchen und Umfragen Von den Studenten sind bis zum Auswertungsschluss am 15. Mai 2011, 120 Antworten, von den Dozierenden 18 Antworten und von sonstigen Teilnehmern 16 Antworten eingegangen. Eindrücklich ist, dass rund 70 Prozent der Teilnehmer bereits Lernsoftware benutzt hat, das heisst der Begriff Lernsoftware allgemein eine grosse Bekanntheit geniesst. Leider war das durch die Revoca-Seiten generierte Feedback mit 6 kompletten Antworten sehr mager ausgefallen, obwohl die Umfrage über einen Monat während der Schulzeit online war. Es lässt sich daher auch leider keine Aussage über die am meisten und am wenigsten benutzten Funktionen in Revoca machen, da sehr wenige Revoca-Benutzer unter den Teilnehmern der ZHAW waren. Um dies besser zu erfassen, könnte aber in Zukunft die im Ausblick beschriebene, im Programm integrierte Analysefunktion eingesetzt werden. 4.1. Festgestellte Mängel und Vorschläge Umfrageteilnehmer, die sich selbst als Computer-Profi einstufen, schreiben eine einfache Bedienung und selbständiges Lernen vor allem gross. Die weniger eingefleischten Computerbenutzer legen eher Wert auf den Spassfaktor und selbständige Lernmöglichkeiten. Gemäss der Maxime, man soll Software für ’fortgeschrittene Anfänger’ designen (Vgl. ’Design for [CRC07]), wird der Fokus im Weiteren primär auf den Spassfaktor, sprich Motivation (1.) intermediates!’ und selbständige Lernmöglichkeiten (2.) gelegt. An dritter Stelle wurde die klare Benut- [CRC07] zeroberfläche (3.) eingeordnet. Internet-Funktionen wurden allgemein in der Priorität am niedrigsten eingestuft. 4.1.1. Mängel der Motivationsfähigkeit a. Ein grosses Gefahrenpotenzial für die Motivation birgt die Unter- beziehungsweise Überforderung des Lernenden: Der Lernende fühlt sich gelangweilt oder er verliert die Geduld bei zu vielen nicht seinem Niveau entsprechenden Aufgaben. b. Wie beim Karteikastensystem von Leitner der Fall, sieht der menschliche Lernende gerne wie viel Arbeit noch vor ihm liegt, und wie viel er bereits bewältigt hat [Lei03]. In der aktuellen Anzeige, wie viele Fragen noch zu beantworten sind, kann das der Lernende 23 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW zwar herauslesen, es ist jedoch nicht auf den ersten Blick ersichtlich. c. Revoca bietet bis auf die etwas mathematisch anmutenden und nicht leicht verständlichen Prozentzahlen keine Anreize über Auszeichnungen, wie andere Lernsoftware (zum Beispiel Auralog oder KhanAcademy). d. In Revoca 3.5 wurde nach jeder beantworteten Frage ein Motivationstext wie ”Super, Weiter so” bei einer richtigen Frage oder ”Es ist noch kein Meister vom Himmel gefallen” bei einer falschen Fragen angezeigt. Dies wäre gemäss der Theorie des Modelllernens der Motivation der Lernenden sicherlich zuträglich, sofern der Motivationstext nicht allzu aufdringlich präsentiert wird. 4.1.2. Fehlende Funktionalität e. Revoca hat keine Repetitionsfunktion, welche die falsch beantworteten Fragen (Vgl. [Lei03]) durch häufigeres Wiederholen besser lernen lässt. Es wiederholt in der jetzigen Implementierung jede Frage, bis sie zweimal richtig beantwortet wurde (im Prüfungsmodus nur einmal). f. Es bietet auch kein dem Langenscheidts Tutor ähnliches Beratungssystem an, um den Lernenden zu begleiten und den Spacing Effekt optimal auszunutzen. g. Phase-6’s Aufwecken-Modus ist gemäss ihrer Webseite sehr beliebt und bringt einen beträchtlichen Lern-Geschwindigkeits-Vorteil. Langenscheidt setzt in etwa die gleiche Idee mit ihrem ’Superlearning’, einem verzögerten Präsentationsmodus um. Revoca hat nur einen normalen Präsentationsmodus, wo der Lernende ohne Abtippen der Lösung die Aufgaben inklusive Lösung dargestellt bekommt. h. Auch wenn Lehrkräfte entgegengesetzter Meinung sind (Vgl. [Rap11]) möchten gemäss Umfrage viele Schüler ihre Lernsoftware nutzen, um alleine, ohne die bewertenden Augen ihres Mentors, ihr Wissen zu testen und zu vertiefen. Im bestehenden Revoca kann der Mentor dem Schüler einzelne Übungen zuteilen, jedoch gibt das Programm ohne Eingreifen des ’The Problem is Mentors keine auf dem Lernerfolg basierten Empfehlungen, mit welcher Übung der Lernende work overload for fortfahren kann. Dies unterstützt auch Paul Raper mit seiner Aussage, dass das dauernde the tutor.’ [Rap11] persönliche Supporten der Übungen und des Lernfortschritts ein viel zu aufwändiger Prozess sei. 24 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 4.1.3. Mängel der Benutzeroberfläche i. Wie in Abbildung 2.1 (Seite 9f) sichtbar, verwendet die aktuelle Revoca-Version für jedes Bild ein volles Menü mit nur wenigen häufig verwendeten Aktionen. Dies benötigt wertvollen Platz am Rand des Programms [Mac92], ohne für Übersicht zu sorgen. j. Im Vergleich mit Abbildung 2.2 ist zu sehen, dass der Aufbau des Menüs bei jedem Bild unterschiedlich ist. Diese Änderung lenkt den Lernenden vom dargestellten Inhalt ab und erfordert ein erneutes Zurechtfinden in der neuen Menüstruktur. k. Da Revoca, nicht wie zum Beispiel Phase-6, in nur einer Version erscheint, ist die Schriftgrösse, das Design und ausgegebene Texte (Ausserhalb der Übungen) nicht spezifisch auf den Lernenden abgestimmt. Stösst zum Beispiel ein Lernender im Kindergartenalter auf die Fehlermeldung ’Das temp-Verzeichnis ist nicht beschreibbar. Bitte ändern Sie die nötigen Berechtigungen’, wird er wahrscheinlich ziemlich verwirrt vor dem Computer sitzen. Ein zweites Szenario wäre ein sehbehinderter Lernender, der gerne alle Texte (auch in den Übungen) in fünffacher Vergrösserung darstellen will. In Revoca Version 5 haben beide keine Chance zu Ihrem Ziel zu gelangen. [Rev10] l. Wie in Abbildung 2.1 auf Seite 9 sichtbar, stehen am linken unteren Bildschirmrand drei grüne Quadrate, welche den Status der Internet-Verbindung, die Medien-Verfügbarkeit und die Schreibrechte auf das Temp-Verzeichnis anzeigen. Deren Zweck wird, sofern er überhaupt einen Zweck darin erkennt, dem Benutzer erst durch Klicken auf die Quadrate erklärt. m. Die Gefahr, dass die Augen zu sehr ermüden ist bei längerem Lernen am Bildschirm ein nicht zu vernachlässigendes Problem. Langenscheidt geht mit Ihrem Vokabeltrainer innovative Wege und schlägt nach 20 Minuten eine Pause vor. n. Englisch wird gemäss Paul Raper vom reinen Schulfach immer mehr zum Business- Wissen, und es werden Kurse wie zum Beispiel ’English for engineering’ oder ’English for pilots’ angeboten. Dafür müssen sich die Sprachlernprogramme anpassen, um den Sprung vom lehrbuchbasierten Lernen zum Allgemeinwissen zu erfolgreich schaffen. [Rap11] 25 Optimierung der Revoca Lernsoftware o. Bachelorarbeit FS2011 InIT ZHAW Revoca hat ausser des pro Frage verfügbaren, kleinen Hilfetextes keine Möglichkeit theoretische Grundlagen zu vermitteln oder direkt zu verlinken und es gibt keinen komfortablen Weg, wie der Autor Theorieunterlagen mit einer Übung dem Lernenden zustellen kann für den Fall, wenn ihm theoretische Grundlagen für eine Übung fehlen. 4.1.4. Strukturelle Mängel p. Revoca 5 ist in Revolution programmiert und kann, obwohl revTalk eine interpretierte Sprache ist, zur Laufzeit keine Plugin-Module für zusätzliche Funktionalität laden. Ausserdem ist der Code sehr GUI-nahe geschrieben, wodurch ein Auswechseln der bereits bestehenden Module sehr aufwändig zu realisieren wäre. Revoca 5 kann darum nicht wie Moodle Erweiterungen und offene Schnittstellen wie zum Beispiel das von OLAT unterstützte SCORM oder QTI anbieten. q. Revoca 5 erlaubt keine Antwort-basierten alternativen Lernwege und verunmöglicht so seinen Übungsautoren wirklich interaktiv scheinende Übungssituationen zu schreiben. r. Revoca 5 kann noch nicht auf mobilen Geräten wie Tablet-PCs oder Smartphones verwendet werden. Erste Lernprogramme etablieren sich seit ca. einem Jahr auf diesem Markt, vor allem weil diese mobilen Geräte langsam an die Leistung von herkömmlichen Computern heranreichen. Erste Anfragen bei Revoca diesbezüglich sind eingegangen, was das Interesse der Benutzer an einer solchen Anwendung zeigt. Mobile Kleinbildschirm-Geräte haben spezielle Anforderungen an die Bildschirmgestaltung und Platzausnutzung. Dies ist bei der Revoca Version 5 mit drei für PCs standardisierten Auflösungen noch nicht abgedeckt und führt zum Teil bei Computern mit kleinen Bildschirmen zu Problemen. 4.1.5. Angebrachte Einzel-Vorschläge/Kritiken s. Von Seiten des Revoca-Vorstandes wurde der Wunsch geäussert, es zu ermöglichen eine Lernwerkstatt in Revoca zu realisieren. [Rev10] t. Als gewünschte, neue Aufgabentypen wurden Kreuzworträtsel-Aufgaben angegeben. 26 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 4.2. Möglichkeiten zur Problemlösung und Optimierung Die folgende Nummerierung gibt jeweils den Bezug zu dem im vorherigen Kapitel 4.1 (Seite 23ff) beschriebenen Mangel oder Bedürfnis an. Es werden sowohl behaviouristische wie auch konstruktivistische Theorien für die Optimierungsvorschläge zu Rate gezogen. Die Authentizität betreffende Faktoren, wie das Verwenden von corpus linugistischen Elementen und das Anwenden von kognitivistischen Grundsätzen liegt in Revoca komplett in der Hand der Übungsautoren und kann so nur durch Autoren-unterstützende Ansätze am Rande beeinflusst werden. 4.2.1. Motivationsfördernde Massnahmen In diesem Abschnitt kommen vor allem behaviouristische Vorgehensweisen, wie instrumentelle oder operante Konditionierung und Modelllernen für die Motivationsförderung zum Einsatz. 4.2.1.1. Lernfortschritt anzeigen 4.1.1 b Bei den meisten untersuchten Konkurrenzprodukten, wie zum Beispiel der KhanAcademy, wird der Lernfortschritt anhand eines Fortschritt-Balkens visualisiert. Um diesen optimal sichtbar zu machen, sollte dieser prominent am oberen oder unteren Bildschirmrand plaziert werden. Da das Erreichen von 100 Prozent Lernerfolg bei grossen Übungen relativ lange dauern kann, könnten auf dem Fortschrittsbalken vier Erfolgsstufen (eher im höheren Bereich, bei 40, 60, 80 und 100 Prozent) platziert werden, welche bei deren Erreichung aufleuchten. Eine Alternative dazu würde die Aufteilung nach Lernstufen der Übung bieten, welche jedoch, da viele Übungen nur eine Lernstufe und manche Übungen für die Darstellung zu viele Lernstufen haben, eine weniger konsistente Motivierung durch alle Übungen bewirken würde. Wenn eine solche Lösung angestrebt würde, müsste bei zu wenigen Lernstufen, ein Ausweichen auf Prozent-Stufen und bei zu vielen Lernstufen ein Zusammenfassen derselben implementiert werden. 4.2.1.2. Überspringen von Lernstufen 4.1.1 a Um den Lernenden nicht mit der Abarbeitung von bereits beherrschten Lernstufen zu langweilen, könnte ein Button zum manuellen Überspringen der Lernstufe eingebaut werden. Als zusätzliche Unterstützung könnte vom Übungsautor bereits vorgegeben werden, wie viele Fragen einer Lernstufe und welcher Prozentanteil richtig beantwortet sein müssen, damit die Lernstufe automatisch übersprungen wird. 27 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 4.2.1.3. Lernen am Modell fördern 4.1.2 f Revoca setzt allgemein auf die Eigenverantwortung des Lernenden. Trotz diesem Grundsatz wäre aber eine Motivation durch ein Lernen an einem Modell realisierbar. Durch die Implementierung eines Tutor-Änlichen Systems, das dem Lernenden auf Wunsch beratend zur Seite steht, könnte mehr Eigenwille geweckt werden, die Ziele des Tutors ebenfalls zu erreichen. Wichtig dabei ist, dass der Lernende dabei nicht bevormundet wird und den Tutor in einer Vorbildsfunktion mit der er sich identifizieren kann kennenlernt. Ansonsten besteht die Gefahr, dass eine Null- oder sogar Negativwirkung durch Resignation erzielt wird. In der Literatur wird Lob von Seiten des Modells, also des Tutors, als gute externe Verstärkung und Lob des Modells als gute stellvertretende Verstärkung beschrieben. Unter Umständen könnte mit einer solchen Funktion eine Wirkung wie im Bobo-doll-Experiment erzielt werden, die aber positive Auswirkungen hat. Das vom Psychologen Albert Bandura gemachte Bobo-dollExperiment beschreibt wie durch einen Film gelerntes brutales Verhalten gegenüber einer Spielpuppe, durch Kinder je nach Verstärkung, also Lob oder Tadel der Aktion der Filmfigur nachgeahmt werden oder nicht. Die Filmfigur wird von den Probanden als Modell gesehen und die stellvertretende Verstärkung (Lob oder Tadel), hat direkte Auswirkungen auf das nachträgliche Verhalten der Testpersonen obwohl das Verhalten (Kompetenz) von allen Probanden gleich erlernt wurde. [Ban65] 4.2.1.4. Auszeichnungen vergeben 4.1.1 c Auszeichnungen, welche pro Übung beim Erreichen eines gewissen Lernstandes vergeben werden, mögen zwar kurzfristig sinnvoll sein, verleiden aber nach einer gewissen Anzahl erledigter Übungen. Andererseits ist es wiederum unmöglich ein für die verschiedenen Einsatzzwecke akkurates globales Auszeichnungssystem zu entwickeln, da nur schon verschiedene Übungen, noch ungeachtet der Unterschiede bei den Lernenden, völlig unterschiedliche Schwierigkeitslevels aufweisen können. Der erfolgversprechendste Ansatz scheint hier, die Awards durch den dafür ausgebildeten Übungsautor definieren zu lassen. Um dies differenziert nur für einzelne Übungsgruppen zu erlauben, könnte diese Funktionalität mit der im Abschnitt 4.2.3.1 auf Seite 30 beschriebenen Lernwerkstatt kombiniert werden. Eine Auszeichnung also nur in einer bestimmten Lernwerkstatt, nur für deren Lernenden, konfiguriert werden. Angelehnt an die Badges der KhanAcademy könnten unter den folgenden Bedingungen Auszeichnungen eingebaut werden: Erreichen von bestimmten Übungen 28 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Die pro Frage benutzte Durchschnittszeit in einer Übung wurde unterschritten Fehlerlos für X Fragen Übung ohne oder mit nur X Fehler Eine gewisse Zeit lang geübt Eine Übung X-Mal wiederholt X Übungen in X Stunden geübt Lernerfolg X Prozent in X Übungen erreicht 4.2.1.5. Anzeigen von Motivationssätzen 4.1.1 d Es könnten wie auch schon in Revoca 3 nach jeder gelösten Aufgabe ein Motivationssatz angezeigt werden. Die Sätze sollten dabei zur einfacheren Handhabung aus einer Datei gelesen werden, so dass Sie stufengerecht anpassbar und erweiterbar sind. 4.2.2. Optimierungen der Benutzeroberfläche 4.2.2.1. Lernmodi als Registerkarten darstellen 4.1.3 i Die eleganteste Lösung wäre das für die Navigation zuständige Menu der Lernmodi, wie auch in Auralog (Vgl. Kapitel 3.3.6, Seite 21) in Registerkarten darzustellen und Optionen wie die Korrekturmodi in einen einzigen Einstellungsbutton nach dem Vorbild des Chrome-Browsers1 zu platzieren. 4.1.3 j Dieses Menu sollte zudem immer gleich bleiben, um den Benutzer nicht durch die wechselnde Umgebung vom Lernen abzulenken [Kuh08]. 4.2.2.2. Aussagekräftigere Status-Icons 4.1.3 l Die naheliegende Lösung wäre die Quadrate auf Kosten des grafischen Designs durch aussagekräftigere Icons zu ersetzen und so auf den ersten Blick Klarheit zu schaffen oder aber sie ganz wegzulassen und nur bei einem vergeblichen Zugriffsversuch auf die Ressourcen über eine Dialogbox zu warnen. 4.2.2.3. personalisierbare Darstellungsoptionen pro Arbeitsplatz 4.1.3 k Um verschiedenen Wünschen für die Darstellung und verschiedenen Stufen gerecht zu werden, könnte Revoca persönliche Einstellungen, wie Schriftgrösse, altersabhängige Anpassungen und Sprachoptionen von einer lokalen Einstellungsdatei laden. Dadurch könnte 1 Der von Google Entwickelte Webbrowser Chrome hat radikal alle Menüpunkte in ein einziges ca. 30x30 Pixel grosses Einstellungsmenu verschoben um wertvollen Platz vorallem auf Netbooks mit kleineren Bildschirmen zu sparen 29 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW eine Schule auch eine globale, auf die Benutzergruppe abgestimmte Vorlage allen Schülern anbieten. 4.2.3. Vergrösserung des Funktionsumfangs In diesem Abschnitt wird vor allem mittels konstruktivistischen Methoden versucht, den Funktionsumfang von Revoca durch sinnvolle Erweiterungen zu ergänzen. 4.2.3.1. Anbieten einer Lernwerkstatt 4.1.2 h / 4.1.5 s Im klassischen Unterricht wird dem Bedürfnis der Schüler nach selbständiger Betätigung im eigenen Tempo häufig mit einer Lernwerkstatt begegnet. Alle Schüler bearbeiten selbstständig eine Kette von Aufgabenstellungen und Übungen, welche meist durch einen Plan auf Papier fest vorgegeben ist. ’The main cause Wie auch vom Revoca-Vorstand erwähnt, wäre dies eine wünschenswerte Funktion, die Re- of last 30 years voca unterstützen sollte. improvement lies Gemäss Prof. Daniel Willingham, von der Stanford University hat sich die Lehre in den in teachers letzten 25 Jahren vor allem verbessert, weil Lehrer nicht mehr stur dem vorgegebenen Lehr- developing their mittel und Lehrplan folgen, sondern ihren eigenen Lehrplan entwickeln und danach lehren. own curriculum.’ Eine Funktion in diese Richtung könnte also den Lehrern erlauben, ihre Lernabläufe zum [Wil10] Teil automatisiert in Revoca abzubilden und mittels den Lernwelt-Tools zu überwachen. Eine monolithische Struktur wie in der KhanAcademy, wo pro Thema ein Baum existiert, ist für Sprachen aufgrund der unterschiedlichen Unterrichtsgestaltung und unterschiedlichem Vorwissen und Altersgruppen wie in letztem Abschnitt erwähnt nicht sinnvoll. Da pro ’Der Thema und Schwierigkeitsstufe bereits sehr viele Übungen für Revoca existieren könnte ein Wissenserwerb Meta-Übungstyp erstellt werden, welcher mehrere gewünschte Übungen zu einer Station verläuft individuell der Lernwerkstatt zusammenfasst und zu einer kompletten Lernwerkstatt verkettet. unvorhersehbar Um dynamisch auf die Bedürfnisse und das Vorwissen des Lernenden einzugehen (Vgl. 1.a) entlang eines könnten pro Übung sowie weiterführende, als auch Repetitions-Übungen angegeben werden, unabgeschlossenen welche bei positivem, beziehungsweise negativem Lernerfolg dem Lernenden vorgeschlagen Kontinuums von werden. Stadien des Interimwissens’ Da Revoca ihr Übungsmaterial nicht auf Lehrmittel fixiert hat und mittels einer Implemen- [Mei04] tierung der Lernwerkstatt Übungen beliebig kombinieren kann, ist auch die in Punkt 4.1.3 n erwähnte Neuorientierung an neuen Lehrplänen ohne weitreichende Überarbeitung der einzelnen Übungen möglich. Eine weiterführende Anwendung wäre, eine Station der Lernwerkstatt, also mehrere zusammengefasste Übungen, als Einstiegs-Test zu definieren, welcher über die zuvor genannten weiterführenden und repetierenden Übungen eine Empfehlung zum Einstiegspunkt in die Lernwerkstatt erlauben. Die würde dem Grundsatz ’Wissenserwerb erfolgt konstruktiv in 30 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Abhängigkeit von Vorwissen, Wahrnehmung, Handlungskontext und Affektlage’ [Mei04] Rechnung tragen. Um die Kontrolle noch weiter zu verfeinern, könnte eine Freigabe, für gewisse Übungen nur unter gewissen Bedingungen erfolgen, was jedoch gegen den Grundsatz von Revoca, nicht bevormundend zu sein, verstossen würde (Vgl. Abschnitt 2.3.2.1 auf Seite 10). Wenn der Lernerfolg, ähnlich wie bisher, auch für eine Lernwerkstatt auf der RevocaLernwelt beobachtbar ist, könnte dem Mentor ein Teil seiner Unterstützungsarbeit abgenommen werden und trotzdem auf verschiedene Lerntypen und Lernniveau-Stufen automatisch dynamisch und, wenn nötig, doch noch durch persönliche Intervention reagiert werden. 4.2.3.2. Theorie-Einbindung ermöglichen 4.1.3 o Wie dies im Angebot der KhanAcademy vorhanden ist, könnten in jede Übung ’Wissen ist im mehrere Weblinks auf theoretische Grundlageninformationen eingebunden werden, und dem Idealfall Lernenden auf Anfrage präsentiert werden. Ausserdem könnten in den Revoca-Übungs- miteinander Dateien theoretische Grundlagen zum Beispiel in PDF-Format beigepackt werden. venetzt und daher produktiv, flexibel 4.2.3.3. Karteikasten-Modus integrieren 4.1.2 e Revoca könnte analog zu den bereits vorhandenen Modi einen Karteikasten-Modus anbieten, welcher über eine konfigurierbare Anzahl Kartei-Fächer und Wiederholungen nach Leitner den Spacing-Effekte ausnutzt. Da dieser Mechanismus auf den ersten Blick nicht ganz trivial scheint, ist für die Implementierung eine geeignete graphische Darstellung zu suchen. 4.2.3.4. Aufgabentyp Kreuzworträtsel 4.1.5 t Als spielerische Aufgabenvariante könnte in Revoca der Aufgabentyp Kreuzworträtsel implementiert werden. Dafür könnte im Editor ein Gitter von Buchstabenfeldern vorgegeben sein. Jede Gitterzelle könnte entweder für die Eingabe gesperrt, mit dem richtigen Lösungsbuchstaben oder einer Aufgabenstellung und einem Pfeil gefüllt werden. 4.2.3.5. Aktivieren-Modus anbieten 4.1.2 g Um nicht mehr aktives Wissen wieder zu aktivieren, könnte in Revoca ein alternativer Präsentations-Modus entwickelt werden, welcher ähnlich dem ’Aufwecken’ der Phase-6Software funktioniert. Um dem Lernenden die Möglichkeit zu geben, sich zuerst selbst an das Wort zu erinnern, könnte die Lösung erst nach 5 Sekunden Verzögerung angezeigt werden. Ähnlich dem Superlearning von Langenscheidt. 31 und fachübergreifend transferfähig’ [Mei04] Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 4.2.3.6. automatischer Pausen-Vorschlag 4.1.2 m Genau wie Langenscheidt in Ihrem Vokabeltrainer, könnte auch Revoca nach 20 Minuten eine Pause vorschlagen. 4.2.4. Strukturelle Anforderungen 4.2.4.1. Erweiterbarkeit zur Laufzeit 4.1.4 p Mit der neuen Implementierung hauptsächlich in Javascript, können, durch den Umstand, dass Javascript eine interpretierte Sprache ist, auch zur Laufzeit von Revoca ausführbare Codeabschnitte geladen werden. So könnte zum Beispiel eine Schnittstelle für extern entwickelte Übungsmodi angeboten werden, so dass für Revoca wie für OLAT oder Moodle externe Erweiterungen entwickelt werden könnten. Vor diesem Entscheid sollte aber genau geprüft werden, ob dieser Schritt nicht zu schlechte Auswirkungen auf den Support von zu vielen unterschiedlichen Installationen von Revoca hat. 4.2.4.2. Interaktive Übungen mit Revoca 4.1.4 q Damit Revoca die selben interaktiven Übungen wie zum Beispiel Rosetta Stone anbieten könnte müsste es in der Grundstruktur in ein Virtual-Reality ähnliches System umgebaut werden. Dies entspräche abgesehen vom hohen Entwicklungs-Aufwand generell nicht der Grundkultur von Revoca, das sich nicht als Lernspiel sondern als Lernprogramm sieht und sich so von Konkurrenten abgrenzt. 4.2.4.3. Mobile Verwendung von Revoca 4.1.4 r Da Revoca im Vergleich zu den meisten seiner Konkurrenten auch ohne dauernde Internetverbindung auskommt und die für die Weiterentwicklung gewählte Titanium Plattform mobile Geräte ohne weitgreifende Code-Änderungen unterstützt, steht für Revoca für die Verwendung mit iPad und ähnlichen Geräten nichts mehr im Weg und es kann bei einem Release auch eine Version zur Installation auf iPads kompiliert werden. 32 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 5. Implementierung der nächsten Revoca-Versionen Als nächste Version zum jetzigen Revoca 5 ist eine gegen Aussen möglichst identische Implementierung mit Versionsnummer 5.5 das Ziel der Entwicklungen. Es sollen, mit einer neuen Basis-Implementierung, die gleichen Funktionen verfügbar sein und möglichst keine Änderungen an den Schnittstellen und der Benutzeroberfläche vorgenommen werden. In einer nächsten Programmversion 6 sollen dann, auf dieser Basis, ausgewählte Änderungen umgesetzt und dem Benutzer vorerst als optionale Einstellungen angeboten werden. Dieses Kapitel beschreibt zuerst die Voraussetzungen, die von Revoca 5 übernommen worden sind, dann die wichtigsten Implementierungsdetails der Version 5.5 und schlussendlich die Implementierung ausgewählter Vorschläge aus dieser Arbeit in Vorbereitung für die Version 6. 5.1. Übernommene Voraussetzungen von Revoca 5 Folgend sind einige für das Verständnis wichtige Eigenschaften und Fakten über das aktuelle Revoca in der Version 5 beschrieben. 5.1.1. Aufbau der Übungsdateien Die Revoca-Übungsdateien bestehen aus einer XML-ähnlichen Datei mit dem Namen ’dieDaten’ und den darin verlinkten Mediendateien, wie Bilder, Audio-Dateien und Videos. Diese Dateien werden durch Revoca beim Erstellen in ein unkomprimiertes zip-Archiv verpackt und vor dem Üben wieder entpackt. Diese Paketierung ermöglicht ein sehr einfaches Handling der Übungs-Dateien und auch der Pfade der relativ verlinkten Mediendateien. 5.1.1.1. Die Datei dieDaten Die Datei dieDaten ist in XML formatiert, wobei das Wurzel-Element ein Übungs-Element namens ”RevocaUebungı̈st. Darin sind mehrere Aufgabenelemente namens ”Frageënthalten. Die weiteren verschachtelten Elemente, wie zum Beispiel die Aufgabenstellung, Antwortmöglichkeiten und Mediendateien, sowie Parameter der Übung sind in zum Teil nummerierten Attributen, wo nötig mit verschiedenen Delimiter verkettet gespeichert. Dies macht es leider relativ schwierig diese Datei robust in ein Objekt zu decodieren. In Listing 5.1 ist 33 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW ein gekürzter Auszug über knapp zwei Aufgaben aus einer Daten-Datei abgedruckt. Wobei anzumerken ist, dass die Attribute eine Escape-Funktion von XML-Steuerungszeichen befreit wurden. Listing 5.1: Datenfile aus Simulation 1 <RevocaUebung I n h a l t A n z a h l F r a g e n=” ! [ CDATA[ 1 8 ] ] ” I n h a l t O b e r f l a e c h e n s p r a c h e=” ! [ CDATA[ Deutsch ] ] ” I n h a l t A b f r a g e s t e u e r u n g=” ! [ CDATA[ Nach+S c h w i e r i g k e i t ] ] ” I n h a l t A b f r a g e m o d u s=” ! [ CDATA[ F a l s c h e+Antwort+ a n z e i g e n ] ] ” I n h a l t T i t e l =” ! [ CDATA[ G r u n d b a u s t e i n e +4]] ” I n h a l t E r s t e l l u n g s d a t u m=” ! [ CDATA[03.06.2008+8%3A29 +AM] ] ” I n h a l t A u t o r=” ! [ CDATA [ ] ] ” I n h a l t V e r s i o n=” 5 . 0 , a” I n h a l t P l a t f o r m=”Win32” I n h a l t D r u c k v o r l a g e n=” ! [ CDATA [ ] ] ” I n h a l t F a c h g e b i e t=” ! [ CDATA[ Deutsch ] ] ” I n h a l t K a p i t e l=” ! [ CDATA[ R e c h t s c h r e i b u n g ] ] ” I n h a l t T h e m a=” ! [ CDATA[ G r u n d w o r t s c h a t z ] ] ” I n h a l t N i v e a u=” ! [ CDATA[ A1 . 2 ] ] ” I n h a l t L e r n z i e l =” ! [ CDATA[%3Cp%3E I c h+kann+W%26 ouml%3B r t e r+a u d i t i v+aufnehmen+und+ s c h r i f t l i c h +w i e d e r g e b e n .%3C%2Fp%3E ] ] ” I n h a l t Z e i t v o r g a b e=” ! [ CDATA [ ] ] ” I n h a l t B e m e r k u n g e n=” ! [ CDATA [ ] ] ” I n h a l t S e l b s t e i n s c h a e t z u n g=” ! [ CDATA [ ] ] ” I n h a l t T o l e r a n z w e r t l i s t e=” ! [ CDATA [ ] ] ” I n h a l t W o e r t e r b u c h=” ! [ CDATA [ ] ] ” I n h a l t L Z S u c h w o r t I n d e x=” ! [ CDATA [ ] ] ” I n h a l t K o r r e k t u r m o d u s=” 11100 ”> 2 <F r a g e IDNum=”1” I n h a l t L e r n s t u f e=”1” InhaltNummer=”58” I n h a l t M e d i e n l i s t e=” ! [ CDATA [ ] ] ” I n h a l t A u f g a b e n s t e l l u n g=” ! [ CDATA[%3Cp%3EH%26ouml%3Bre+d i r+d i e+W%26ouml%3B r t e r+an+und+s c h r e i b e+s i e+ r i c h t i g %21%3C%2Fp%3E ] ] ” I n h a l t A u f g a b e t e x t=” ! [ CDATA[%3Cp%3E%3C f o n t+c o l o r%3D%22%230000FF%22%3EIn+d i e s e r +%26Uuml%3Bbung+ s o l l s t +du+d i r+W%26ouml%3B r t e r+anh%26ouml%3Bren+und+s i e+r i c h t i g+s c h r e i b e n .%3C%2F f o n t%3E %3C%2Fp%3E%0D%0A%3Cp%3E%3C f o n t+c o l o r%3D%22%230000FF%22%3EZum+Anh%26ouml%3Bren+d e r+Aufnahme+z i e h e+d i e+ Maus+i n+d a s+B i l d+und+k l i c k e+a u f+%26quot%3BPlay%26quot%3B.%3C%2F f o n t%3E%3C%2Fp%3E%0D%0A%3Cp%3E%3C%2Fp%3 E%0D%0A%3Cp%3E%3C f o n t+c o l o r%3D%22%23000000%22%3EH%26ouml%3Bre+d i r+nun+d a s+e r s t e+Wort+an+und+s c h r e i b e+ e s%21%3C%2F f o n t%3E%3C%2Fp%3E ] ] ” I n h a l t H i n w e i s=” ! [ CDATA[%3Cp%3EEine+Antwort+i s t+v e r l a n g t .%3C%2Fp%3E ] ] ” I n h a l t R i c h t i g e A n t w o r t e n=” ! [ CDATA[ Hausdach%0D%0Adas+Hausdach%0D%0A%0D%0A%0D%0A%0D%0A ] ] ” M o e g l i c h e A n t w o r t e n=” ! [ CDATA [ ] ] ” I n h a l t H i l f e s t e l l u n g =” ! [ CDATA[%3Cp%3E%3C%2Fp%3E ] ] ” I n h a l t F A F 1=” ! [ CDATA [%3Cp%3E%3C%2Fp%3E ] ] ” I n h a l t F A F 2=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t F A F 3=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t F A F 4=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t F A F 5=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t F A F 6=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t F A F 7=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t F A F 8=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t F A F 9=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t F A F 1 0=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t F A F 1 1=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t F A F 1 2=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t F A F 1 3=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t F A F 1 4=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t F A F 1 5=” ! [ CDATA[ A n t w o r t e t e x t ] ] ” I n h a l t A n t w o r t e f e l d 1=” ! [ CDATA[%3Cp%3EHausdach%3C%2 Fp%3E ] ] ” I n h a l t A n t w o r t e f e l d 2=” ! [ CDATA[%3Cp%3Edas+Hausdach%3C%2Fp%3E ] ] ” I n h a l t A n t w o r t e f e l d 3=” ! [ CDATA[%3 Cp%3E%3C%2Fp%3E ] ] ” I n h a l t A n t w o r t e f e l d 4=” ! [ CDATA[%3Cp%3E%3C%2Fp%3E ] ] ” I n h a l t A n t w o r t e f e l d 5=” ! [ CDATA[%3Cp %3E%3C%2Fp%3E ] ] ” I n h a l t A n t w o r t e f e l d 6=” ! [ CDATA[%3Cp%3E%3C%2Fp%3E ] ] ” I n h a l t F r a g e t y p=”ST−K−K−K−1−E−K” I n h a l t D a r s t e l l u n g s p a r a m e t e r=” ! [ CDATA[1%250D%250A%250D%250A4%250D%250A%250D%250A%250D%250A603%250D%250 A33%250D%250A%250D%250A%250D%250A%250D%250A603%250D%250A33%250D%250A%250D%250A20%252C92%252C623%252 C277%2509321%252C184%2509603%2509185%250D%250A634%252C422%252C1004%252C529%2509819%252C475 %2509370%2509107%250D%250A20%252C308%252C623%252C529%2509321%252C418%2509603%2509221%250D%250A634%252 C92%252C1004%252C412%2509819%252C252%2509370%2509320%2509%2509659%252C92%252C979%252C412%250D%250A20 %252C288%252C624%252C308%2509322%252C298%2509604%250920%250D%250A%250D%250Ahausdach . mp3%2509%2509Ton %2509%2509%2509%2509%250D%250A%2509321%252C324%2509Text%2509%2509%250920%252C308%252C623%252C341%250D %250A%2509321%252C361%2509Text%2509%2509%250920%252C345%252C623%252C378%250D%250A%2509321%252C398%2509 Text%2509%2509%250920%252C382%252C623%252C415%250D%250A%2509321%252C435%2509Text%2509%2509%250920%252 C419%252C623%252C452%250D%250A%2509321%252C472%2509Text%2509%2509%250920%252C456%252C623%252C489%250D %250A%2509321%252C509%2509Text%2509%2509%250920%252C493%252C623%252C526%250D%250A%250D%250A%250D%250A %250D%250A%250D%250A%2509321%252C368%2509Text%2509%2509%250920%252C208%252C623%252C529%250920%252C208 %252C623%252C529 ] ] ” I n h a l t R i c h t i g G e l o e s t=” ! [ CDATA[ x m l e r r%2C+can%27t+f i n d+a t t r i b u t e ] ] ” I n h a l t F a l s c h G e l o e s t=” ! [ CDATA[ x m l e r r%2C+can%27t+f i n d+a t t r i b u t e ] ] ” I n h a l t w o r t l u e c k e n=” ! [ CDATA [ ] ] ” I n h a l t M o e g l i c h e A n t w o r t e n=” ! [ CDATA [ ] ] ”/> 3 <F r a g e IDNum=”2” I n h a l t L e r n s t u f e=”2” InhaltNummer=”58” I n h a l t M e d i e n l i s t e=” ! [ CDATA [ ] ] ” I n h a l t A u f g a b e n s t e l l u n g=” ! [ CDATA[%3Cp%3EH%26ouml%3Bre+d i r+d i e+W%26ouml%3B r t e r+an+und+s c h r e i b e+s i e+ r i c h t i g %21%3C%2Fp%3E ] ] ” I n h a l t A u f g a b e t e x t=” ! [ CDATA[%3Cp%3E S c h r e i b e+d a s+Wort%21%3C%2Fp%3E ] ] ” I n h a l t H i n w e i s=” ! [ CDATA[%3Cp%3EEine+Antwort+i s t+v e r l a n g t .%3C%2Fp%3E ] ] ” I n h a l t R i c h t i g e A n t w o r t e n=” ! [ CDATA [ h e r r l i c h%0D%0A%0D%0A%0D%0A%0D%0A%0D%0A ] ] ” M o e g l i c h e A n t w o r t e n=” ! [ CDATA [ ] ] ” 4 [ . . . ]> 5 </ RevocaUebung> 34 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 5.1.2. Codebeispiel in Revtalk Die Revoca Version 5 wurde in der Sprache Revtalk geschrieben und leider nur sehr schwach modularisiert. Es wurde nur sehr selten mit abstrakten Objekten wie zum Beispiel einer Aufgabe gearbeitet und sehr stark an die Benutzeroberfläche gebunden programmiert. Das Beispiel in Listing 5.2 illustriert beispielhaft die Strukturierung des Revoca 5-Codes anhand eines Auszuges aus dem Code, der eine Wort-Übung lädt. Wie zu sehen ist, werden grosse Teile der Daten in Arrays gespeichert und bis zur Anzeige auch so verarbeitet. Listing 5.2: Codebeispiel aus Revoca 5 in Revtalk 1 2 3 4 5 6 7 8 9 10 #D e f i n i e r e n ü f r ”ST” i f i t e m 1 o f F r a g e t y p = ”ST” t h e n i f i t e m 5 o f F r a g e t y p = empty t h e n put ”1” i n t o i t e m 5 o f F r a g e t y p i f i t e m 5 o f F r a g e t y p i s not a number t h e n put ”1” i n t o i t e m 5 o f F r a g e t y p i f i t e m 5 o f F r a g e t y p > 6 t h e n put ”6” i n t o i t e m 5 o f F r a g e t y p i f i t e m 6 o f F r a g e t y p = empty t h e n put ”E” i n t o i t e m 6 o f F r a g e t y p i f i t e m 6 o f F r a g e t y p i s not i n ”E−R” t h e n put ”E” i n t o i t e m 6 o f F r a g e t y p i f i t e m 7 o f F r a g e t y p = empty t h e n put ”K” i n t o i t e m 7 o f F r a g e t y p i f i t e m 7 o f F r a g e t y p i s not i n ”S−K” t h e n put ”K” i n t o i t e m 7 o f F r a g e t y p end i f Diese Code-Struktur macht, zusammen mit der fehlenden Modularisierung das Codeverständnis sehr schwierig. 35 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 5.2. Struktur von Revoca 5.5 Im Folgenden sind die wichtigsten Details zur neuen Implementation von Revoca beschrieben. Diese Version soll bei Fertigstellung die gleichen Funktionen bieten, wie die Version 5, die momentan im Einsatz ist, und auf dem gleichen Dateiformat und der gleichen InternetSchnittstelle basieren. Sie soll jedoch die strukturellen Defizite der aktuellen Version beseitigen und so eine gute Basis für die Weiterentwicklung bieten. 5.2.1. Die Appcelerator Titanium Plattform Appcelerator Titanium ist eine quelloffene Entwicklungsplattform, die für die Entwicklung von Plattform-unabhängigen Anwendungen geschrieben wurde. Anstatt wie Plattformspezifische Umgebungen für jede Plattform eine neue Programmiersprache zu verwenden oder eine neue Sprache zu konstruieren, kann in Appcelerator Titanium mit sehr verbreiteten Web-Sprachen wie Javascript, HTML5 und CSS3 für alle Plattformen wie Windows, Apples OSX, Linux und mobile Betriebssysteme wie das auf iPads und iPhones laufende iOS oder dem quelloffenen Mobile-Betriebssystem Android programmiert werden. Diese hohe Portabilität wird mittels einer Webkit-Umgebung erreicht, welche die Anwendung einschliesst und wie in einer Laufzeitumgebung ähnlich der Java-Virtual-Machine auf verschiedenen Plattformen den gleichen Code auf gleiche Weise ausführt. Um trotz der Limitierung auf Javascript-Funktionen auch betriebssystemnahe Operationen, wie lokale Dateizugriffe zu erlauben, bietet die Laufzeitumgebung eine Javascript-Schnittstelle (genannt Titanium-API) mit den betriebssystemspezifischen Funktionen an. Webkit ist die von zum Beispiel Safari- und Google ChromeBrowsern verwendete Rendering Engine. Also der Teil des Browsers, welcher aus HTML-, CSS- und Javascript-Code in Textform die visuelle Darstellung einer Webseite generieren und interaktiv bedienbar machen. 5.2.1.1. Titanium Desktop und Titanium Mobile Um die spezifischen Fähigkeiten eines Gerätes besser ausnutzen zu können, bietet Titanium für jeden Typ von Gerät eine eigene Version der Titanium-Schnittstelle an. So kann zum Beispiel in Titanium Mobile der Beschleunigungssensor von Mobiltelefonen ausgelesen werden, wobei in Titanium-Desktop Programmteile auch in Ruby oder PHP geschrieben werden können. Dies wurde sogar soweit implementiert, dass gewisse Funktionen der Schnittstelle nur auf iOs-Geräten und andere wieder nur auf Android-Geräten verfügbar sind. Um ein konsistentes Aussehen der Porgrammoberfläche über alle Plattformen zu gewährleisten wurde entschieden, keine der Betriebssystem-spezifischen Funktionen zu benutzen und 36 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW die Software nur mit plattformübergreifend verfügbaren HTML-, CSS- und Java ScriptFunktionen zu programmieren. 5.2.1.2. Wahl der Titanium Plattform für Revoca Ein zwingendes Kriterium für die Wahl einer neuen Entwicklungsplattform für Revoca war die Lauffähigkeit auf Tablet-PCs wie dem iPad und den Desktop-Systemen Windows und OSX, also schied Java bereits aus. Ausserdem sollten Medien, wie Video- und Audioaufnahmen ohne allzu hohen Aufwand abspielbar sein. Alternativen wie zum Beispiel C++, für Windows und Objective-C für die Apple-Systeme schieden aufgrund des sehr hohen Portierungsaufwandes ebenfalls früh aus. Da beim gleichzeitigen Benutzen von Web-Applikationen von mehreren Klassen-Räumen gemäss Berichten vom Revoca-Vorstand schon sehr viele Probleme mit der Bandbreite aufgetreten sind, wurde eine webbasierte Lösung, wegen der Abhängigkeit von einer Internet-Verbindung und zu erwartenden Browser-Bugs auch ausgeschlossen. Da die mobile Version von Revolution zum Zeitpunkt der Evaluation aber noch sehr neu war, und das Abspielen von Videos nicht unterstützt wurde, fiel die Wahl schlussendlich auf Appcelerator Titanium. Die komplette Evaluations-Übersicht findet sich im Anhang. 5.2.2. Implementierung der Benutzeroberfläche Die Benutzeroberfläche wurde mit HTML5, CSS3 und mit Hilfe der Javascript-Bibliotheken jQuery und jQuery-UI geschrieben. Dieses Design mit den beschreibenden Sprachen HTML5 und CSS3 erlaubt eine sehr schnelle Anpassung der Oberfläche im Vergleich zu in abgearbeitetem Code generierten Benutzeroberflächen. 5.2.3. Grundlegende Modularisierung Für die neue Implementierung wurde als Grundsatz definiert, dass der Programmcode möglichst modularisiert aufgebaut werden soll, so dass neue Lernmodi oder Aufgabentypen durch ein simples implementieren einer Schnittstelle hinzugefügt werden können. Da Javascript, als dynamisch, schwach typisierte Programmiersprache, leider keine Schnittstellen(Interfaces) anbietet, muss die Einhaltung der Schnittstellen-Spezifikationen jeweils manuell sichergestellt werden. Um diese Fehlerquelle zu eliminieren, könnte wenn sich dieser Aufbau in der weiteren Entwicklung profiliert, selbst eine Typen-Überprüfung zum Beispiel aller Dateien in einem Ordner geschrieben werden. 37 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Dynamisch typisiert heisst, dass Datentypen von Variablen erst zur Laufzeit des Programms überprüft werden. Soll also zum Beispiel ein Text(String)-Typ durch eine Zahl(Number)-Typ geteilt werden, wird bei dynamisch typisierten Sprachen erst beim Ausführen genau dieses Codestücks ein Fehler ausgelöst, wobei bei statischer Typenüberprüfung dieser Fehler bereits vor dem Ausführen des Programms gemeldet worden wäre. schwach typisiert heisst, dass Datentypen in einer Operation vermischt werden können und die Programmierumgebung zur Laufzeit eine Typenumwandlung vornimmt, so dass die Operation möglich ist. Wird in Javascript zum Beispiel ”21” + 3 gerechnet, kommt ”213” als Resultat heraus, da Javascript den zweiten Operand von einer Zahl in einen String umwandelt. Die Ordnerstruktur in Listing 5.3 zeigt die Modularisierung der Javascript-Dateien. Listing 5.3: Ordnerstruktur der Javascript-Dateien 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 $ l s −R .: j q u e r y − 1 . 4 . 4 . min . j s j q u e r y . includeMany − 1 . 2 . 2 . min . j s j q u e r y−u i − 1 . 8 . 7 . custom . min . j s j q u e r y−u i − 1 . 8 . 9 . custom . min . j s main . j s revoca . helpers . j s revoca . h e l p e r s . loadImages . j s r e v o c a . h e l p e r s . xml . j s r e v o c a . models . e x e r c i s e . j s revoca . s e t t i n g s . j s revoca . s t a t s . j s r e v o c a . u i . e x e r c i s e . menu . html r e v o c a . u i . e x e r c i s e . menu . j s r e v o c a . u i . menu . html r e v o c a . u i . menu . j s r e v o c a . u i . t r a y . html revoca . ui . tray . j s revoca . views . e x e r c i s e r e v o c a . v i e w s . e x e r c i s e . html revoca . views . e x e r c i s e . j s r e v o c a . v i e w s . l i b r a r y . html revoca . views . l i b r a r y . j s ./ revoca . views . e x e r c i s e : r e v o c a . v i e w s . e x e r c i s e . KZ . V o r l a g e . j s r e v o c a . v i e w s . e x e r c i s e . LK . j s r e v o c a . v i e w s . e x e r c i s e . LT . j s r e v o c a . v i e w s . e x e r c i s e .MC. j s r e v o c a . v i e w s . e x e r c i s e . SP . j s r e v o c a . v i e w s . e x e r c i s e . ST . j s r e v o c a . v i e w s . e x e r c i s e . ZO . j s Leider unterstützt Javascript keine Paketierung von Modulen, darum wurde mit einer an Java angelehnten, durch einen Punkt getrennten Namenskonvention gearbeitet. Dabei wurden alle abstrakten Konzepte nach Vorbild des MVC-Patterns in mit revoca.models bezeichneten Dateien implementiert und alle Anzeige-relevanten Funktionen in Dateien mit ’revoca.views’ im Namen gehalten. Als zusätzliche Trennung wurden alle Funktionen die mit der statischen Benutzeroberfläche, wie zum Beispiel Menus zusammenhängen in Dateien mit revoca.ui im Namen abgelegt. 38 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Das MVC-Pattern steht für Model-View-Controller und ist ein Design-Muster, nach dem der Programmcode strikt in ein die Daten speicherndes Modell, eine die Daten darstellende Ansicht (View) und ein die Daten manipulierenden Controller aufgeteilt wird. Durch dieses Designprinzip können zum Beispiel Änderungen an der Darstellung ohne Eingriff auf den Code der Speicherung oder des Controllers gemacht werden, so dass Fehler bei lokalen Änderungen auch nur lokale Auswirkungen haben. 5.2.4. Implementierung des Übung-Ladens Das Laden der Übungen ist aufgrund des unveränderten Dateiformats mit sehr vielen und grossen Attributen ziemlich hart codiert implementiert. Es wird durch alle Aufgaben iteriert und je nach Aufgabentyp in ein unterschiedlich strukturiertes Aufgabenobjekt geladen. 5.2.5. Implementierung des Übens Das Üben einer Frage ist in zwei Modulen implementiert. Das eine ist verantwortlich für den Übungsmodus, das andere für die Darstellung und Korrektur des Aufgabentyps. 5.2.5.1. Darstellung und Korrektur eines Aufgabentyps Die Darstellung jedes Aufgabentyps ist in einer eigenen Javascript-Datei implementiert. Im Listing 5.4 die Standard-Übung als Beispiel. Listing 5.4: Implementierung eines Aufgabentyps 1 Revoca . V i e w s . E x e r c i s e . ST = {}; 2 3 Revoca . V i e w s . E x e r c i s e . ST . l o a d Q u e s t i o n = f u n c t i o n ( ) { 4 f o r ( c1 =0; c1<Revoca . c u r r Q u e s t . a n s w e r C o u n t ; c1++){ 5 $ ( ’# answer_container ’ ) . append ( ’ < input type =" text " id =" answer ’+( c1 +1)+’" > </ input > < span class =" an swe r_co rre cti on " id =" correct_answer ’+( c1 +1)+’"/ > < br / > ’ ) ; 6 } 7 $ ( ’# answer1 ’ ) . f o c u s ( ) ; 8 } 9 10 Revoca . V i e w s . E x e r c i s e . ST . c h e c k Q u e s t i o n = f u n c t i o n ( ) { 11 v a r g i v e n A n s w e r T o C h e c k=’ ’ ; 12 v a r a l r e a d y G i v e n A n s w e r s=A r r a y ( ) ; 13 f o r ( c1 =0; c1<Revoca . c u r r Q u e s t . a n s w e r C o u n t ; c1++){ 14 g i v e n A n s w e r T o C h e c k = $ ( ’# answer ’+( c1 +1) ) . v a l ( ) ; 15 i f ( Revoca . S e t t i n g s . c a p i t a l i z e ) { g i v e n A n s w e r T o C h e c k=g i v e n A n s w e r T o C h e c k . t o L o w e r C a s e ( ) ; } 16 i f ( ! Revoca . S e t t i n g s . s p a c e s ) { g i v e n A n s w e r T o C h e c k=r e m o v e S p a c e s ( g i v e n A n s w e r T o C h e c k ) ; } 17 i f ( ! Revoca . S e t t i n g s . a c c e n t s ) { g i v e n A n s w e r T o C h e c k=a c c e n t s T i d y ( g i v e n A n s w e r T o C h e c k ) ; } 18 i f ( ! Revoca . S e t t i n g s . p u n c t u a t i o n ) { g i v e n A n s w e r T o C h e c k=p u n c t u a t i o n T i d y ( g i v e n A n s w e r T o C h e c k ) ; } 19 20 v a r s o l u t i o n f o u n d=f a l s e ; 21 debug ( " checking "+Revoca . c u r r Q u e s t . l A n s w e r P o s s i b i l i t i e s . l e n g t h ( )+" possible answers " ) ; 22 f o r ( c2 =0; c2<Revoca . c u r r Q u e s t . l A n s w e r P o s s i b i l i t i e s . l e n g t h ( ) ; c2++){ 23 debug ( " checking if answer ’"+g i v e n A n s w e r T o C h e c k+" ’ equals ’"+Revoca . c u r r Q u e s t . l A n s w e r P o s s i b i l i t i e s . g e t ( c2 )+" ’: "+a l r e a d y G i v e n A n s w e r s [ c2 ] ) ; 24 v a r f i r s t V a l =Revoca . c u r r Q u e s t . l A n s w e r P o s s i b i l i t i e s . g e t ( c2 ) ; 25 i f ( ! Revoca . S e t t i n g s . c a p i t a l i z e ) { f i r s t V a l = f i r s t V a l . t o L o w e r C a s e ( ) ; } 26 i f ( ! Revoca . S e t t i n g s . s p a c e s ) { f i r s t V a l =r e m o v e S p a c e s ( f i r s t V a l ) ; } 39 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 27 i f ( ! Revoca . S e t t i n g s . a c c e n t s ) { f i r s t V a l =a c c e n t s T i d y ( f i r s t V a l ) ; } 28 i f ( ! Revoca . S e t t i n g s . p u n c t u a t i o n ) { f i r s t V a l =p u n c t u a t i o n T i d y ( f i r s t V a l ) ; } 29 i f ( f i r s t V a l===g i v e n A n s w e r T o C h e c k ) { 30 i f ( a l r e a d y G i v e n A n s w e r s [ c2]=== f a l s e | | a l r e a d y G i v e n A n s w e r s [ c2]===u n d e f i n e d ) { 31 s o l u t i o n f o u n d=t r u e ; 32 // Remove the found solution from the trueAnswers Array : 33 a l r e a d y G i v e n A n s w e r s [ c2 ]= t r u e ; 34 } 35 } 36 } 37 return solution found ; 38 } 39 } 40 41 Revoca . V i e w s . E x e r c i s e . ST . c o r r e c t A n s w e r = f u n c t i o n ( ) { 42 // eventually TODO : Only mark the false words as false if order isn ’t relevant ( reconsider ordering ) 43 var correctAnswers = Array () ; var givenAnswers = Array () ; 44 f o r ( c1 =0; c1<Revoca . c u r r Q u e s t . a n s w e r C o u n t ; c1++){ 45 e v a l ( " correctAnswers [ "+c1+" ] = Revoca . currQuest . I nh a lt A nt wo r te f el d "+( c1 +1)+" ; " ) ; 46 // givenAnswers [ c1 ] = $ ( ’# answer ’+ c1 ) . value () ; 47 $ ( ’# correct_answer ’+( c1 +1) ) . h t m l ( " Richtig ä wre : "+c o r r e c t A n s w e r s [ c1 ] ) ; 48 } 49 } In Zeile 1 wird ein neues statisches Objekt erzeugt. Von Zeile 3 bis 8 wird die Funktion definiert, welche das Antwortfeld oder die Antwortmöglichkeiten darstellt. In den Zeilen 10 bis 39 werden die in der aktuell geladenen Aufgabe gespeicherten richtigen Antworten mit den durch den Benutzer angegebenen Antworten verglichen. Stimmen sie unter Beachtung der momentanen Korrekturmodus-Einstellungen (s. Zeile 25 bis 28) überein, gibt die Funktion true (wahr), ansonsten false (falsch) zurück. In den Zeilen 41 bis 49 wird schlussendlich eine Funktion definiert, welche die richtigen Lösungen anzeigt, entweder für den Präsentationsmodus oder die Korrektur von falsch gelösten Aufgaben. Die Anzeigemodule werden per folgendem eval-Befehl je nach Aufgabentyp-Feld geladen. Listing 5.5: Laden des Anzeigemoduls abhängig vom Aufgabentyp 1 e v a l ( ’ Revoca . Views . E x e r c i s e . ’+Revoca . c u r r Q u e s t . q u e s t i o n T y p e . s u b s t r ( 0 , 2 )+ ’ . l o a d Q u e s t i o n ( ) ; ’ ) ; Es werden dabei nur die ersten zwei Buchstaben, des Feldes in das eval eingefügt um Cross-Site-Scripting-Attacken allgemein auszuschliessen. Da das Feld im Normalfall nur zwei Buchstaben hat, bringt dies, wenn die Aufgabendatei nicht manipuliert wurde, keine Probleme mit sich. Durch dieses dynamische Laden der Anzeigemodule, kann durch das Erstellen einer neuen Aufgabendatei und eines neuen Anzeigemoduls, ein Aufgabentyp fast ohne aufwändige Codeänderungen erstellt werden. 5.2.5.2. Variation der Reihenfolge durch den Übungsmodus Listing 5.6: Aktion nach einer falschen Antwort 1 Revoca . V i e w s . E x e r c i s e . a n s w e r W a s F a l s e = f u n c t i o n ( ) { 2 i f ( Revoca . S e t t i n g s . ubungsmodus===’ sofort ’ ) { 3 $ ( ’# true_or_false ’ ) . h t m l ( " falsch , bitte korrigieren . " ) ; 4 e v a l ( " Revoca . Views . Exercise . "+Revoca . c u r r Q u e s t . q u e s t i o n T y p e+" . correctAnswer () ; " ) ; 5 Revoca . S t a t s . Q u e s t i o n A n s w e r e d F a l s e ( ) ; 40 Optimierung der Revoca Lernsoftware 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 Bachelorarbeit FS2011 InIT ZHAW Revoca . V i e w s . E x e r c i s e . d i s p l a y S t a t s ( ) ; } e l s e i f ( Revoca . S e t t i n g s . ubungsmodus===’ falsche ’ ) { Revoca . V i e w s . E x e r c i s e . s h o w i n g A n s w e r=t r u e ; $ ( ’# true_or_false ’ ) . h t m l ( " leider falsch " ) ; e v a l ( " Revoca . Views . Exercise . "+Revoca . c u r r Q u e s t . q u e s t i o n T y p e+" . correctAnswer () ; " ) ; Revoca . S t a t s . Q u e s t i o n A n s w e r e d F a l s e ( ) ; Revoca . V i e w s . E x e r c i s e . d i s p l a y S t a t s ( ) ; } e l s e i f ( Revoca . S e t t i n g s . ubungsmodus===’ jede ’ ) { Revoca . V i e w s . E x e r c i s e . s h o w i n g A n s w e r=t r u e ; $ ( ’# true_or_false ’ ) . h t m l ( " leider falsch " ) ; e v a l ( " Revoca . Views . Exercise . "+Revoca . c u r r Q u e s t . q u e s t i o n T y p e+" . correctAnswer () ; " ) ; Revoca . S t a t s . Q u e s t i o n A n s w e r e d F a l s e ( ) ; Revoca . V i e w s . E x e r c i s e . d i s p l a y S t a t s ( ) ; } e l s e i f ( Revoca . S e t t i n g s . ubungsmodus===’ prufung ’ ) { $ ( ’# true_or_false ’ ) . h t m l ( " leider falsch " ) ; Revoca . S t a t s . Q u e s t i o n A n s w e r e d F a l s e ( ) ; Revoca . V i e w s . E x e r c i s e . d i s p l a y S t a t s ( ) ; Revoca . V i e w s . E x e r c i s e . n e x t Q u e s t i o n ( ) ; } e l s e i f ( Revoca . S e t t i n g s . ubungsmodus===’ chancen ’ ) { i f ( Revoca . V i e w s . E x e r c i s e . chancen >1){ Revoca . V i e w s . E x e r c i s e . chancen −−; $ ( ’# true_or_false ’ ) . h t m l ( " leider falsch , du hast noch eine Chance ! " ) ; // Revoca . Stats . Q u e s t i o n A n s w e r e d F a l s e () ; // used chance isn ’t rated as mistake Revoca . V i e w s . E x e r c i s e . d i s p l a y S t a t s ( ) ; }else{ Revoca . V i e w s . E x e r c i s e . s h o w i n g A n s w e r=t r u e ; $ ( ’# true_or_false ’ ) . h t m l ( " leider auch falsch " ) ; e v a l ( " Revoca . Views . Exercise . "+Revoca . c u r r Q u e s t . q u e s t i o n T y p e+" . correctAnswer () ; " ) ; Revoca . S t a t s . Q u e s t i o n A n s w e r e d F a l s e ( ) ; Revoca . V i e w s . E x e r c i s e . d i s p l a y S t a t s ( ) ; } } e l s e i f ( Revoca . S e t t i n g s . ubungsmodus===’ tempomat ’ ) { Revoca . V i e w s . E x e r c i s e . s h o w i n g A n s w e r=t r u e ; Revoca . V i e w s . E x e r c i s e . s h o w i n g A n s w e r $ ( ’# true_or_false ’ ) . h t m l ( " leider falsch " ) ; e v a l ( " Revoca . Views . Exercise . "+Revoca . c u r r Q u e s t . q u e s t i o n T y p e+" . correctAnswer () ; " ) ; Revoca . S t a t s . Q u e s t i o n A n s w e r e d F a l s e ( ) ; Revoca . V i e w s . E x e r c i s e . d i s p l a y S t a t s ( ) ; } e l s e { a l e r t ( " Congratulations , you discovered a bug in the program ! Please report it to andre@goetz . sg mentioning the Error - Code : u n k n o w n_ u b u n g s m o du s " ) ; } 44 } Wird eine Aufgabe richtig beantwortet oder war die letzten Anzeige die Anzeige der Lösung, wird die nächste Aufgabe aufgerufen. Und jeweils die Statistik-Anzeige aktualisiert. Listing 5.7: Funktion beim richtigen Beantworten einer Frage 1 Revoca . V i e w s . E x e r c i s e . answerWasTrue = f u n c t i o n ( ) { 2 Revoca . V i e w s . E x e r c i s e . c h a n c e n =2; 3 i f ( Revoca . S e t t i n g s . ubungsmodus===’ jede ’ ) { 4 i f ( ! Revoca . V i e w s . E x e r c i s e . s h o w i n g A n s w e r ) { 5 Revoca . V i e w s . E x e r c i s e . s h o w i n g A n s w e r=t r u e ; 6 $ ( ’# true_or_false ’ ) . h t m l ( " richtig , super ! " ) ; 7 e v a l ( " Revoca . Views . Exercise . "+Revoca . c u r r Q u e s t . q u e s t i o n T y p e+" . correctAnswer () ; " ) ; 8 Revoca . S t a t s . Q u e s t i o n A n s w e r e d T r u e ( ) ; 9 Revoca . V i e w s . E x e r c i s e . d i s p l a y S t a t s ( ) ; 10 }else{ 11 Revoca . V i e w s . E x e r c i s e . n e x t Q u e s t i o n ( ) ; 12 Revoca . V i e w s . E x e r c i s e . s h o w i n g A n s w e r=f a l s e ; 13 } 14 }else{ 15 i f ( ! Revoca . V i e w s . E x e r c i s e . s h o w i n g A n s w e r ) { 16 $ ( ’# true_or_false ’ ) . h t m l ( " richtig , super ! " ) ; 17 } 18 Revoca . V i e w s . E x e r c i s e . s h o w i n g A n s w e r=f a l s e ; 19 Revoca . V i e w s . E x e r c i s e . n e x t Q u e s t i o n ( ) ; 20 Revoca . S t a t s . Q u e s t i o n A n s w e r e d T r u e ( ) ; 21 } 22 } 41 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 5.3. Auswahl von zu implementierenden Änderungen Sicherlich dringend, da für alle Benutzer ungeachtet des Verwendungszwecks, sind die im Abschnitt 4.2.2 auf Seite 29 beschriebenen nötigen Änderungen an der Benutzeroberfläche. Als simple Änderung wurden die klarere Anzeige der Status-Icons implementiert. Die Lernstandsanzeige eignete sich weniger zur prioritären Implementierung, da mit einer Erweiterung der Lernwerkstatt die Lernstatus-Berechnung sowieso neu geschrieben werden müsste und diese Erweiterung wieder zu viel Zeit für diese Arbeit in Anspruch genommen hätte. Aus Sicht der Lern-Motivation am interessantesten scheint der im Absatz 4.2.1.4 beschriebene Ansatz der Auszeichnungen. Dieser wäre jedoch wiederum mit der Implementierung der zu aufwändigen Implementierung der Lernwerkstatt verbunden, weshalb die im Abschnitt 4.2.1.5 auf Seite 29 beschriebene, etwas statischere Lösung implementiert wird. Die Funktionserweiterung mit am meisten Potenzial ist sicherlich wieder die zu aufwändig zu implementierende Lernwerkstatt, da sie ein völlig neues Lernerlebnis bieten kann. Vom Aufwand am einfachsten zu implementieren wäre die beschriebene Pausen-Funktion, wobei deren Wirksamkeit nicht belegt werden konnte. Von den Funktionserweiterungen weist aber der Aktivieren-Modus das am besten scheinende Aufwand-/Ertrags-Verhältnis auf, weshalb auch dieser implementiert wurde. Auf der nächsten Seite ist die Implementierungen der ausgewählten Funktionen im Detail beschrieben. 42 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 5.4. Details zur Implementation 5.4.1. Änderung der Benutzeroberfläche Um die ausgewählten Änderungen an der Benutzeroberfläche zu spezifizieren wurde der in Abbildung 5.1 sichtbare Entwurf der Oberfläche gezeichnet. Die Icons konnten, da die Abbildung 5.1.: Entwurf der Benutzeroberfläche mit neuen Statusicons komplette Benutzeroberfläche in HTML und CSS geschrieben sind ohne Änderungen des Javascript-Codes geändert werden. 5.4.2. Implementierung eines Aktivieren-Modus Dank der starken Modularisierung und dem einfachen Ausführen von dynamischem Code in Javascript, konnte auch der neue Aktivieren-Modus (s. Abschnitt 4.2.3.5), abgesehen vom vier Zeilen für den Menu-Eintrag, mit nur den paar wenigen in Listing 5.8 gedruckten Zeilen Code implementiert werden. Der abgedruckte Code wurde ans Ende der Funktion angehängt, welche eine neue Aufgabe lädt. So wird durch die Funktion setTimeout nach 5000 Millisekunden das Eval aufgerufen, welches die korrekte Antwort anzeigt. Listing 5.8: Änderung für die Implementierung des Aktivieren-Modus 1 i f ( Revoca . S e t t i n g s . ubungsmodus===’ aktivieren ’ ) { 2 window . s e t T i m e o u t ( f u n c t i o n ( ) { 3 e v a l ( ’ Revoca . Views . Exercise . ’+Revoca . c u r r Q u e s t . q u e s t i o n T y p e . s u b s t r ( 0 , 2 )+’. correctAnswer () ; ’ ) ; 4 } ,5000) ; 5 } 43 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 5.4.3. Einbindung von Motivationssätzen Um die Anzeige der Motivationssätze zu spezifizieren, wurde ebenfalls ein Entwurf der Änderungen an der Benutzeroberfläche erstellt (s. Abbildung 5.2). Abbildung 5.2.: Entwurf der Benutzeroberfläche im Lernen Modus mit Motivationssatz In Listing 5.9 ist die Implementierung der Motivationssätze bei einer richtigen Antwort zu sehen. Auf Zeile 2 wird über das Titanium-Framework die lokale Datei lob richtig.txt geladen. Danach wird per Zufall eine Zeile daraus ausgewählt und, wenn diese leer ist, da wahrscheinlich die Letzte Zeile der Datei erwischt wurde, die vorherige Zeile genommen. Dies wird dann an den Text ”richtig - ” angehängt. Zum Hinzufügen eines neuen Sprichworts muss also nur eine neue Zeile an die Datei lob richtig.txt oder lob falsch.txt im Ordner settings angefügt werden, und diese erscheint nach zufälliger Wahrscheinlichkeit bei der Aufgabenauswertung. Listing 5.9: Implementierung der Motivationssätze 1 Revoca . V i e w s . E x e r c i s e . g e t T r u e S a y i n g = f u n c t i o n ( ) { 2 v a r f i l e C o n t e n t = T i t a n i u m . F i l e s y s t e m . g e t F i l e ( T i t a n i u m . F i l e s y s t e m . g e t R e s o u r c e s D i r e c t o r y ( ) , " settings / lob \ _richtig . txt " ) . r e a d ( ) ; 3 var f i l e B y L i n e = f i l e C o n t e n t . s p l i t ( "\n" ) ; 4 v a r r a n d o m I n d e x=Math . f l o o r ( Math . random ( ) * f i l e B y L i n e . l e n g t h ) ; 5 v a r s a y i n g=f i l e B y L i n e [ r a n d o m I n d e x ] ; 6 i f ( s a y i n g===" " ) { 7 s a y i n g=f i l e B y L i n e [ r a n d o m I n d e x −1]; 8 } 9 return saying ; 10 } Die neuen Statusicons und die neuen Sprichwörter sind in der Abbildung 5.3 sichtbar. 44 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Abbildung 5.3.: Screenshot der implementierten Änderungen 5.5. Resultierendes Programm 5.5.1. Programmcode auf CD Eigentlich würde Appcelerator in ihrer Entwicklungsumgebung einen Online-PackagingDienst anbieten, welcher die geschriebene Anwendung für mehrere Plattformen verpackt. Leider funktioniert seit Mitte Februar dieser Service nicht mehr und die Entwickler scheinen sich leider nicht um das Problem zu kümmern. Statt der gepackten Version für alle Betriebssysteme wurde so eine lokal gepackte Linux-Version als Paket und für andere Plattformen die Entwicklungsumgebung mit Programmcode-Quellen auf der CD beigepackt. 5.5.2. Funktionsumfang des Programms Die Entwicklung des Programms ist noch in einem Alpha-Stadium und hat noch nicht alle Grundfunktionen implementiert. Auch kommt es wegen noch unvollständig implementierten Übungstypen vor, dass manche Demo-Übungen, die Logik des Programms zum Absturz bringen, was sich darin äussert, dass bis zu einem Neustart die Aufgaben nicht mehr korrekt geladen werden. Von den beiliegenden Übungen lässt sich die Übung ST.rvo5, Grundbausteine 4 (Ton).rvo5 und Interview 05.rvo unter den meisten Bedingungen ausprobieren. 45 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 5.6. Änderungsvorschläge zu Prozessen Nebst den das Lernprogramm betreffenden Mängeln sind noch einige interne Prozesse aufgefallen, die sich ein Software-Entwickler bei sonstigen Projekten gewohnt ist. Folgend sind die drei wichtigsten beschrieben. 5.6.1. Einführung eines Bug- und Feature-Tracker 5.6.1.1. Anforderung Da die Entwicklung bis jetzt hauptsächlich auf bilateraler Ebene zwischen Programmierer und den Vorstandsmitgliedern abgelaufen ist und dieser Prozess nicht strukturiert dokumentiert wurde, lassen sich leider gewisse Design-Entscheidungen nicht mehr so einfach nachvollziehen und die Entwicklung ist wie im Abschnitt ?? erwähnt vielfach nur durch Reverse-Engineering der Programmfunktionen und Schnittstellen möglich. Durch ein strukturiertes Neugestalten des Entwicklungsprozesses mit Hilfe eines durch den ganzen Vorstand einsehbares Projekt-Werkzeug wie ein webbasierter Feature- und BugTracker könnte der Entwicklungsprozess viel transparenter und kontrollierbarer gemacht werden. 5.6.1.2. Realisierung Mit dem von Xerox entwickelten Projektmanagement-Tool Codendi konnte eine sehr anpassbare Lösung gefunden werden, welche zum Benutzen nur minimale Einarbeitungszeit benötigt und nicht wie Trac mit sehr vielen zuerst zu erlernenden Subsystemen wie SVN verknüpft ist. Es erlaubt das Erfassen von Bugs, Funktionen und auch eigenen TrackerDefinitionen. (s. Abbildung 5.4) Ziel des Tools ist es, dass bei Schulungen erhaltenes Feedback direkt vom Schulungsleiter in das Tool eingetragen wird und so die Bearbeitung von allen Beteiligten bei Revoca ohne Abstimmungsaufwand genau verfolgt werden kann. 5.6.2. Einführung einer Versions-Verwaltung Die Versionierung und Backups wurden bis anhin jeweils manuell auf einem externen Datenträger gemacht und konnten so auch nicht nachvollzogen oder rückgängig gemacht werden. Mit der Einführung eines SVN-Servers, wie der für diese Arbeit verwendete SchulSVN-Server, könnte dieser Misstand sehr einfach behoben werden. 5.6.3. Marketing über soziale Online-Medien Wie viele schon länger agierende Unternehmen hat auch Revoca keine Präsenz in sozialen Online-Netzwerken wie Facebook, Netlog, Twitter. Durch diesen fast kostenfreien Werbekanal könnte bei vielen Jungen ein positives Image aufgebaut werden und die Akzeptanz 46 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Abbildung 5.4.: Printscreen eines Codendi Feature-Tracker Eintrages als Vorbild für das Modelllernen verbessert werden. Eine weitere Anwendungsmöglichkeit wäre, den Lernenden zu ermöglichen, die erhaltenen Auszeichnungen mit ihrem Facebook-Account zu verknüpfen, um so einen gewissen Wettkampf, vergleichbar mit dem Sammeln von Panini-Bildchen, unter den jüngeren Schülern auszulösen. Diesem Schritt könnte vom Umfang her wieder eine eigene Arbeit gewidmet werden. 47 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 6. Schlusswort 6.1. Aufgetauchte Probleme Leider wurde die Aufschaltung der Fragebögen aufgrund von Kommunikationsschwierigkeiten etwas verzögert und es konnten schlussendlich nicht mehr so umfassende Änderungen an der Software vorgenommen werden wie ursprünglich geplant. Da die Software aber sowieso weiterentwickelt wird, können die identifizierten Entwicklungschancen sicherlich auch genutzt werden. Da vom Verein Revoca aus, während der Arbeit die Internetschnittstelle des LernweltAnbieter Invisible geändert wurde und so die Software nicht mehr vor Projektende den Beta-Status erreicht hat, konnte auf die CD statt der geplanten Beta-Version leider nur ein Entwicklungs-Schnappschuss beigelegt werden. 48 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 6.2. Ausblick Da die gemachten Umfragen, aufgrund der geringen Teilnehmerzahl die Revoca-Benutzer sind, relativ wenig über die Anwendungsgewohnheiten von Revoca aussagen, könnte zukünftig in der Weiterentwicklung von Revoca eine Logging-Funktion eingebaut werden. Dieses Logging könnte, natürlich mit Zustimmung des Benutzers, anonymisierte Nutzungsdaten an den Lernwelte-Server senden, so dass analysiert werden kann, welche Funktionen von den Nutzern rege benutzt werden und welche, in einer späteren Version eher vernachlässigt werden können. In einer späteren Arbeit wäre es interessant zu testen, inwieweit die getroffenen und vorgeschlagenen Massnahmen den Lernerfolg von Schülern verschiedener Stufen verbessern und in welchem Umfang und für welche Zwecke auch mobile Revoca-Versionen eingesetzt werden. Einen weiteren, sehr interessanten Ansatz für Lernprogramme bietet das bereits zehn Jahre alte Lernspiel namens ”Who is Oscar Lake?”, welches sich um die Aufgabe dreht, in einer interaktiven Simulationswelt, unter Einsatz der zu lernenden Sprache ein Rätsel zu lösen. In der Spielewelt hat sich seither jedoch in punkto Graphik und Interaktivität sehr viel verändert. Mit den immer einfacher zu verwendenden, realistischen Spiele-Engines wie zum Beispiel Unigine (www.unigine.com) könnte in einer weiteren Arbeit ein kleines Testszenario für das Lernen in einer realistisch scheinenden virtuellen Realität aufgebaut werden. Danach wäre es interessant mittels Beobachtungen oder Tests die Lernerfolge mit konventionellen Lernmethoden zu vergleichen. Dabei sollte aber beachtet werden, dass der didaktische Fokus in der spielerischen Umgebung nicht verloren geht (Vgl. [Rap11] und [Kuh08]). 49 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 6.3. Persönliche Meinung Vor allem überrascht, im Positiven von Seiten der Ausbeute wie auch etwas im Negativen von Seiten des Recherche-Aufwandes hat mich das grosse Angebot an breitem, verwendbaren Fachwissen in diesem Bereich. Die Aufgabenstellung war von Beginn an relativ offen formuliert, was trotz einer Abgrenzung gegenüber der Verwendung von Lernsoftware und der Wirkung von Web 2.0 Technologien einen fast zu grossen Spielraum für Optimierungen offen gelassen hat und so den Hauptteil der Arbeit weg vom Programmieren, mehr in Richtung Analyse, Evaluation und Design verschoben hat. Es konnten aber sehr viele Anstösse für die weitere Entwicklung von Revoca gegeben werden, auch wenn es nur ein paar wenige bis zu einer Implementierung in der Entwicklungsversion geschafft haben. Als ein eigentlich an Java gewohnter Entwickler, habe ich von Seiten der Implementierung mit der dynamisch typisierten Sprache wie Javascript auch einige Erfahrung mit auf den Weg genommen. So zum Beispiel wie eine konsequente Modularisierung strukturiert sein kann oder dynamisch Code hinzu geladen werden kann. Auf alle Fälle konnte ich während dieser Arbeit sehr viel, sowohl über Psychologie und Pädagogik, als auch über User Interaction Design lernen und die gelernten Fakten auf ein wirklich benutztes Produkt übertragen. Ebenfalls eine wertvolle Erfahrung war die Erstellung der Fragebögen und deren gar nicht so einfachen Abgleich mit den verschiedenen Anspruchsgruppen. Alles in allem war dies eine sehr lohnenswerte Arbeit mit vielen Entwicklungschancen als Resultat. Gemäss Auftrag des Revoca-Vorstandes werde ich die Neuprogrammierung voraussichtlich auch in den nächsten Monaten und Jahren weiter vorantreiben. 50 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW 6.4. Danksagung An dieser Stelle möchte ich allen Projektbeteiligten meinen herzlichen Dank aussprechen. Allen vorweg meinen sehr engagierten und interessierten Betreuern, Herrn Joachim Wirth und Herrn Christof Marti, die mir sowie beim Aufbau der Arbeit sehr geholfen haben, als auch mir sehr viele wertvolle didaktische Ideen gegeben haben und sich jeden Freitag die Zeit für eine Besprechung genommen haben, statt direkt ins Wochenende zu gehen. Auch allen Teilnehmern meiner Umfrage und ganz speziell Paul Raper danke ich für Ihre Meinung und eingebrachten Ideen. Dem Vorstand des Vereins Revoca Lernsoftware möchte ich vielmal für die Gelegenheit und das entgegengebrachte Vertrauen danken, dass sie die Zukunft ihrer Software gewissermassen in meine Hände legen und mir mit Rat und Tat zur Seite standen, diese Arbeit zu verfassen. Ganz speziellen Dank gilt Peter Scheurer, der bei allen Revoca-technischen Belangen weitergeholfen hat und Bruno Dahinden, der mir in allen Revoca betreffenden administrativen Fragen weiterhelfen konnte. 51 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Interview with Paul Raper Head of English at HSR Rapperswil and Director of E4P English School My Bachelor Thesis is about Revoca. Do you know Revoca? I heard of it, but not actually seen or tried it. You’re teaching at the E4P-English-School, thats right? That’s correct yes, but also at the HSR in Rapperswil, so I’ve a fairly broad based experience of teaching including a masters degree. Do you use any other teaching software? Basically I have experience with a learning package called “Corporate English”, used to be called C.A.T.S. Many years ago. That was one of the starting points. Then also Wall-street-English, as some kind of blended learning concept, digital publishing and Auralog. A little bit knowledge touched by Rosetta Stone, and apart from that Moodle. So you use this software also at teaching? At the moment, I use Digital Publishing and Moodle. Auralog I tried it out, when the University (the HSR) was thinking about the idea of using a blended learning aproach there. So we were looking at the option of either digital publishing or auralog. But unfortunately auralogs technical support proved to be not all that good. In fact it was very poor. We wrote them for four months before we got any answers out of them and they decided to get us up and running. But then I was looking through the actual program, so I’ve a fairly good idea how the auralog system works. So the problem was not a didactical issue, but a technical one? The problem that we had was a technical issue, which had mainly to do with firewalls, but that had nothing to do with the didactic approach of the software, no. What’s Auralog? Is it comparable with Moodle? You would compare it with Digital Publishing, Wallstreet. It’s a completely integrated package which includes video streaming, voice recognition, grammar support, and and and. Where auralog really falls down is, if a student has a question he want to put to the teacher, they can raise that question and email it actually within the exercise itself. You might just say that it’s actually not a bad thing, but for the teacher point of view its a technical 52 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW nightmare, because you could end up 56 students emailing from inside different exercises with different questions and you don’t have any reference. So it was, kind of, a little bit of overkill, from the student support side. So digital publishing works at a far more generalized level. The teacher checks through the students progress and then deduces from their experience what problem or what support the student needs. You don’t have anything against teaching software in general? No, I think in a modern world it is a totally essential way to teach and support students. People different needs, they have different learning styles, they have different pressures, requirements, different lifestyles and and and. And basically through learning software you open up the whole range of tools, possibilities, opportunities to learn. So it mainly depends on the needs of the student how and if a learning software can be used? Yeah! I mean it falls down to their own personal motivation at the end. As does any form of learning comes down to an individual motivation and the need to learn. But whether or not you make it in the classroom or whether you make it with a learning software over the internet or in any other way, its basicly just opening up different channels for the individual. We for a long time used distance learning as a channel of learning, now we’re doing this, we’re bringing it closer to the individual, by saying: “ok, learn over the internet” or by elearning technology, which basically gives the teacher, the tutor or the lecturer a far closer degree of contact and a far better way to know what the student’s doing. So they are always surveyed by the teacher himself not automatically by the teaching software? I think from a students point of view the teacher is a necessary element in the game. You could theoretically program a computer to know all the answers and have all the solutions, but at the end, especially with language, the whole point of like is human interaction and with learning software you are providing a far greater way for a tutor to be able to monitor what you do or what you need as a student. And you speed up the learning process, but at the end it’s human interaction that the person is looking for. So that’s the main motivation to learn in our community? yes! What are the main deficits in currently existing learning software apart from technical problems? One of the things is authenticity. At the moment one of the big problems that learning software seems to suffer from is authenticity. Currently its not using authentic material to produce its examples or learning material. A lot of course books are beginning to head in that direction, cambridge have started to go that way using the English 360 course set. But 53 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW the problem with English 360 is that it is some kind of moodle course set. So all you’ve got is static content. You have no dynamic content. No video, and so on, which auralog has. A lot of products do not use corpus based learning materials. One of the concepts I’m working on is integrating corpus into an elearning environment. Something we want to achieve throught the moodle platform. And I’m looking at the number of possibilities where by I can start to integrate authentic material using corpus analysis software into a moodle environment. To produce a higher degree of authentic material. But the problems we have there is speech-recognition. There is none at the moment. There is a colleague of mine in UK, she’s working on the possibility to develop a software package that can read the material, so a text-to-speech. She’s trying to get to work the reverse direction, so you could actually speak back the text and the software will recognize whether you pronounced it correctly. Which could going to be a kind of fun even though it’s difficult. She’s making some progress, how far I can’t say at the moment. What chances do you see for learning software? I think the future in elearning is only limited by our fantasy. We could take the whole learning process as far as we want to take it. What we have to be careful of is that we don’t get into the situation whereby it becomes kind of watered down, its not learning thats taking place. A lot of people understand learning as some kind of structured process. So effectively the curriculum, the sillables, the strucures have to be there. How far we want to go with it it’s up to us. There are lot of fun concepts out there, we’ve got wikis, we’ve go chats, we’ve got microsoft now introducing a plugin for moodle which gives you the whole microsoft live feature to moodle. There are terrific opportunities out there. The problem that comes to us is work overload for the tutor: You all the time try to develop these new ideas but you also got to remind that when you develop the new idea you also have to support it on the other end. It’s no good if you’re developing your idea and you have twenty students out there and none of them connects to and use it because you can’t support it. But theres terrific potential. Specifically on mobile applications: Do you think they will be accepted by students or not? It’s already used to a large extend. The whole mobile concept of learning, using the internet for learning and elearning. It’s already accepted. Digital publishing has this concept that you have your course on the usb-drive and you can take it wherever you want to go, and then update the server with your latest data. How do you see the chances of mobile phones or other small-screen devices? The problem the small screen device has, is the limited amount of data that can be displayed at any given time. It’s kind of a gimmick at the moment. But the actual usability 54 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW of it is in my oppinion something rather limited at this moment. I think what one has to bear in mind if you use small screen device you have to develop certain materials you could use in that particular mode. And the user has to understand that for other things he needs a bigger screen to do it. Digital publishing has been quite clever in that respect, because what they’ve done is they allowed users share software to allow to export paths of the audio to a handheld device. They can actually listen to the audio but they can’t play the video. So the concept is there but the user has to understand the limitation of the device he’s using. You said before, you have to adapt the content to the platform or the screen-size its running, so that’s the important thing? exactly, and the user has to understand thats the deal they’re getting. If you have complex things you have to show on a larger screen it simply won’t work on a small screen, so the user has to understand the limitation of the device he’s using not the limitation of the platform supplying it. What are your further ideas / your conclusion? My main interest is to try to bring the authentic language into software. Because that is one of the software itself, it’s incredibly flexible and incredibly adaptable medium to work with. As I said earlier it’s just limited by our fantasy and if can identify the market we can identify the systems that will most effectively work with that medium. We have basically to find the right minds and put them into the right room and start to work. But it’s there. It’s just a question of now producing it. The interesting thing at the linguistic side is clearly that more and more kids are learning a language at a very early age at the schools. Now the trend at a latest age further than at university level is English for something specific: English for engineering, English for Pilots, English for this, English for that. So the software has to be rescaled for its use. Thank you very much for your answers! You’re welcome! I wish you luck! Thank’s and have a nice day. Bye Bye 55 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Online-Fragebögen Die Resultate der Online-Fragebögen sind aufgrund der über hundert Seiten Umfang auf der beiliegenden CD-Rom enthalten. 56 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Abbildungsverzeichnis 2.1. Bibliothek-Ansicht von Revoca nach dem Aufstarten . . . . . . . . . . . . 9 2.2. Lern-Ansicht von Revoca beim Üben einer Zuordnungs-Aufgabe . . . . . . 10 2.3. Lernprotokolle auf der Revoca Lernwelt Seite . . . . . . . . . . . . . . . . 12 2.4. Auschnitt aus der Schweizerkarte mit Revoca-Lernwelt-Kunden . . . . . . . 13 3.1. 6 Phasen der Phase-6 Software . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2. Tutorfunktion des Langenscheidt Vokabeltrainers . . . . . . . . . . . . . . 19 3.3. Baumansicht der Übungen in der KhanAcademy . . . . . . . . . . . . . . . 20 3.4. Dialogsituation in Auralog . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.1. Entwurf der Benutzeroberfläche mit neuen Statusicons . . . . . . . . . . . 43 5.2. Entwurf der Benutzeroberfläche im Lernen Modus mit Motivationssatz . . . 44 5.3. Screenshot der implementierten Änderungen . . . . . . . . . . . . . . . . . 45 5.4. Printscreen eines Codendi Feature-Tracker Eintrages . . . . . . . . . . . . 47 6.1. Projektplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 57 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Listings 5.1. Datenfile aus Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.2. Codebeispiel aus Revoca 5 in Revtalk . . . . . . . . . . . . . . . . . . . . . 35 5.3. Ordnerstruktur der Javascript-Dateien . . . . . . . . . . . . . . . . . . . . 38 5.4. Implementierung eines Aufgabentyps . . . . . . . . . . . . . . . . . . . . . 39 5.5. Laden des Anzeigemoduls abhängig vom Aufgabentyp . . . . . . . . . . . . 40 5.6. Aktion nach einer falschen Antwort . . . . . . . . . . . . . . . . . . . . . . 40 5.7. Funktion beim richtigen Beantworten einer Frage . . . . . . . . . . . . . . 41 5.8. Änderung für die Implementierung des Aktivieren-Modus . . . . . . . . . . 43 5.9. Implementierung der Motivationssätze . . . . . . . . . . . . . . . . . . . . 44 58 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Abkürzungsverzeichnis GUI Graphical User Interface InIT Institute for Applied Information Technology BA Bachelorarbeit SVN Subversion UI Unternehmensinformatik ZHAW Zürcher Hochschule für Angewandte Wissenschaften 59 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Glossar Behaviourismus Wissenschaftstheoretischer Standpunkt, nach dem Verhalten mit naturwissenschaftlichen Methoden untersucht werden kann. CSS3 Cascading Stylesheet in der Version 3 ist eine beschreibende Sprache, welche das Aussehen von Elementen (in diesem Fall HTML-Elementen) definiert HTML5 Die Hypertext Metalanguage in der Version 5 ist eine beschreibende Sprache, die vorallem in der Webprogrammierung verwendet wird. instrumentelle/operante Konditionierung In der Alltagssprache ”Lernen durch Belohnung”. Beschreibt das Prinzip, dass die Häufigkeit eines zufälligen Verhaltens in Zukunft durch seine Konsequenzen nachhaltig verändert wird. Javascript Javascript ist eine interpretierte Programmiersprache, die vor allem in der Webprogrammierung verwendet wird. Kognitivistische Pädagogik Der Kognitivismus vertritt das Modell, dass Bildung an den Aufbau mentaler Modelle und Schemata gekoppelt sind und nicht nur durch stures Fakten-Lernen erworben werden kann. Konstruktivistische Pädagogik Die konstruktivistische Pädagogik besagt, dass im Lernprozess eine eigene Repräsentation der Welt geschaffen wird. Korpus Linguistik Ein Bereich der Sprachwissenschaft, wo Sprache in ihren verschiedenen Erscheinungsformen anstatt deren Aufbau untersucht wird. Modellernen Lernen am Modell bezeichnet das Lernen durch an Vorbildern beobachtetem Verhalten. Subversion (SVN) Subversion ist ein weit verbreitetes, zentrales Versionierungs-System. 60 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Literaturverzeichnis [Ban65] Albert Bandura, Influence of models reinforcement contingencies on the acquisition of imitative response, Tech. report, Stanford University, 1965. [Ber11] Barnett Berry, Teaching 2030, Teachers College Press, New York, 2011. [Bon06] Curtis Bonk, The handbook of blended learning, Pfeiffer, San Diego, 2006. [CRC07] Alan Cooper, Robert Reimann, and David Cronin, About face 3: The essentials of interaction design, 3rd ed., Wiley, 5 2007. [Ebb92] Hermann Ebbinghaus, Ueber das gedaechtnis : Untersuchungen zur experimentellen psychologie, Wiss. Buchges, Darmstadt, 1992. [Fri09] Catherine Fritz, Independent research report: outcomes of using phase-6, Tech. report, Lancaster University, 2009. [Kuh08] Annette Kuhlmann, Innovative lernsysteme: Kompetenzentwicklung mit blended learning und social software, Springer, Berlin, 2008. [Lei03] Sebastian Leitner, So lernt man lernen. der weg zum erfolg., Herder, Freiburg, City, 2003. [Mac92] Scott MacKenzie, Fitts’ law as a research and design tool in human computer interaction, Tech. report, University of Toronto, 1992. [Mei04] Johanna Meixner, Angewandter konstruktivismus : ein handbuch fuer die bildungsarbeit in schule und beruf, Shaker, Aachen, 2004. [Rap11] Paul Raper, Inverview about elearning now and in the future, (Das vollständige Interview ist im Anhang A abgedruckt), 2011. [Rev10] Vorstand Revoca, Vorstandssitzung januar, 2010. [Tri08] Dr. J. L. M. Trim, Europäisches sprachenportfolio, Tech. report, LINGUA Programm. Europäische Kommission, 2008. [Wil10] Prof. Daniel Willingham, Classroom teaching in 2030, 2010. 61 Sheet1 Alternativen Programmierumgebung Revoca 5.5 Thursday, September 30, 2010 Es werden nur Umgebungen in Betracht gezogen, welche das Muss-Kriterium “iPad-Kompatibel” erfüllen. Web Revolution Nativ Appcelerator Titanium HTML, CSS, Javascript (AJAX) RunRev & Rev Mobile (Alpha) GNUstep Objective-C Programmiersprachen / Scriptsprachen HTML, Javascript, CSS, PHP, Ruby, Python HTML, CSS, AJAX revTalk Objective-C, Cocoa/GNUstep Objekt-Orientierte-Features Javascript JS is ~50% OO ~50% OO 100% OO GUI-Features Typisierung Nativ dynamisch dynamisch dynamisch statisch Plattformen Win, Mac, Linux Win, Mac, Linux Win, Mac, Linux Win, Mac, Linux sehr unberechenbar, wegen verschiedenen Browsern ausser Medien-Fähigkeit über Quicktime, nahezu keiner sehr hoch, wegen Abhängigkeit zu Mobile-Plattformen Portierungsaufwand mobile iPad, iPhone, Android, (Blackberry) ausser Platz-relevante Faktoren der GUI fast null alle (Browser) iPad, iPhone, WinCE, Maemo klein iPad, iPhone sehr hoch Bewährte Technologie ca. 4000 Apps >1 Mio Apps Lizenz Kosten Apache License (OpenSource) Audio Playback Video Playback Portierungsaufwand (Desktop) nahezu keiner (ausser Dateisystem-Operationen) < 100 Apps (Mobile in Beta) > 1000 Apps GPL / free 0 ca. 20chf/m f. Server commercial, lizenz-limitiert + 800$ für revMobile GPL, freeware 0-1000 chf integrated integrated Browser spezifisch Browser spezifisch integriert noch nicht für mobile Geräte z. T. Implementierungen kopierbar z. T. Implementierungen kopierbar Https Support Ja (Titanium-Framework) Über Server-Backend Ja, über Javascript wegen Security-Beschränkung nein Der Bug mit der HTTPS-Library ist noch nicht gefixt Ja (O-C-Library) Bemerkung Ruby, Python und PHP lassen sich nur in Desktop-Apps benutzen, Revoca würde somit in Javascript auf dem Titanium Framework aufsetzen Der Benutzer müsste durch die AJAXTechnologie nur zum Laden von Übungen Gerade eben released unter dem Namen und Speichern von Lernständen online sein. Livecode Fazit Durch die dynamisch, schwach typisierte Programmiersprache JavaScript und der einfachen GUI-Gestaltung mit HTML/CSS vereint dieses Framework die Vorteile der Desktop- und Web-Programmierung. Durch die Streichung der “Only-Native” Klausel durch Apple vor 10 Tagen, steigt auch die Wahrscheinlichkeit mit dem iPad-App in den Apple-Appstore zu kommen (war vorher auch aber schwieriger möglich) und Revoca so ohne Hacken des iPads zu verteilen. Durch die Unterstützung aller nötigen Features (S3, Video, Native-GUI) und der bereits erfahrenen Community bietet Titanium meiner Meinung die optimale Plattform für unser Projekt. → WIRKLICH BEDINGUNGSLOSES JA Aufgrund der bestehenden Codebasis und von der Sprachkonstruktion eine gut Auch wenn die Objektorientierung designte Lösung, Der nicht funktionierende und die statische Typisierung Die Cross-Browser Kompatibilität HTTPS-Stack und die fehlende Videosehr Fehler-Verhindernd wirken, erfordert trotz der sehr flexiblen und für Funktionalität der Mobile-Lösung schiebt ist durch den erhöhten den Benutzer einfachen Lösung diese Lösung aber ins Aus. Ein weiterer Entwicklungsaufwand eine wahrscheinlich zuviel Debug-Zeit und es Risikofaktor ist die Neuigkeit des Mobile- dynamische Sprache in diesem ist nicht sichergestellt das überhaupt alle Frameworks, darum Fall klar flexibler und besser Probleme mit Browsern behoben werden → GERINGER PORTIERUNGSAUFWAND geeignet. können. ABER ERFÜLLT DIE ANFORDERUNGEN → ZEITLICH NICHT → NEIN, DA ÄRGER FÜR DEN BENUTZER NICHT REALISIERBAR Page 1 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Projektmanagement Damit der Faktor Zeit nicht ausser Kontrolle gerät, wurde ein grober Projektplan erstellt. Er ist auf der nächsten Seite als Abbildung 6.1 abgedruckt. Dieser wurde vor Arbeitsbegin festgelegt und reicht von der ersten Besprechung in den Semesterferien bis zur Abgabe am 10. Juni 2011. Leider stand die Online-Schaltung der Fragebögen während beinahe 4 Wochen aufgrund von Abstimmungsverhandlungen mit dem Industriepartner still, wodurch wie im Plan in blau zu erkennen, der Plan gegen Ende der Arbeit immer dichter wurde. Diese 4 Wochen konnten jedoch für die ausgedehnten Literaturrecherchen trotzdem sinnvoll genutzt werden, wodurch der Verlust einiger Fragebogen-Antworten wieder Wett gemacht werden konnte. Die Verschiebung der rot markierten Alpha- und Beta-Version wurden durch die Umstellung von einer Amazon S3-Schnittstelle auf eine eigene HTTPS-Schnittstelle ausgelöst. Es konnte jedoch trotzdem eine lauffähige Version mit ein paar Funktionslücken auf der CD beigelegt werden. Da wöchentlich ein Treffen stattfand, sind diese auf dem Plan nicht eingetragen. 63 Optimierung der Revoca Lernsoftware Bachelorarbeit FS2011 InIT ZHAW Abbildung 6.1.: Projektplan 64