arbeiten:untersuetzung_des_code-verstaendnis_bei_programmier-novizen_durch_kontext-nahe_visualsierung_von_call-hierachien

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
arbeiten:untersuetzung_des_code-verstaendnis_bei_programmier-novizen_durch_kontext-nahe_visualsierung_von_call-hierachien [19.07.2019 11:32] – [Data-Entry] Alexander Bazoarbeiten:untersuetzung_des_code-verstaendnis_bei_programmier-novizen_durch_kontext-nahe_visualsierung_von_call-hierachien [01.10.2019 12:23] Alexander Bazo
Zeile 1: Zeile 1:
-====== Untersützung des Code-Verständnis bei Programmier-Novizen durch kontext-nahe Visualsierung von Call-Hierachien ======+====== Unterstützung des Quellcodeverständnisses bei Programmiernovizen durch kontextnahe Visualisierung von Methodenaufrufen ======
  
 ---- dataentry StudentischeArbeit ---- ---- dataentry StudentischeArbeit ----
-Thema                     : Untersützung des Code-Verständnis bei Programmier-Novizen durch kontext-nahe Visualsierung von Call-Hierachien+Thema                     : Unterstützung des Quellcodeverständnisses bei Programmiernovizen durch kontextnahe Visualisierung von Methodenaufrufen
 Art_thesistypes           : BA Art_thesistypes           : BA
-Betreuer_thesisadvisor    : Alexander Bazo +BetreuerIn_thesisadvisor    : Alexander Bazo 
-Student                   : Jakob Schönicke +BearbeiterIn                   : Jakob Schönicke 
-Professor_thesisprofessor +ErstgutachterIn_thesisprofessor  
 +ZweitgutachterIn_secondthesisprofessor : N.N.
 Status_thesisstate        : in Bearbeitung Status_thesisstate        : in Bearbeitung
 Stichworte_thesiskeywords : Software Engineering, Programming Education, Assistance Systems Stichworte_thesiskeywords : Software Engineering, Programming Education, Assistance Systems
Zeile 14: Zeile 15:
 Antrittsvortrag_dt        : 2019-09-02 Antrittsvortrag_dt        : 2019-09-02
 Abschlussvortrag_dt       :  Abschlussvortrag_dt       : 
-Ende_dt                   : +Abgabe_dt                   :  
 +Textlizenz_textlicense : Unbekannt 
 +Codelizenz_codelicense : Unbekannt
 ---- ----
 +
 +
  
  
  
 === Hintergrund === === Hintergrund ===
- +Bei dem Programmieren einer Lösung für eine bestimmte Aufgabe teilt man die entsprechende Routine meist in Subroutinen auf, die dann eventuell wieder weiter aufgeteilt werden. Der Aufruf der Routinen bildet nun eine Baumstruktur oder einen Graphen. Alle Subroutinen aus derselben Datei werden in einem herkömmlichen Editor allerdings  linear untereinander angezeigt. Wenn man nun den Programmverlauf nachvollziehen will, muss man gegebenenfalls viel durch die Datei navigieren um die entsprechenden Subroutinen zu finden, dann wieder zurück zur Ursprungsroutine zu kommen und eine weitere Subroutine zu untersuchen. Diese fehlende Übersicht erschwert es fremden Code oder älteren eigenen Code zu verstehen. Insbesondere Programmieranfänger stellt das vor eine große Herausforderung.
--+
  
 === Zielsetzung der Arbeit === === Zielsetzung der Arbeit ===
- +Es soll ein Plugin für die Entwicklungsumgebung IntelliJ entwickelt werden, dass die Call-Hierarchie der Methoden in einer Java-Klasse visualisiert. Das Zielgruppe sind dabei Programmieranfänger, die bereits mit der Programmiersprache Java vertraut sind, aber erst wenig Routine besitzen. Dementsprechend soll die Benutzung möglichst einfach sein und wenig Vorkenntnisse voraus setzten. Die Visualisierung soll eng mit dem Code verzahnt sein, damit die Nutzer die Verbindung zwischen dem Code und der logischen Struktur des Programmes verstehen.
--+
  
 === Konkrete Aufgaben === === Konkrete Aufgaben ===
- +  * Ausarbeitung eines geeigneten Konzepts zur Visualisierung einer Call-Hierarchie 
--+  * Implementierung dieser Visualisierung als Plugin für die IntelliJ-Plattform  
 +  * Evaluation des Plugins mit Programmier-Novizen
  
 === Erwartete Vorkenntnisse === === Erwartete Vorkenntnisse ===
Zeile 38: Zeile 42:
  
 - -
-