Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
arbeiten:debugging-assistent [25.02.2021 09:42] – eit02435 | arbeiten:debugging-assistent [03.11.2021 14:49] – [Data-Entry] Alexander Bazo | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== IDE-integrierte Assistenz- und Lernsysteme zur Untersützung von ProgrammieranfängerInnen beim Erlernen Debugging-Strategien ====== | + | ====== IDE-integrierte Assistenz- und Lernsysteme zur Untersützung von ProgrammieranfängerInnen beim Erlernen |
---- dataentry StudentischeArbeit ---- | ---- dataentry StudentischeArbeit ---- | ||
- | Thema | + | Thema : IDE-integrierte Assistenz- und Lernsysteme zur Untersützung von ProgrammieranfängerInnen beim Erlernen von Debugging-Strategien |
- | Art_thesistypes | + | Art_thesistypes |
- | BetreuerIn_thesisadvisor | + | BetreuerIn_thesisadvisor |
- | BearbeiterIn | + | BearbeiterIn |
- | ErstgutachterIn_thesisprofessor | + | ErstgutachterIn_thesisprofessor |
- | ZweitgutachterIn_secondthesisprofessor : N.N. | + | ZweitgutachterIn_secondthesisprofessor : Niels Henze |
- | Status_thesisstate | + | Status_thesisstate |
- | Stichworte_thesiskeywords | + | Stichworte_thesiskeywords |
- | angelegt_dt | + | angelegt_dt |
- | Anmeldung_dt | + | Anmeldung_dt |
- | Antrittsvortrag_dt | + | Antrittsvortrag_dt |
- | Abschlussvortrag_dt | + | Abschlussvortrag_dt |
- | Abgabe_dt | + | Abgabe_dt |
- | Textlizenz_textlicense | + | Textlizenz_textlicense |
- | Codelizenz_codelicense | + | Codelizenz_codelicense |
---- | ---- | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
=== Hintergrund === | === Hintergrund === | ||
- | tba | + | 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][3] als auch konkrete Frameworks [4] oder Vorgehensmodelle [5] entworfen. Diese Arbeit kombiniert diese Ansätze mit der Idee, professionelle Entwicklungsumgebungen durch entsprechende Modifikationen für Lernende zugänglicher zu machen und zur konkreten Vermittlung von Methodenkompetenz einzusetzen. |
=== Zielsetzung der Arbeit === | === Zielsetzung der Arbeit === | ||
- | tba | + | Diese Arbeit untersucht die Effektivität unterschiedlich interkativ-gestalteter IDE-Integration zur Vermittlung von Grundlagenwissen im Bereich systematischer Debugging-Strategien. Zu diesem Zweck werden zwei Varianten eines Plugin für die Entwicklungsumgebung *Android Studio* erstellt. Das Plugin leitet die Studierenden bei der Verwendung von *printlining*-basierten Debugging-Ansätzen im eigenen Quellcode an. Neben einer passiven, auf die kontext-nahe Informationsvermittlung beschränkten Variante wird zusätzlich eine interaktive, |
+ | |||
+ | ==== Forschungsfragen ==== | ||
+ | |||
+ | - Wirkt sich eine stärker assistierende Unterstützung von Studierenden positive auf das Erlernen und selbständige Anwenden systematischer Debugging-Strategien aus? | ||
=== Konkrete Aufgaben === | === Konkrete Aufgaben === | ||
- | - tba | + | - Zentrale Literaturthemen sammeln und relevante Arbeiten/ |
- | - tba | + | - Konkreten Vorschlag für die didaktisch sinnvolle Vermittlung einer Debugging-Strategie erarbeiten. |
+ | - Zweistufige Implementierung des Plugins (wenig u. viel Interaktivität) | ||
+ | - Studiendesign planen | ||
+ | - Durchführung der Feldstudie und erheben des kurzfristigen Lerneffekts (ggf. extra Studie) | ||
+ | - Auswertung und Ergebnispräsentation (Schriftliche Ausarbeitung) | ||
=== Erwartete Vorkenntnisse === | === Erwartete Vorkenntnisse === | ||
- | Keine | + | - Java (OOP) |
+ | - Android (Anwendungsentwicklung) | ||
+ | - Fortgeschrittene Erfahrung mit verschiedenen Debugging-Strategien | ||
=== Weiterführende Quellen === | === Weiterführende Quellen === | ||
- | Nach Absprache mit dem Betreuer. | + | [1] Renée McCauley, Sue Fitzgerald, Gary Lewandowski, |
+ | |||
+ | [2] Laurie Murphy, Gary Lewandowski, | ||
+ | |||
+ | [3] S. Fitzgerald, R. McCauley, B. Hanks, L. Murphy, B. Simon and C. Zander, " | ||
+ | |||
+ | [4] Chen Li, Emily Chan, Paul Denny, Andrew Luxton-Reilly, | ||
+ | |||
+ | [5] Paulina Haduong and Karen Brennan. 2018. Getting Unstuck: New Resources for Teaching Debugging Strategies in Scratch (Abstract Only). In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (SIGCSE '18). Association for Computing Machinery, New York, NY, USA, 1092. DOI: | ||