Parameter interaktiver Algorithmenvisualisierung für die Programmierausbildung

Hintergrund

In der Informatik beschreiben Algorithmen Lösungsstrategien für wohldefinierte Problemfälle, z.B. bei der Suche in oder der Sortierung von Inhalten einer Datenstruktur. Die Vermittlung von Wissen über relevante Algorithmen und der Erwerb von Kompetenzen zur Umsetzung dieser in eigenen Programmen ist wesentlicher Teil der Programmierausbildung. Bereits in einführenden Programmierkursen werden daher die unterschiedlichen Funktionsweisen der Algorithmen und deren divergierenden Zeit- und Speichereffizienzen thematisiert. Ablaufvisualisierungen dieser Algorithmen sind eine häufig genutztes didaktische Mittel. Die Effektivität dieser Lernmethode wurde bereits von zahlreichen Arbeiten erforscht und nachgewiesen [1][2]. Interaktivität ist dabei ein entscheidender Faktor für die Effektivität einer Algorithmenvisualisierung (AV) [3][4]. Diese kann unterschiedlich stark ausgeprägt und durch verschiedene Parameter gesteuert werden [?]. Eine übergreifende Einordnung dieser Parameter hinsichtlich ihrer Auswirkungen auf den Lernerfolgt fehlt [?].

Zielsetzung der Arbeit

Diese Arbeit untersucht am Beispiel von Visualisierungen von Sortieralgorithmen die Auswirkungen unterschiedlicher Interaktionsansätze auf kurzfristig messbare Lerneffekte. Ziel ist die Identifikation besonders geeigneter Interaktionsparameter und -ansätze für den Einsatz in einführenden Programmierkursen. Hierfür werden didaktisch sinnvolle und software-ergonomische Parameter und Merkmale einer interaktiven AV erarbeitet und anschließend auf die Implementierung der Visualisierungen mit JavaScript angewandt. In einer vergleichenden Studie soll die Effektivität der unterschiedlichen Systeme insbesondere für die Programmierausbildung erhoben werden.

Konkrete Aufgaben

Sammlung einschlägiger Literatur und verwandter Arbeiten in Form eines systematischen Literaturreviews

Erarbeitung didaktisch sinnvoller und software-ergonomischer Interaktivitätsparameter für die Visualisierung von Sortieralgorithmen

Implementierung einer eigenen AV mit variierenden Interaktivitätsparametern auf Basis der Literaturarbeit

Entwurf, Durchführung und Auswertung einer Studie zur Messung des (kurzfristigen) Lerneffekts der implementierten AV

Erwartete Vorkenntnisse

Programmierkenntnisse in der Sprache Java

Kenntnisse über Sortieralgorithmen

Weiterführende Quellen

[1] Daniela Chudá. (2007). Visualization in education of theoretical computer science. In Proceedings of the 2007 international conference on Computer systems and technologies (CompSysTech '07). Association for Computing Machinery, New York, NY, USA, Article 84, 1–6. DOI:https://doi.org/10.1145/1330598.1330687

[2] Rößling, G., Ackermann, T. & Kulessa, S. (2006). Visualisierung von Algorithmen und Datenstrukturen. In Mühlhäuser, M., Rößling, G. & Steinmetz, R. (Hrsg.), DeLFI 2006, 4. e-Learning Fachtagung Informatik, 11. - 14. September 2006, in Darmstadt, Germany. Bonn: Gesellschaft für Informatik e.V.. 231-242.

[3] Christopher D. Hundhausen, Sarah A. Douglas, John T. Stasko. (2002). A Meta-Study of Algorithm Visualization Effectiveness. In Journal of Visual Languages & Computing, Volume 13, Issue 3, 259-290, ISSN 1045-926X, DOI:https://doi.org/10.1006/jvlc.2002.0237.

[4] Scott Grissom, Myles F. McNally, and Tom Naps. (2003). Algorithm visualization in CS education: comparing levels of student engagement. In Proceedings of the 2003 ACM symposium on Software visualization (SoftVis '03). Association for Computing Machinery, New York, NY, USA, 87–94. DOI:https://doi.org/10.1145/774833.774846