Entwicklung von e-Learning Fragetyp-Plugins für interaktive Programmieraufgaben
- Art: Diplomarbeit
- Autor: Süreç Özcan
- Abgabedatum: Dezember 2008
- Umfang: 177 Seiten
- Dateigröße: 14,6 MB
- Note: 1,3
- Institution / Hochschule: Freie Universität Berlin Deutschland
- Bibliografie: ca. 47
- ISBN (eBook): 978-3-8366-2623-1
- Sprache: Deutsch
- Prämierung:
- Arbeit zitieren: Özcan, Süreç Dezember 2008: Entwicklung von e-Learning Fragetyp-Plugins für interaktive Programmieraufgaben, Hamburg: Diplomica Verlag
- Schlagworte: e-Learning, Moodle, interaktiv, Programmieren, Programmieraufgabe
38,00 €
PDF-eBook Download: 38,00 €
Diplomarbeit von Süreç Özcan
Einleitung:
Im Rahmen dieser Diplomarbeit verbinde ich Programmieraufgaben der Informatik mit interaktiven Fragetypen der e-Learning-Umgebung Moodle. Hierfür erstelle ich zunächst ein einführendes Experiment zum Lösen interaktiver Programmieraufgaben innerhalb der Moodle-Umgebung und führe dieses mit Studenten durch. Daraufhin arbeite ich eine recherchegestützte Suche nach geeigneten Fragetypen aus. Aus diesen Analysen resultiert ein Schema zur Erstellung von Programmieraufgaben in e-Learning-Umgebungen. Weiterhin stellt sich in Verbindung mit diesem Schema heraus, dass sich die Quelltext-, Multiple-Choice-, Regulärer-Ausdruck-Kurzantwort- und JUnit-Fragetypen für die Umsetzung von Testaufgaben im Programmierunterricht eignen. Diese vier Fragetypen werden im Rahmen der Arbeit von mir in Moodle implementiert, so dass nun neben dem Lesen auch das Schreiben von Programmieraufgaben in dieser Umgebung unterstützt wird. Zusätzlich wird durch die Einführung obigen Schemas eine geeignete Methodik zur Erstellung sowie Darstellung von Programmieraufgaben in e-Learning-Umgebungen ermöglicht.
Inhaltsverzeichnis:
| Abbildungsverzeichnis | xi | |
| Tabellenverzeichnis | xiii | |
| Abkürzungsverzeichnis | xv | |
| 1. | Einleitung | 1 |
| 1.1 | e-Learning und Moodle | 1 |
| 1.2 | Lesen und Schreiben von Programmen | 2 |
| 1.3 | Ziele und Aufbau der Diplomarbeit | 3 |
| 2. | Einführendes Experiment | 7 |
| 2.1 | Umsetzung in Moodle | 8 |
| 2.1.1 | Allgemeines | 8 |
| 2.1.2 | Aufbau von Kursen in Moodle | 9 |
| 2.1.3 | Aktivitätsauswahl für Programmieraufgaben | 9 |
| 2.1.4 | Analyse der Aufgaben des Papier-Experiments | 12 |
| 2.1.5 | Untersuchung der Quelltext-Einbettung | 13 |
| 2.1.6 | Untersuchung von Moodle-Fragetypen für Papier-Experiment-Aufgaben | 14 |
| 2.2 | Ergebnisse der Umfrage | 16 |
| 2.2.1 | Aarhus-Experiment | 16 |
| 2.2.2 | FU-Experiment | 21 |
| 2.3 | Analyse und Auswertung des einführenden Experiments | 24 |
| 3. | Suche und Analyse von Fragetypen | 31 |
| 3.1 | Suche und Analyse | 31 |
| 3.1.1 | Beschreibung | 31 |
| 3.1.2 | Drag&Drop | 32 |
| 3.1.3 | Freitext | 33 |
| 3.1.4 | Hotspot | 33 |
| 3.1.5 | Junit | 34 |
| 3.1.6 | Kurzantwort | 35 |
| 3.1.7 | Regulärer-Ausdruck-Kurzantwort | 36 |
| 3.1.8 | Numerisch | 37 |
| 3.1.9 | Berechnung | 37 |
| 3.1.10 | Lückentext | 37 |
| 3.1.11 | Multiple Choice | 39 |
| 3.1.12 | Wahr/Falsch | 40 |
| 3.1.13 | Zuordnung | 41 |
| 3.1.14 | Zufällige Zuordnungsfragen mit kurzen Antworten | 42 |
| 3.2 | Entscheidungen und Zusammenfassung | 42 |
| 4. | Systemanalyse und Anforderungen | 45 |
| 4.1 | Moodle-Softwarearchitektur | 45 |
| 4.2 | Fragetyp-Template | 48 |
| 4.3 | Moodle-Fragetyp-Architektur | 50 |
| 4.4 | DB-Schema zu Fragetypen | 52 |
| 4.5 | Anforderungen an einzelne Fragetypen | 58 |
| 4.5.1 | Quelltext-Fragetyp | 58 |
| 4.5.2 | Quelltext-Multiple-Choice-Fragetyp | 63 |
| 4.5.3 | Quelltext-Regulärer-Ausdruck-Kurzantwort-Fragetyp | 65 |
| 4.5.4 | Quelltext-JUnit-Fragetyp | 66 |
| 4.5.4.1 | Lehrenden-Schnittstelle | 67 |
| 4.5.4.2 | Lernenden-Schnittstelle | 72 |
| 5. | Entwicklung in Moodle | 75 |
| 5.1 | Einstiegshürden | 75 |
| 5.2 | Schema zur Darstellung von Programmieraufgaben | 76 |
| 5.3 | Quelltext | 76 |
| 5.3.1 | SW-Design | 76 |
| 5.3.2 | Lehrenden-Schnittstelle | 83 |
| 5.3.3 | Lernenden-Schnittstelle | 84 |
| 5.3.4 | Hürden während der Umsetzung | 85 |
| 5.4 | Quelltext-Multiple-Choice | 87 |
| 5.4.1 | SW-Design | 87 |
| 5.4.2 | Lehrenden-Schnittstelle | 91 |
| 5.4.3 | Lernenden-Schnittstelle | 92 |
| 5.4.4 | Hürden während der Umsetzung | 92 |
| 5.5 | Quelltext-Regulärer-Ausdruck-Kurzantwort | 94 |
| 5.5.1 | SW-Design | 94 |
| 5.5.2 | Lehrenden-Schnittstelle | 96 |
| 5.5.3 | Lernenden-Schnittstelle | 98 |
| 5.5.4 | Hürden während der Umsetzung | 99 |
| 5.6 | Quelltext-Junit | 99 |
| 5.6.1 | SW-Design | 99 |
| 5.6.2 | Lehrenden-Schnittstelle | 106 |
| 5.6.3 | Lernenden-Schnittstelle | 108 |
| 5.6.4 | Darstellung der Ergebnisse | 111 |
| 5.6.5 | Hürden während der Umsetzung | 113 |
| 5.6.6 | Erweiterungsvorschläge | 115 |
| 6. | Plugin-Evaluierung | 117 |
| 6.1 | Eigene manuelle Prüfung | 117 |
| 6.1.1 | Aufgedeckte Fehler | 118 |
| 6.1.2 | Rückschlüsse | 123 |
| 6.2 | Manuelle Prüfung mit Testpersonen | 123 |
| 6.2.1 | Aufgedeckte Fehler der Lernenden-Testgruppe | 124 |
| 6.2.2 | Aufgedeckte Fehler der Lehrenden-Testgruppe | 126 |
| 6.2.3 | Erweiterungsvorschläge | 127 |
| 6.2.4 | Rückschlüsse | 129 |
| 7. | Zusammenfassung | 131 |
| 7.1 | Fazit | 131 |
| 7.1.1 | Ziele | 131 |
| 7.1.2 | Erkenntnisse | 132 |
| 7.2 | Ausblick | 134 |
| Literaturverzeichnis | 137 | |
| A. | Zugangsdaten | 143 |
| B. | Einführendes Experiment | 145 |
| B.1 | Umsetzung in Moodle | 145 |
| B.1.1 | Einführung | 145 |
| B.1.2 | Themenblock 1 | 146 |
| B.1.3 | Themenblock 2 | 146 |
| B.1.4 | Themenblock 3 | 147 |
| B.1.5 | Themenblock 4 | 149 |
| B.1.6 | Themenblock 5 | 150 |
| B.2 | Durchführungen | 151 |
| B.2.1 | Fakten über die Durchführungen | 151 |
| B.2.2 | Vorbereitungen zu den Durchführungen | 152 |
| B.2.3 | Probleme während der Durchführungen | 152 |
| B.3 | Ergebnisse der Umfrage | 154 |
| B.3.1 | Aarhus-Experiment | 154 |
| B.3.2 | FU-Experiment | 158 |
| B.4 | Analyse und Auswertung des einführenden Experiments | 161 |
| B.4.1 | Analyse der Experimentumsetzung | 162 |
| B.4.2 | Analyse der Durchführungsprobleme | 162 |
| B.4.3 | Ergebnisanalyse der Umfrage | 163 |
| C. | Datenbankschema von Tests | 165 |
| D. | Entwicklung der Plugins | 167 |
| D.1 | Debugger-Konfigurationen | 167 |
| D.2 | Installationsanleitung des Filters zur Syntaxhervorhebung | 167 |
| E. | Fehlersuche und –behebung | 171 |
| E.1 | Manuelle Prüfung mit Testpersonen | 171 |
| E.1.1 | Lernenden-Testgruppe | 171 |
| E.1.1.1 | Test 1 | 171 |
| E.1.1.2 | Test 2 | 172 |
| E.1.2 | Lehrenden-Testgruppe | 173 |
| E.1.2.1 | Test 1 | 173 |
| E.1.2.2 | Test 2 | 174 |
| E.1.2.3 | Test-unabhängig | 174 |
| F.1 | Einführendes Aarhus-Experiment aus Kapitel 2 | 177 |
| F.2 | Einführendes FU-Experiment aus Kapitel 2 | 178 |
| F.3 | Implementierte Plugins aus Kapitel 5 | 178 |
| F.4 | Kurs für manuelle Prüfung mit Testpersonen aus Kapitel 6.2 | 178 |
Textprobe:
Kapitel 3, SUCHE UND ANALYSE VON FRAGETYPEN: in der Literatur gefunden werden können und ich mich im Rahmen dieser Arbeit für die Umsetzung der ersteren Fragetypen aus der Prioritätenliste der Umfrage entscheide, verzichte ich auf die Umsetzung des Hotspot-Fragetypen. Dennoch ist er für zukünftige Arbeiten sicherlich von Interesse. Hierzu kann der Image target-Fragetyp von Interesse sein, der von Drittentwicklern als Zusatz-Plugin angeboten wird. Auch ein sogenannter Multiple Choice with Image Hot Spot- Rendering-Fragetyp² soll unter Entwicklung eines Drittentwicklers sein, der ebenfalls in Betracht gezogen werden könnte.
Kapitel 3.1.5, Junit: Idee Zu einer oder mehreren vorgegebenen Klassen und Methoden sollen Methoden implementiert oder ergänzt werden. Lernende können vor dem Abschicken der Ergebnisse ihren Quelltext ausführen und auf syntaktische Fehler hin überprüfen. Bei der Abgabe des Tests wird die Implementierung durch JUnit-Tests überprüft und automatisch bewertet.
Analyse Dieser Fragetyp ist in Moodle bisher nicht enthalten. Durch meine Analyse der standardmäßig in Moodle enthaltenen Fragetypen hat sich herausgestellt, dass alle Fragetypen, die eine automatische Bewertung ermöglichen, nur das Lesen von Programmen fördern. Das Schreiben von Programmen hingegen kann in Moodle durch den JUnit-Fragetypen erweitert werden. Auf die Wichtigkeit vom Schreiben von Programmen wurde bereits in der Einleitung im Abschnitt Lesen und Schreiben von Programmieraufgaben (vgl. Kapitel 1.2) eingegangen.
Einen der ersten dokumentierten Versuche machte Reek durch das TRY-System, welches für SunOS (Version 3.4) entwickelt wurde. Bereits zu diesen Zeiten stellt Reek Vorteile solch eines Fragetypen für Lehrende und Lernende fest. Auch das erlaubte sofortige Wiederholen von fehlerhaften Einsendungen zum Üben von Programmierung unterstreicht Reek als ein positives Ergebnis.
Das BOSS-System an der Warwick-Universität kompiliert und führt die Programme Lernender mit Testdaten aus, bewertet jedoch nicht die Abgabe automatisch. Die Möglichkeit, Programme mit Feedback zu testen, wurde von Lernenden geschätzt, wenn auch keine direkte motivierende Wirkung zu erkennen ist. Des Weiteren schreiben Schwieren et al. Folgendes: A typical form of e-learning application comprises exercise submission and assessment systems that allow students to work on assignments whenever and where they want (i.e., dislocated, asynchronous work). In basic computer science courses, programming exercises are widely used and courses usually have a very large number of participants. However, there is still no efficient way for supporting tutors to correct these exercises, as experience has shown that correction (and, beyond that, automatic grading) are difficult and time consuming.
Kapitel 3.1, SUCHE UND ANALYSE: In diesem Zusammenhang haben Schwieren et al. die xLx-Plattform entwickelt, die sich zur automatischen Bewertung von Java-Programmieraufgaben an JUnit anlehnt. Auch Mandal et al. haben solch einen ähnlichen Fragetypen entwickelt. Jlint3 und JAMTester 4 sind weitere Programme, die Java-Programme testen und bewerten. Diese beispielhaften Referenzen unterstützen die Entwicklung eines JUnit-Fragetypen in Moodle.
Auch für Moodle wurde im Rahmen des Google Summer of Code 2007 ein Plugin namens EPAILE entwickelt. Durch die Verwendung von DOMJudge sollen verschiedene Programmiersprachen automatisch kompilierbar und bewertbar sein. Hierbei ist allerdings die direkte Eingabe von Quelltext nicht möglich, stattdessen müssen Aufgaben als Datei abgegeben werden. Des Weiteren wurde dieses Plugin im Aufgabenmodul von Moodle und nicht im Testmodul implementiert. Aus diesen Gründen und wegen der schlechten Verfügbarkeit des Plugins (keine Downloadmöglichkeit über die Moodle-Seiten, keine dokumentierte Verwendung seitens der Moodle-Community), habe ich mich gegen seine Verwendung entschieden.
Die positive Resonanz seitens Lernender bestätigt in der Umfrage des einführenden Experiments durch das Belegen des zweiten Platzes die Wichtigkeit solch eines Fragetypen. Zugleich kann durch dessen Verwendung teilweise der Lückentext-Fragetyp (siehe 3.1.10) abgedeckt werden, indem bspw. gezielt nur Teile von Quelltext erfragt werden. Lückentext-Fragen im herkömmlichen Sinne können natürlich nicht vollständig abgedeckt werden, da sie nicht durch JUnit überprüft werden können.
Kapitel 3.1.6, Kurzantwort: Idee Der Kurzantwort-Fragetyp ist standardmäßig in Moodle enthalten. Zu einer Frage geben Lernende ein Wort, eine Zahl oder einen kurzen Satz ein. Die Antworten werden mit vorgegebenen richtigen Antworten seitens Lehrender zeichenweise verglichen. Selbst Groß- und Kleinschreibungen können zu Fehlern führen, wird die Option „Groß-/Kleinschreibung beachten" nicht ausgewählt. Es können mehrere richtige Antworten mit verschiedenen Bewertungen erstellt werden, bspw. bezüglich der Groß-/Kleinschreibung. Der zeichenweise Vergleich der Antworten kann aufgelockert werden, indem für eine beliebige Zeichenkette der Asterisk (*) als Wildcard verwendet wird. Nehmen wir bspw. einen Algorithmus, in der die Ausgabe mit „Lisa“ beginnt, dann eine zufällig erzeugte Zeichenkette der Länge null bis zehn folgt und mit „Tom“ endet. Somit kann zu einer Frage eine Ausgabefolge zu diesem Algorithmus „Lisa*Tom“ alle Antworten erfassen, die mit „Lisa“ beginnen und mit „Tom“ enden. Analyse Der Kurzantwort-Fragetyp ermöglicht durch Verwendung des vorgestellten Schemas zur Erstellung von Programmieraufgaben die Ergänzung einer richtigen Antwort in Bezug auf einen Quelltext.
38,00 €
PDF-eBook Download: 38,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783836626231
Arbeit zitieren:
Özcan, Süreç Dezember 2008: Entwicklung von e-Learning Fragetyp-Plugins für interaktive Programmieraufgaben, Hamburg: Diplomica Verlag
Schlagworte:
e-Learning, Moodle, interaktiv, Programmieren, Programmieraufgabe



