IDE-integrierte Assistenz- und Lernsysteme zur Untersützung von ProgrammieranfängerInnen beim Erlernen von Debugging-Strategien

Thema:
IDE-integrierte Assistenz- und Lernsysteme zur Untersützung von ProgrammieranfängerInnen beim Erlernen von Debugging-Strategien
Art:
BA
BetreuerIn:
Alexander Bazo
BearbeiterIn:
Tim Eichinger
ErstgutachterIn:
N.N.
ZweitgutachterIn:
N.N.
Status:
ausgeschrieben
Stichworte:
Software Engineering, Softwaretechnik, Lernstysteme
angelegt:
2021-02-25

Hintergrund

Der Begriff Debugging beschreibt das Suchen und Beheben schadhafter Stellen (Bugs) in Computerprogrammen. Debugging gehört dabei zu den wichtigsten Aufgaben von Programmieren und Programmiererinnen die zu diesem Zweck unterschiedliche Methoden einsetzten. Die Fähigkeit zur systematischen Fehleranalyse wird dabei bereits während der Ausbildung, z.B. im Rahmen klassischer Einführungskurse (CS 101) oder konkreten, studentischen Softwareprojekten benötigt. Die Notwendigkeit einer entsprechenden Vermittlung dieser Fähigkeiten im Rahmen der schulischen oder akademischen Ausbildung wurde bereits in zahlreichen Publikationen nachgewiesen [1]. Dabei wurden sowohl grundlegende Untersuchungen studentischen Debugging-Verhaltens vorgenommen [2] als auch

Zielsetzung der Arbeit

Ziel der Arbeit ist es, auf Basis einschlägiger Literatur, ein Plugin für die Android Studio IDE zu implementieren, das ProgrammieranfängerInnen bei der Debugging-Strategie „Logging“ bzw. „Print Debugging“ unterstützt und begleitet. Das Plugin soll dabei nicht nur als Hilfsmittel für das Debugging von Android-Anwendungen dienen, sondern auch als didaktisches Mittel innerhalb der Lehre zur Programmierausbildung benutzt werden können. [Konkrete Forschungsfrage]. Das Plugin soll nach der Implementierung innerhalb des Kurses „Einführung in die Anwendungsentwicklung mit Android“ durch eine Nutzerstudie mit Studierenden evaluiert werden.

Konkrete Aufgaben

  • Recherchieren von Verwandten Arbeiten (v.a. Debugging u. Anwendungsentwicklung) und Tools.
  • Implementierung des Plugins für Android Studio
  • Evaluation des Plugins durch eine Nutzerstudie
  • Schreiben der Arbeit

Erwartete Vorkenntnisse

  • Java (OOP)
  • Android (Andwendungsentwicklung)
  • Fortgeschrittene Erfahrung mit verschiedenen Debugging-Strategien

Weiterführende Quellen

[1] Renée McCauley, Sue Fitzgerald, Gary Lewandowski, Laurie Murphy, Beth Simon, Lynda Thomas & Carol Zander (2008) Debugging: a review of the literature from an educational perspective, Computer Science Education, 18:2, 67-92, DOI: 10.1080/08993400802114581

[3] Chen Li, Emily Chan, Paul Denny, Andrew Luxton-Reilly, and Ewan Tempero. 2019. Towards a Framework for Teaching Debugging. In Proceedings of the Twenty-First Australasian Computing Education Conference (ACE '19). Association for Computing Machinery, New York, NY, USA, 79–86. DOI:https://doi.org/10.1145/3286960.3286970

[3] Laurie Murphy, Gary Lewandowski, Renée McCauley, Beth Simon, Lynda Thomas, and Carol Zander. 2008. Debugging: the good, the bad, and the quirky – a qualitative analysis of novices' strategies. SIGCSE Bull. 40, 1 (March 2008), 163–167. DOI:https://doi.org/10.1145/1352322.1352191