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
arbeiten:untersuetzung_des_code-verstaendnis_bei_programmier-novizen_durch_kontext-nahe_visualsierung_von_call-hierachien [07.06.2019 10:13] – [Data-Entry] Alexander Bazoarbeiten:untersuetzung_des_code-verstaendnis_bei_programmier-novizen_durch_kontext-nahe_visualsierung_von_call-hierachien [07.10.2019 15:45] (aktuell) – [Data-Entry] 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        :  #  
-Status_thesisstate        in Bearbeitung #  +ZweitgutachterIn_secondthesisprofessor : N.N. #  
-Stichworte_thesiskeywords : Software Engineering, Programming Education, Assistance Systems #  +Status_thesisstate                     abgeschlossen #  
-angelegt_dt               : 2019-06-06 #  +Stichworte_thesiskeywords              : Software Engineering, Programming Education, Assistance Systems #  
-Beginn_dt                 :  #  +angelegt_dt                            : 2019-06-06 #  
-Anmeldung_dt              :  #  +Beginn_dt                              :  #  
-Antrittsvortrag_dt         #  +Anmeldung_dt                           :  #  
-Abschlussvortrag_dt       :  #  +Antrittsvortrag_dt                     2019-09-02 #  
-Ende_dt                    +Abschlussvortrag_dt                    :  #  
 +Abgabe_dt                              2019-09-30 #  
 +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 37: Zeile 43:
  
 - -
-